sudo権限を持つユーザーにホームフォルダへのアクセスを制限します。

sudo権限を持つユーザーにホームフォルダへのアクセスを制限します。

他のユーザーに属するホームフォルダには、いくつかのプロジェクトを含むLinux開発サーバーがあります。サーバーの性質により、一部のユーザーはsudo -sを実行して特定の管理タスクを実行できます。ユーザーが他のホームフォルダ(または特定のフォルダ)をスヌーピングするのを防ぐ方法はありますか?

答え1

ユーザーがコマンドを実行している場合はsudorootなので、rootとして実行します。したがって、sudoを使用できるユーザーがディレクトリに変更するのを防ぐことはできません。

ユーザーがディレクトリ内のファイルにアクセスできないようにするには、そのコンピュータにrootアクセスを許可することはできません。

答え2

誰かがrootで任意のコマンドを実行できる場合は、任意のユーザーアカウントに切り替えることができ、ユーザーができることをすべて実行できます。

実際には3つのオプションがあります。

  • 権限を持つユーザーは、非常に特定の操作を実行するだけです。次に、sudoだけを使用していくつかの特定のコマンドを実行させます。これは、これらのコマンドが「シェルエスケープ」を許可しない場合にのみ安全です。つまり、他のプログラムの実行には使用できません。たとえば、パッケージ管理(allow sudo apt-get install …)では、パッケージ内にコマンドを挿入してシェルエスケープを許可することがよくあります(既知のソースでパッケージ署名を正しく確認した場合は問題ありません)。
  • 特権ユーザーには管理権限が必要ですが、「実際の」コンピュータでそれを使用する必要はありません。一部コンピュータ(ネットワーク設定を使用)次に、特権ユーザー用の仮想環境(たとえば、仮想マシン、lxcコンテナ、または一時Linuxネームスペース)を作成し、仮想環境で他のユーザーのデータを提供しないでください。
  • 技術的制御ではなく、社会的制御を使用します。ユーザーに広範な権限を付与しますが、プライバシー侵害がある場合は厳しく処理されることをお知らせください。ユーザーが従業員の場合、通常は大丈夫ですが、データの機密性によって異なります。

答え3

実行する必要があるタスクに応じて、sudoersファイルに次の行を入力して、特定のコマンドにのみsudoアクセス権を付与できます。

%devgroup ALL=(ALL): /bin/commandname

これにより、devgroupグループのメンバーはrootとしてのみ/bin/commandnameを実行できます(もちろん、この特定の例では、そのメンバーをホイールグループから削除しようとしています)。

関連情報