Linux 用户管理:su 命令 1 个改进

命令 su 可以让你使用其他用户运行 shell。

语法:

su <username>  

例子:

su jtp  

Linux su Commands1

看上面的截图,用户账号从 sssit 变成 jtp


su to root#

如果你知道 root 用户密码,你可以转换成 root 用户。

语法:

su root  

Linux su Commands2


su as root#

root 用户能转换成任何存在用户,即是不知道密码。反之,需要密码。

例子:

su - sssit  

Linux su Commands3

查看上面的截图,从用户 jtp 切换到 sssit 要求输入密码。

现在让我们看下面的例子。

例子:

su - jtp  

Linux su Commands4

看上面截图,我们是 root 用户。从 root 切换到 jtp 时,不需要输入密码,故我们能成功使用 jtp 用户。


su - $username#

默认情况下,su 命令维护相同的 shell 环境。要访问目标用户的 shell 环境,请使用带(-)的 su 命令,后跟目标用户名。

例子:

su - jtp  
su jtp  

Linux su Commands5

看上面的截图,命令 「su - jtp"」 使得当前的 shell 环境是在 「/home/jtp」而且用户还是 jtp 。但是 「su jtp」 使得当前的 shell 环境是在 「/home/ssit」而用户是 sssit。


su -#

如果没使用任何用户名,则默认情况下,它将以 root 用户作为目标用户。

例子:

su -  

Linux su Commands6

看上面的截图,命令 「su -」 已经默认用户为 roo。


以其他用户身份运行程序 /sudo 命令#

命令 sudo 允许用户使用另一个用户的凭据来启动程序。

例子:

/usr/sbin/useradd -m akki  

Linux su Commands7

看上面的截图,当没有创建用户 'akki' shell 给出上面的信息。


使用 sudo 命令#

使用 sudo 命令,我们可以在系统上创建新新用户而不需要成为 root 用户或 root 用户的密码。

例子:

sudo /usr/sbin/useradd -m akki  

Linux su Commands8

看上面的截图, 使用 sudo 命令创建了用户 'akki'。


sudo su -#

默认情况下,一些 Linux 系统(如 Ubuntu)没有为 root 用户设置密码。这意味着您不能以 root 用户身份登录。

为了以 root 权限执行任务,通过 etc /sudoers 授予用户所有 sudo 权限。属于 admin 组成员的所有用户都可以使用 sudo 命令执行 root 任务。

语法:

grep admin /etc/sudoers  

su 命令

看上面的截图,命令 「grep admin /etc/sudoers」 允许所有 admin 组用户获得 root 权限。

通过输入 sudo su- ,用户可以成为 root 用户 而不需要输入 root 用户密码。 sudo 命令将询问问用户自己的密码。

语法:

sudo su -  

Linux su Commands10

看上面的截图,bash 要求输入 sssit 用户密码而不是 root 用户密码,然后我们以 root 用户身份登录。

本文为 Wiki 文章,邀您参与纠错、纰漏和优化