2

以下のようなシェルスクリプトがあります。

#!/bin/bash
sudo -u testuser -H sh -c "
mkdir /usr/local/testdir;
if [ $? -eq 0 ];then
    echo "Successfull";
else
    echo "Unsuccessfull";
fi
"

ユーザー testuser に、sudo を使用してシェル スクリプトを実行する権限を与えましたが、パスワードを要求する必要はありません。このために、以下の行を/etc/sudoersファイルに追加します。

testuser ALL=(ALL) NOPASSWD: ALL

そして、sudoを使用してコマンドを実行できましたが、パスワードを要求せずに問題なく動作しました。しかし、上記のシェル スクリプトは常に put ass を出力します。

mkdir: cannot create directory `/usr/local/testdir': Permission denied
Successfull

testdirそして、内部にディレクトリを作成していません/usr/local。このスクリプトを正常に動作させるには、どのような変更を行う必要があるか教えてください。

ありがとう。

4

1 に答える 1