使用su已经提到:
su - <username>
Run Code Online (Sandbox Code Playgroud)
但是使用sudo可以授予对其他用户帐户的更多限制访问权限:
sudo -u <username> <command>
Run Code Online (Sandbox Code Playgroud)
Sudo支持许多选项.请参阅/ etc/sudoers和man sudoers.
要始终以另一个用户身份运行可执行文件或脚本,而不使用su或sudo等任何工具,或者为当前目的构建自己的工具,请使用setuid模式:
chown <username> <executable>
chmod u+s <executable>
./<executable>
Run Code Online (Sandbox Code Playgroud)
例如:
$ id -un
atnnn
$ cp /usr/bin/id .
$ sudo chown nobody id
$ sudo chmod u+s id
$ ./id -un
nobody
Run Code Online (Sandbox Code Playgroud)