sudoを使用して他のユーザーとしてスクリプトの一部で複数のコマンドを実行するにはどうすればよいですか?

sudoを使用して他のユーザーとしてスクリプトの一部で複数のコマンドを実行するにはどうすればよいですか?

次のコマンドを実行しようとしています。

if [! -f .owner ]; then
    creator=$(whoami)
    sudo -u appuser ksh
    echo "$creator" >> .owner
    mkdir test1 test2 test3
    exit
fi

ただし、ファイル/フォルダはスクリプトを実行する人によって生成されます。 appuserがこれを生成する方法はありますか?

編集する:sudo -l返品(appuser) NOPASSWD: ALL

ベストアンサー1

努力する:

    #!/bin/bash
    id
    touch script-run-user.file

    sudo -u appuser 'ksh' <<EOF
    # add list of cmds to execute
    id
    touch appuser.file 
    EOF

編集する:今更新されました。確認してみてください。ここにファイル。 EOF = "ファイルの終わり"、ランダムな名前。

おすすめ記事