Sudo:プログラムがサービスとして起動すると「操作は許可されません」が発生しますが、手動で起動すると機能します。なぜ? [閉鎖]

Sudo:プログラムがサービスとして起動すると「操作は許可されません」が発生しますが、手動で起動すると機能します。なぜ? [閉鎖]

sudo echo 'toto'カスタムGoプログラムでsudo(たとえば)でコマンドを実行できる必要があります。私のユーザーを追加しましたが、/etc/sudoers私のユーザーとしてログインしてプログラムを手動で実行すると正常に動作します。

ただし、systemdサービスで同じプログラムを実行すると、次のエラーが発生します。

sudo: unable to change to root gid: Operation not permitted
sudo: unable to initialize policy plugin

私のサービスは基本です。

[Unit]
Description=test sudo

[Service]
User=test
Group=test
ExecStart=/etc/test/test

/etc/sudoers:

Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

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

test        ALL = NOPASSWD: ALL

私のユーザーとして、このプログラムを手動で実行するのと同じプログラムをサービスとして起動することの違いは何ですか?

Ubuntu 18.04とDebian 9.9でテストされました。

ベストアンサー1

ついに問題が見つかりました。CapabilityBoundingSet何らかの理由で、私のサービスsudoに限定されたタスクのリストが追加されました。

おすすめ記事