すべてのファイル権限を750に変更せずに、特定のユーザーが/ usr / binでファイルを実行することを禁止できますか?

すべてのファイル権限を750に変更せずに、特定のユーザーが/ usr / binでファイルを実行することを禁止できますか?

chmodLinuxでは、権限管理として最初の数字を使用する概念を理解しています。ユーザー、二つ目はグループ3番目は他のユーザー上記のようにこの回答存在するUNIXの権限とファイルタイプの理解

admin、、、usera5人のユーザーを持つLinuxシステムがあるとしますuserb。デフォルトでは、ユーザーは内部のすべてのファイルに対する実行権限を持っているため、これらのファイルは75個あるため、これらのユーザーはシステムのコマンドラインを使用して内部のファイルを実行できます。usercguestuserauserbuserc/usr/bin5許可する。これまでは問題ありません。ただし、ユーザーがguestそのフォルダからファイルを実行できないようにしたいと思います/usr/bin。そのフォルダ内のすべてのファイルに対する権限を750のように変更すると、それを行うことができることがわかりますが、chmodそうすると、ユーザーの権限がめちゃくちゃになりますusera。また、ファイルの実行も禁止されます。userbuserc

私のコンピュータ上のすべてのファイルは/usr/binそのグループに属しているため、root1つを作成し、すべてのnewgroupファイルのグループをこのグループに変更して追加できることがわかります。ただし、これはシステムのデフォルト設定があまりにも変更されているように聞こえます。この問題を解決するより賢い方法を知っている人はいますか?userauserbusercnewgroup

PATHあまりにも多くのファイル権限を変更する必要がある過度に複雑なソリューションを使用せずに、単一のユーザーがコマンドラインを使用する(またはコマンドラインからファイルを実行する)ことを禁止するにはどうすればよいですか。

答え1

ACL を使用して権限を削除します。この場合、すべての実行可能ファイルの権限を変更する必要はありません。単に実行権限を削除すると、/usr/bin/ディレクトリナビゲーションが無効になり、その中のすべてのファイルへのアクセスが無効になります。

setfacl -m u:guest:r /usr/bin

uこれは、ユーザーの権限がディレクトリのみを読み取るguestように設定するため、ディレクトリにアクセスできますが、その中には何もありません。r/usr/binls

すべての権限を削除することもできます。

setfacl -m u:guest:- /usr/bin

答え2

何してるの?特定のユーザーのシステムの使用を禁止する標準コマンドは、非常に失礼です。システムを危険にさらすことができるコマンドはその間どこかに属し、セキュリティのために慎重に調査されました。ファイルの権限はほとんどのいたずらな試みを防ぐ必要があります。

  • 限られたフェンスを提供することを検討してください(説明書を確認してください。同様の名前で指定されている可能性がありますが、rbash注意してください。rsh他の種類の動物です!)。ユーザーをかなり効果的に制限します(注意してください。はい爆発することもあります! )
  • これが一部のサービス所有を担当する疑似ユーザーである場合、一般的な回避策は「ユーザー」に何もしないシェルを提供することです/bin/true。 ;/bin/trueシェルスクリプトの場合このような用途には使用しないでください。)。これにより、誰かがアカウントにログインすると、そのセッションはすぐに終了します。
  • それらのために1つを作成するかchroot(もう一度言いますが、それを回避する方法があります)、BSD刑務所のLinuxコンテナを使用してそれらを制限し、それらが表示したいものだけを公開します。ほとんどのコントロールがありますが、設定して最新の状態に保つのは混乱しています。

関連情報