root以外のユーザーが端末を使用できないように無効にする

root以外のユーザーが端末を使用できないように無効にする

linux-pcには2つのユーザーアカウントがあります。 1つ目はルートでもあり、2つ目は一般ユーザーです。 2人目のユーザーが端末を開くのを防ぐにはどうすればよいですか?

ベストアンサー1

シェルを/bin/falsewithに設定しますchsh。たとえば(ルートとして):

chsh -s /bin/false username

これにより、コンソールやSSHなどを介してログインしたときにシェルをインポートできなくなります。これはほとんどの目的には十分ですが、システムで別のプログラムを実行できる場合はシェルを取得するためのさまざまな方法があります。

これはログインを効果的に防止するため、特定のデーモン(Apacheを実行するためのwww-dataなど)を実行しているシステムユーザーではない場合、またはメールボックス専用のユーザーまたは同様のユーザーでない限り、ユーザーアカウントにはあまり意味がありません。


おそらくより良い別のオプションは、シェルを次に設定することです。限られた殻たとえば/bin/rbash、(事前設定された)PATHでのみプログラムを実行できるようにし、などを使用してディレクトリを変更したりcd環境変数を変更したりするのを防ぎます。詳しくはこちらをご覧ください。SHELLPATHman rbash

たとえば、システムのどこかにディレクトリ(たとえば/usr/local/rbin)を作成し、許可されたバイナリをそのディレクトリにコピーまたはリンクし、ディレクトリ内のそのディレクトリプログラムでのみ実行できるようにパスを設定できます。 。テキストエディタが必要かrvimどうかではなく、インストールなど、このディレクトリにどのプログラムを配置するかに注意する必要がありますvim(rvimはシェルコマンドの実行を許可しません)。

注:これは多くの作業を必要とし、正しく実行するために慎重な調査が必要です(たとえば、シェルへのアクセスを許可する穴を残さないように)。rbashこのサイトには、シェルやその他の制限されたシェルに関するいくつかの質問と回答があります。研究を始めましょう:

https://unix.stackexchange.com/search?q=rbash

非常に密接に関連するトピックchroot

https://unix.stackexchange.com/search?q=chroot

おすすめ記事