試してみます。

試してみます。

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パスワードなしでグループとして実行できるようにすることです。dockerdocker

私は何が間違っていましたか?動作を妨げるものは何ですか?


構成を見てみましょう。

#↳ 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.dIncluding other files from within sudoerssudo1.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...)

おすすめ記事