そのため、パッケージをインストール、更新、削除することができ、コマンドを直接使用することはできない特別なsysadminユーザーを作成したいと思いますsudo
。たとえば、UbuntuやLinux MintなどのDebianベースのシステムでは、apt
コマンドを使用してインストールできます。単にユーザーパスワードを入力すると、そのユーザーのパッケージのインストール、削除、および更新権限が一時的に昇格されますapt-get
。 be done sudo
、これがまさにユーザーが使用することを避けたいものです。
たとえば、彼らはこれを使用したくありません。
$ sudo apt-get <flag> <package>
✗
しかし、あなたは彼らがこれを代わりに使用したいと思います。
$ apt <flag> <package>
✔
特定のコマンドへのフルアクセスを許可せずに特定のコマンドホイールに権限を付与する具体的な方法があることはわかっていますが、このような個々のユーザーの状況に対してこれを設定する方法はわかりません。
答え1
/etc/sudoers
修正ファイルを使用してvisudo
この目標を達成できます。
sudo を使用すると、無制限のアクセスを許可しなくても許可されるコマンドを指定できます。
username ALL = NOPASSWD : /usr/bin/apt-get , /usr/bin/aptitude
これにより、パスワードsudo apt-get
なしでユーザー名を実行できますが、他のコマンドは許可されません。sudo aptitude
この質問は次のリンクに回答されています。 管理者以外のユーザーがaptまたはrpmを介してパッケージをインストールできますか?
特権ユーザーがsudoを使用して実行できるコマンドは、明示的に言及されているコマンドのみです。上記のシナリオのように、ユーザーはaptまたはaptitude以外に何もせずにsudoを使用できます。