ユーザーグループのsudo権限を有効にして何かをインストールする方法

ユーザーグループのsudo権限を有効にして何かをインストールする方法

root/sudo パスワードを入力せずにソフトウェアをインストールする権限をグループに付与したいと思います。私はLinux Mint 20.3 Cinnamonを使用しています。

「basicsudo」というグループを作りました。

私は最初に打者を打つ

$ which apt-get  
/usr/bin/apt-get

それから

sudo visudo

その後、次の行を追加しました。

%basicsudo ALL=(ALL) NOPASSWD: /usr/bin/apt-get install

到着/etc/sudoers.tmp

[...]
# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

%basicsudo ALL=(ALL) NOPASSWD: /usr/bin/apt-get install
# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Groups and UsersメニューのGUIを使用してユーザーにグループを割り当てます。これを確認するために実行しました。

$ groupname Alice 
Alice, basicsudo

私のアカウントから。

Aliceとしてログインすると確認されます。

$ groups
Alice, basicsudo

しかし、Aliceとして次の行を実行しようとすると成功しません。

$ sudo apt-get install python3-pip  
[sudo] password for Alice:           
Sorry, user Alice is not allowed to execute '/usr/bin/apt-get    install python3-pip' as root on computername.

明らかに、a)パスワードを入力するように求められ、b)パスワードを入力しても実行できません。

これを行う正しい方法は何ですか?

ベストアンサー1

変更:

%basicsudo ALL=(ALL) NOPASSWD: /usr/bin/apt-get install

到着

%basicsudo ALL=(ALL) NOPASSWD: /usr/bin/apt-get install *

からman sudoers

コマンド名は、シェルスタイルのワイルドカードを含むことができる完全修飾ファイル名です。単純なファイル名を使用すると、ユーザーは希望の引数を使用してコマンドを実行できます。ただし、コマンドラインパラメータ(ワイルドカード文字を含む)を指定することもできます。または、 ""を指定して、コマンドライン引数なしでコマンドを実行できることを示します。

Cmndに接続されたコマンドライン引数がある場合、Cmndの引数は、ユーザーがコマンドラインで指定した引数と正確に一致する必要があります(またはワイルドカードがある場合は一致する必要があります)。

だから:

Sudoers 重要性
%basicsudo ALL= /usr/bin/apt-get "" apt-getパラメータなしで実行
%basicsudo ALL= /usr/bin/apt-get apt-get任意のパラメータで実行
%basicsudo ALL= /usr/bin/apt-get install apt-get install追加の引数なしで実行
%basicsudo ALL= /usr/bin/apt-get install * apt-get installより多くのパラメータで実行

おすすめ記事