sudoを使用せずにroot以外のアカウントでrootを必要とするスクリプトを含めるコマンドを実行したいと思います。
/usr/local/bin/dodo
#!/bin/bash
/bin/sync && /usr/sbin/pm-suspend-hybrid
私がしたことは、ルートにしてSUIDビットを設定しただけです。
chown root:root /usr/local/bin/dodo
chmod a+xrs /usr/local/bin/dodo
しかし、実行しようとすると、結果は次のようになります。
$ /usr/local/bin/dodo
This utility may only be run by the root user.
また、ファイルを追加してsudoerソリューションを試しました/etc/sudoers.d/dodo
。
%family ALL = (root) NOPASSWD: /usr/local/bin/dodo
私の記憶が正しい場合、グループファミリのユーザーはパスワードなしでrootとしてdodoを実行する権限を取得する必要があります。しかし、結果は同じです。
私が何を見逃しているのか教えてください。私はDebianを使用しています Jessie
編集:最後の場合はsudo dodo
パスワードなしで動作します。
ベストアンサー1
AlexPのリンクとは異なる答えで判断すると、次のように動作します。
cat /usr/local/bin/dodo
#!/bin/bash
/bin/sync
exec sudo /usr/sbin/pm-suspend-hybrid
_
ls -l /usr/local/bin/dodo
-rwxr-xr-x 1 laurent family 60 déc. 18 17:47 /usr/local/bin/dodo
_
cat /etc/sudoers.d/dodo
%family ALL = (root) NOPASSWD: /usr/sbin/pm-suspend-hybrid
次に、ホームグループの全員に対して次のことを行います。
dodo
パスワードやsudoなしで同期とpm-suspens-hybridを実行できます。