Linux Shell脚本用户开关
我正在运行一个简单的shell脚本,它创建一个用户,然后切换到它,这样我就可以作为新用户运行一系列命令。下面的脚本是作为Debian 9(Stretch)amd64主机上的Linux Shell脚本用户开关,linux,shell,debian,sudo,su,Linux,Shell,Debian,Sudo,Su,我正在运行一个简单的shell脚本,它创建一个用户,然后切换到它,这样我就可以作为新用户运行一系列命令。下面的脚本是作为Debian 9(Stretch)amd64主机上的根运行的,没有显示我所期望的内容。这只是一个测试脚本,让我看看发生了什么 #!/bin/sh adduser karl --gecos "First Last, RoomNumber, WorkPhone, HomePhone" --disabled-password adduser karl sudo echo 'karl:
根运行的,没有显示我所期望的内容。这只是一个测试脚本,让我看看发生了什么
#!/bin/sh
adduser karl --gecos "First Last, RoomNumber, WorkPhone, HomePhone" --disabled-password
adduser karl sudo
echo 'karl:password123' | chpasswd
echo 'karl ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/karl
echo
sudo su - karl
whoami # prints root?
echo
echo
sudo -u karl /usr/bin/whoami # prints karl
echo
exit 0
您可能希望将所有“karl”命令放在一个单独的文件中,然后执行sudo su-c/path/to/karl_commands.sh-karl
此外,如果您已经是root用户,您不需要sudo su
,只需使用su
@glennjackman,谢谢