プログラムをインストールする権限を持ち、他のユーザーのディレクトリにアクセスする権限を持たないユーザーを追加します。

プログラムをインストールする権限を持ち、他のユーザーのディレクトリにアクセスする権限を持たないユーザーを追加します。

Linux システムで、プログラムをインストールする権限を持ちながら、他のユーザーのディレクトリにアクセスする権限を持たないユーザーを作成する必要があります。

私はこれをやろうとしました:

# Create restricted user user
adduser --home /home/restricted_user restricted_user

# Edit normal user dir permissions
chmod -R 700 /home/normal_user/

# Add restricted user to sudoers in order to allow program installation
sudo adduser restricted_user sudo

次に、次のことを試しました。

su restricted_user
sudo ls /home/normal_user

そして最後に、制限されたユーザーはsudoを使用して通常のユーザーのディレクトリにアクセスできるようになります。

この制限をどのように実装できますか?

答え1

ユーザーをsudoグループ一般的なルート アクセスを許可しないでください。/etc/sudoersユーザーがルートとして実行できる実行可能ファイルの小さなセットを編集して指定します。例:

# in sudoers file
restricted_user ALL = (root) /usr/bin/apt-get
restricted_user ALL = (root) /sbin/reboot

ノート:

  • Linux によって異なります: apt-get/ aptdpkgopkgpacmanyum、 …
  • 完全なパスを使用してください。
  • 編集の正しい方法sudoersvisudo
  • man 5 sudoers構文の詳細については を参照してください。
  • より複雑なルールを構築するときは、順序は重要

任意のプログラムをインストールできる意志のあるユーザーは、設定されたのバージョンlsまたは「アップグレード版」をインストールしてsudo、 に関係なくルート アクセスを許可します/etc/sudoers。または、インストール時に任意の操作を実行するパッケージを提供してインストールします (実際には何もインストールしない可能性もあります)。これを防ぐのは簡単ではないかもしれません。

関連情報