- ベストアンサー
telnetでログインしたときに独自のコマンドのみ使えるようにするには?
市販のルータなどで、telnetでログインすると、普通のbashなどのコマンドは受付けないかわりに、独自のコマンドのみ使えるようになっていますが、あれはどういう仕組みなんでしょう???
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ログインすると使用するシェルとしてbashやtcsh等のシェルではなくて、その独自のコマンドのみが使える独自のシェルが動いているのでは?
その他の回答 (2)
- notnot
- ベストアンサー率47% (4900/10358)
回答No.3
bashを制限モードで起動して、PATHにきってあるディレクトリに独自コマンドだけを入れているのかもしれません。 制限モードについては、man bash で機能を見てください。あるいは、ウェブで↓ http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html#lbCX
質問者
お礼
回答ありがとうございます。 制限モードというのは知りませんでした。 これも便利そうですね。 独自シェルをつくるか,制限モードのbashを使うか、よく考えてから決めたいと思います。
- okg00
- ベストアンサー率39% (1322/3338)
回答No.1
コマンドの多くは/binや/sbinなどにプログラムとして格納されていますので(Windowsの外部コマンドのようなイメージ)、格納されているプログラム自体を絞り込んでいるのでは。もしくは、ユーザ自体がそのプログラムに実行パスを通していない。
質問者
お礼
回答ありがとうございます。 >格納されているプログラム自体を絞り込んでいるのでは。 これは一つの手ですね。参考になります。 >ユーザ自体がそのプログラムに実行パスを通していない。 これだと絶対パスを入れたら実行できてしまうかと思ってちょっと困ってしまいます。
お礼
回答ありがとうございます。 独自のログインシェルを作成するということですか。。。 ちょっとためしに独自のログインシェルをC言語で作ってみたら、確かに動きが同じような感じです。 ただ。一つ気になることがあります。ためしに市販のルータなどでctrl+Cを入れると何かの文字が出力されるのですが、自作のだとそのままtelnetから抜けてしまうのです。 bashだったら.bashrcなどでstty設定ができたのですが、独自シェルでも隠しファイルみたいなものは作れるのでしょうか???