質問: sudo:すみません、ユーザーrootは実行を許可されていません このコマンドはopensuse 11.4では失敗します。root@host# sudo -s -u "coreapp_customer1_d" -g "coreapp_customer1_d" /bin/bash -l -c "mkdir -p /home/coreapp_customer1_d/.ssh" このメッセージで:sorry, user root is not allowed to execute '/bin/bash -l -c mkdir -p /home/coreapp_customer1_d/.ssh' as coreapp_customer1_d:coreapp_customer1_d on workdevel114. しかし、それはopensuse 12.3で動作します。私は両方のシステムの/ etc/sudoersファイルを比較しました(コメント行を除いて)それらは同じです。
回答: 私はこの問題を自分で抱えていて、それで解決できましたroot all=(all:all) all visudoにあります。重要な部分は:all。 sudoers man page はこれを言っています: 次の例では、ユーザーtcmが、ダイヤラグループを使用してモデムデバイスファイルにアクセスするコマンドを実行します。 tcmボルダー=(:dialer)/ usr/bin/tip、/ usr/bin/cu、\/usr/local/bin/minicom この例ではグループのみが設定され、コマンドは引き続きユーザーtcmとして実行されることに注意してください。例えば。 $ sudo -g dialer/usr/bin/cu 私のコンテキストでは-gは、グループが何に書き込むことができるかを知りたかったので、全体の要点でした。sudo -u nobody -g some_group find . -writable 2> /dev/null > /tmp/some_group_writable.txt