如何在 Freebsd 中将一个用户切换到另一个用户?

use*_*449 5 freebsd users

如何在 Freebsd 中将一个用户切换到另一个用户?

例如,我现在是用户 david,我想更改为用户 Bob。这是我学习的个人操作系统。不是服务器。我搜索了它,但只有关于如何创建新用户的网站。谢谢你。

Mik*_*kel 8

你有很多选择,包括su,login,ssh,和sudo。

最简单的方法是运行su,例如

$ su otheruser
Run Code Online (Sandbox Code Playgroud)

或者

$ su - otheruser
Run Code Online (Sandbox Code Playgroud)

第一个将您的用户设置为otheruser.

第二个设置您的用户otheruser并获取其他用户的登录脚本(例如.profileforsh或.loginfor csh),使您看起来像是以该用户身份登录。

如果otheruser是root(或丢失,这也意味着root),那么您将需要在wheel组中,根据手册页:

默认情况下,只有wheel组中的用户可以切换到 UID 0 ( root)。

另一种方式是登录,例如

$ login
login: otheruser
Password:   
Run Code Online (Sandbox Code Playgroud)

或者,如果您正在运行 sshd,则可以使用ssh,例如

$ ssh otheruser@localhost
Run Code Online (Sandbox Code Playgroud)

或者您可以使用ports安装sudo。

# cd /usr/ports/security/sudo
# make && make install
Run Code Online (Sandbox Code Playgroud)

或包裹

# pkg_add -r sudo
Run Code Online (Sandbox Code Playgroud)

有关如何运行它的详细信息,请参阅sudo 手册页。


phu*_*ehe 1

su可以用于此目的。如果您想成为用户,bob您可以输入:

su bob
Run Code Online (Sandbox Code Playgroud)

su然后会要求输入密码,这是bob的密码,而不是您的密码。当不带参数调用时,它会尝试成为超级用户(与 相同su root)。您可能需要将您的用户帐户添加到wheel组中,或更改某些配置以便普通用户可以使用su.

我通常这样做:

sudo su - bob
Run Code Online (Sandbox Code Playgroud)

所以我不需要知道其他用户的密码(注意:我是 Linux 用户,我不确定 BSD 有什么不同)。

  • 为什么“sudo su - bob”而不是“sudo -s -u bob”? (2认同)