这可能是一个新手问题。我想在用户之间自动切换。我知道我们可以使用“expect”编程。还有其他办法吗?
答案 0 :(得分:5)
已经提到使用su:
su - <username>
但是可以使用sudo授予对其他用户帐户的更多限制访问权限:
sudo -u <username> <command>
Sudo支持许多选项。请参阅/ etc / sudoers和man sudoers。
要始终以其他用户身份运行可执行文件或脚本,而不使用su或sudo等任何工具,或者为当前用途构建自己的工具,请使用setuid模式:
chown <username> <executable>
chmod u+s <executable>
./<executable>
例如:
$ id -un
atnnn
$ cp /usr/bin/id .
$ sudo chown nobody id
$ sudo chmod u+s id
$ ./id -un
nobody
答案 1 :(得分:0)
这取决于您真正想要的是什么,以及您如何访问您的机器。创建窗口(xterms或其他)很容易,并安排不同的终端作为不同的用户运行 - 至少在你创建它们之后。您可以使用'su'或(更好)'sudo'成为另一个用户。 (我假设你被授权成为其他用户 - 这不是同事的ID,而是你需要试验的一些测试用户的身份。)
如果您想在单个窗口中以不同用户的身份在终端会话之间切换,那么您必须更加努力地工作。有一些程序要做:它曾经是shl
(shell层),我认为现代等价物是GNU Screen。我没有使用GNU Screen(我从1990年开始就没有使用shl
);当我需要以多个用户身份工作时,我使用与不同用户连接或运行的不同终端。