如何使用 sudo 在脚本的一部分中以另一个用户身份运行多个命令?

cha*_*les 4 ksh sudo shell-script files

我正在尝试运行以下命令:

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

但是,文件/文件夹是由运行脚本的人制作的。有什么方法可以让 appuser 创建这些?

编辑sudo -l返回(appuser) NOPASSWD: ALL

Rol*_*olf 7

尝试:

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

    sudo -u appuser 'ksh' <<EOF
    # add list of cmds to execute
    id
    touch appuser.file 
    EOF
Run Code Online (Sandbox Code Playgroud)

编辑:作为更新,请查看Here Documents。EOF = "End Of File",名字随意。