• ベストアンサー

telnetでログインしたときに独自のコマンドのみ使えるようにするには?

市販のルータなどで、telnetでログインすると、普通のbashなどのコマンドは受付けないかわりに、独自のコマンドのみ使えるようになっていますが、あれはどういう仕組みなんでしょう???

質問者が選んだベストアンサー

  • ベストアンサー
  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

ログインすると使用するシェルとしてbashやtcsh等のシェルではなくて、その独自のコマンドのみが使える独自のシェルが動いているのでは?

BIGMON
質問者

お礼

回答ありがとうございます。 独自のログインシェルを作成するということですか。。。 ちょっとためしに独自のログインシェルをC言語で作ってみたら、確かに動きが同じような感じです。 ただ。一つ気になることがあります。ためしに市販のルータなどでctrl+Cを入れると何かの文字が出力されるのですが、自作のだとそのままtelnetから抜けてしまうのです。 bashだったら.bashrcなどでstty設定ができたのですが、独自シェルでも隠しファイルみたいなものは作れるのでしょうか???

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4845/10256)
回答No.3

bashを制限モードで起動して、PATHにきってあるディレクトリに独自コマンドだけを入れているのかもしれません。 制限モードについては、man bash で機能を見てください。あるいは、ウェブで↓ http://www.linux.or.jp/JM/html/GNU_bash/man1/bash.1.html#lbCX

BIGMON
質問者

お礼

回答ありがとうございます。 制限モードというのは知りませんでした。 これも便利そうですね。 独自シェルをつくるか,制限モードのbashを使うか、よく考えてから決めたいと思います。

  • okg00
  • ベストアンサー率39% (1322/3338)
回答No.1

コマンドの多くは/binや/sbinなどにプログラムとして格納されていますので(Windowsの外部コマンドのようなイメージ)、格納されているプログラム自体を絞り込んでいるのでは。もしくは、ユーザ自体がそのプログラムに実行パスを通していない。

BIGMON
質問者

お礼

回答ありがとうございます。 >格納されているプログラム自体を絞り込んでいるのでは。 これは一つの手ですね。参考になります。 >ユーザ自体がそのプログラムに実行パスを通していない。 これだと絶対パスを入れたら実行できてしまうかと思ってちょっと困ってしまいます。

関連するQ&A

  • TELNETコマンド

    Windows95のTELNETコマンドを使っています。 ホスト先を選択してIdとパスワードを入力してログインするまではいいのですが、 何も入力しないでいると1分もしないうちに 「ホストへの接続が失われました。」 というダイヤログボックスが現れて切断されてしまいます。 TELNETの待ち時間とかの設定がどこかにあるのかと思っていろいろ探してみましたが分かりません。 TELNETって元々こういうものなのでしょうか。 ネットへの接続環境はルータ経由ISDNでプロバイダに接続しています。 また今までTELNETを使う機会が少なかったのであまりなかったので問題なかったのですが、 最近増えて来まして不便とストレスを感じてる状況です。 ですから、もしTELNETコマンドよりも快適な通信ソフトがあれば試してみてもいいかと思っています。 ちなみにWindows95のFTPコマンドでも何も入力しないでいると自動的に切断されるのですが、 TELNETほど時間が短くないので支障なく便利に使っています。 どなたか良いアドバイスをよろしくお願いいたします。

  • Telnetにログインできない

    お世話になります。 Windows Server 2008 R2のTelnetで質問です。 サーバーマネージャーからTelnetサーバー、クライアントをインストールして、コマンドプロンプトで接続のテストをしようとしたら、「ログインできませんでした。」と表示されてしまいました。 ログインしようとしたアカウントは、「Administrators」のアカウントで、現在、Windowsにログオンしているアカウントです。 ちなみに、「Administrator」ではログオンできました。 「Administrator」でログインできるので、特に支障はなのですが、今後のためにご教授願います。 よろしくお願いします。

  • 管理者ログインでコマンドプロンプト(VISTA)にてtelnet行うも

    管理者ログインでコマンドプロンプト(VISTA)にてtelnet行うも、loginの入力はできるがpasswordはkey入力コピペ右クリすべてダメでした。 コンパネからWindowsの機能でTelnetクライアント済みです

  • telnetをスクリプトで実行する

    WindowsXPからルーターにtelnetでログインし、 ポリシーを変更する。といった操作を、バッチファイルを使用し、 自動化できないかと考えています。 telnetの自動ログイン、ルーターのコマンドの送信と いった処理はどのように書けばいいのでしょうか? バッチファイルと、ルーターの設定が書かれたtxtファイルで できればと思っています。 FTPの「-s:」のようなオプション等はないのでしょうか?

  • sshやtelnetでログイン後、シェル(bash, csh)プロンプトからコマンド実行する方法は?

    下記掲示板(CGI)の設置で至急、「sshもしくはtelnet」の情報が必要になりました。(メールによる掲示板への投稿機能で必要) http://www.megumi-island.net/cgi.html#bbs sshやtelnetでログイン後、シェル(bash, csh)プロンプトからコマンド実行する一番簡単な方法を教えてください。なお、当方OSはWindowsXP環境です。 シェルから下記コマンドを実行したいのです。 $ ./mi_mlpost.pl (と入力し、Enterキーを押す) これでとりあえず第一難関クリアです。 付属のmi_mlpost.txtによれば、まだcronの設定があるようですが・・・

  • telnetコマンドを入れても、パスワードを聞いてこない

    判る方おりましたら教えて下さい。 最近Compaqの端末を会社で数台購入し、会社のネットワーク上に設定しました。OSはWinXPです。 telnetを使用しWebサーバにログインしようと思います。 コマンドプロンプトでtelnetと入力するとlogin画面が出ますが、ログイン名を入力し、EnterしてもPasswordを聞いてきません。 他の新規端末もおなじです。 既存の端末のWinXPでは正常に動作します。 設定、又は環境等に問題があるのでしょうか?切り分け等で原因がわかるのであれば、その作業方法を教えてください。 以上よろしくお願いいたします。 

  • telnetサーバのログインアカウントについて

    Windows2000, 2003Serverでtelnetサーバーを作ろうとしています。 Telnetのサービスを起動して、管理ツールからNTLM認証を無効にしています。 いざ、クライアント側からtelnetコマンドで接続してみると、ログインとパスワードが聞かれました。当然なのですが・・・。 このログインとパスワードはどこで設定されているものなのでしょうか。 管理者アカウントかと思ったのですが、はじかれました。 そこで調べたところ、サーバー側のグループに「TelnetClients」が必要で、そこに対象ユーザーを追加すればできるという記事を見かけたのですが、やってみたところ効果がありませんでした。 調べても出てこなかったので、実はとても簡単な話なのかもしれませんが、ご教授お願い致します。

  • telnetコマンドを使うと文字化けが!

    linux画面上にてtelnetコマンドを使いました。telnet先は普通のパソコンです。(Win NT/Win 2000) 通常 C:**\と出力され、dirコマンドをたたいたら日本語で書かれているところが文字化けして、プロンプトも文字化けしてしまいました。 telnetを行う時に文字コードの設定を行う方法はないのでしょうか?教えて下さい。

  • telnetコマンド

    telnetコマンドを、文字として認識させないためにIACを使うという事を知りました。 ここでふと疑問に思ったのですが、例えばECコマンドを使う場合、 EC(0xF7)を文字として認識させないためにIACを使うのだと思うのですが、 ASCIIコードでECに割り当てられているものを入力して、 サーバー側にECの文字を表示させても、 それはコマンドとして認識されないのでしょうか? 詳しい方からすればとんちんかんな質問かもしれませんが、 よろしくお願いします。

  • cronでtelnet ログイン

    下記のようにcronでtelnetによるサーバー接続をスケジューリングしたいと考えていますが、 telnetにパスワードを送るオプションが存在しない??ので、ログインができないようです。 もし何かいい方法ご存知でしたらご教示ください。 25 11 3 8 3 telnet -l user名 172.16.80.xxx