sudo
特定のグループに属している場合にのみパスワードなしでコマンドを実行できるように設定しました。しかし、まだパスワードを尋ねます。
試してみます。
#↳ sudo --group docker-user -s
#↳ sudo -k #drop sudo credentials
#↳ groups
docker-user sudo …
#↳ sudo --group docker /usr/bin/docker images
[sudo] password for bob
パスワードを期待していません。そのdocker.sudo
目的は、グループがdocker-user
パスワードなしでグループとして実行できるようにすることです。docker
docker
私は何が間違っていましたか?動作を妨げるものは何ですか?
構成を見てみましょう。
#↳ sudo cat /etc/sudoers.d/docker.sudo
Cmnd_Alias DOCKER = /usr/bin/docker
%docker-user ALL = (:docker) NOPASSWD : DOCKER
#↳ sudo cat /etc/sudoers #comments removed
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# User privilege specification
root ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
#includedir /etc/sudoers.d
追加テスト
#↳ groups
docker_user sudo …
#↳ sudo -ll
Matching Defaults entries for richard on delor-1:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User richard may run the following commands on delor-1:
Sudoers entry:
RunAsUsers: ALL
RunAsGroups: ALL
Commands:
ALL
ベストアンサー1
@ctrl-alt-delorの回答を拡張するために、ページには(バージョン)セクションのsudoers
man
補助ルールの処理ルールが記載されています。/etc/sudoers.d
Including other files from within sudoers
sudo
1.9.1
sudoは現在のファイルの処理を一時停止し、/etc/sudoers.dの各ファイルを読み込み、「~」で終わるか、「.」を含むファイル名はスキップします。パッケージマネージャまたはエディタの一時/バックアップファイルに問題が発生しないように文字を使用してください。
しかし、マニュアルのこのセクションの最初の文では、sudoers
(include a)のマシンローカルファイルにincludeを介して直接アクセスできると言われています。/etc/sudoers.local
.
@include /etc/sudoers.local
.
ただインクルードを通じて埋め込まれたファイルに問題があります@includedir
。そのため、元の/etc/sudoers
ファイルに次の内容が含まれているかどうか疑われます。
@include /etc/sudoers.d/docker.sudo
問題は発生しません(もちろん、ディレクトリのポイントは/etc/sudoers.d
使用することです@includedir
...)