2012-03-02 13 views
2

私はコマンドラインインターフェイス用のpythonのcmdモジュールを使用するプログラムを持っています。bashシェルをpythonプログラムのcmdlineインターフェイスに置き換えてください。

普通のユーザがログインするたびにLinuxサーバ上で実行したいのですが、 という形で、デフォルトのLinuxプロンプトが表示されないようにしています(つまり、プログラムを強制終了したり、背景やそのようなもの)。

セキュリティ上の問題として、プログラムはユーザーが通常のプロンプトにアクセスできないようにする必要があります。ユーザーは常にプログラムのコマンドラインを使用してすべてのコマンドを起動する必要があります。 (プログラムにはさまざまなフィルタが組み込まれています)。ユーザー&のために(プログラム実行cmdを持つデフォルトのbashシェルを交換する)/etc/passwordでプログラム実行コマンドを入れてみました

もなく、役に立たないのは、ユーザー.bashrcファイルでそれを入れてみました。ユーザーは引き続きデフォルトのプロンプトにアクセスできます。

これについての参考になるポインタは非常に役に立ちます。

+1

このトピックはなぜpythonとしてタグ付けされていますか? – kamae

+3

ユーザはbashの代わりにpythonシェルを実行したいので – Nilesh

+0

あなたのシステムでは決して働かないでください。あなたはどの段階でもエディタを使用できるようにしますか?あるいは、Pythonで書かれたエディタを使用させるつもりですか?あなたが 'vim'や' vi'の作業を使うようにし、もしあなたがシステム上にシェルを持っていれば、そのシェルにアクセスできます。例えば... –

答えて

1

これはおそらくスーパーユーザーに属しますが、ファイル/etc/shellsに追加し、ユーザーのログインシェルをそのシェルに設定する必要があります。

たとえば、sudo useradd -d /path/to/newuserhomedir -s /usr/sbin/nologin newusernameと入力した場合、ログインシェルがプログラム/usr/sbin/nologinnewusernameという名前の人物が作成されます。

関連する問題