visudo を使用して権限を付与しても、ユーザーはコマンドを実行できません。

visudo を使用して権限を付与しても、ユーザーはコマンドを実行できません。

次のようなこれdaemon解決策はユーザーに実行権限を与えたいと思います/bin/date

  1. apache2作成時に使用されたユーザーを見つけます。

    # ps | grep httpd
    252 root     /usr/bin/httpd -k start
    260 daemon   /usr/bin/httpd -k start
    262 daemon   /usr/bin/httpd -k start
    264 daemon   /usr/bin/httpd -k start
    467 root     grep httpd
    
  2. 正しいパスを見つけてくださいdate

    # which date
    /bin/date
    
  3. 以下を使用して、次の行を追加しますvisudo

    Cmnd_Alias DATE=/bin/date                                               
    daemon ALL=NOPASSWD: DATE
    
  4. 再起動

  5. 新しい権限をテストします。

    # sudo -u daemon date -s "2023-09-09 10:16:00"
    date: can't set date: Operation not permitted
    Sat Sep  9 10:16:00 UTC 2023
    

私の文法に問題があるのでしょうか?私も次のことを試しました。

ALL ALL=NOPASSWD: DATE

しかし、すべて同じです。これはBuildroot環境です。

ベストアンサー1

sudoers設定に一致する正確なパスを指定する必要があります。テストも前後に進みます。ルートから始めてdaemonから実行してみてくださいsudo

sudo -u daemon sudo /bin/date -s "2023-09-09 10:16:00"

動作する必要があります。

(現在のテストはユーザーdateとして実行しようとしますdaemonが、機能しません。)

おすすめ記事