如何在Linux中使用su命令切换用户
su是switch user切换用户的缩写,su命令允许您使用其他用户,默认情况下使用root用户的权限运行命令。
在本教程中,我们将说明如何使用su
命令。包括su的命令语法与常见的选项,sudo与su命令的比较与区别,切换用户时并留在当前的目录中等。
如何使用su命令
su命令的一般语法如下:
su [OPTIONS] [USER [ARGUMENT...]]
在不带任何选项的情况下调用时,su
的默认行为是以root用户运行交互式shell:
su
系统将提示您输入root密码,如果通过身份验证,则运行命令的用户将临时成为root。并替换用户的/etc/passwd
设置shell程序和HOME
家目录等环境变量,但当前目录未更改。
要确认用户已更改,请使用whoami
命令:
whoami
该命令将打印运行当前Shell会话的用户的名称:
root
调用su
时最常用的选项是-
,-l
,--login
。这使当前shell成为登录shell,其环境与真实登录非常相似,并更改了当前目录:
su -
如果要运行另一个shell程序而不是passwd
文件中定义的shell,请使用-s
,--shell
选项。例如,切换到root并运行zsh
shell,您可以输入:
su -s /usr/bin/zsh
要保留主叫用户的整个环境(HOME
,SHELL
,USER
和LOGNAME
),请使用-p
,--preserve-environment
选项。
su -p
使用-
选项时,将忽略-p
。如果要以切换用户运行命令而不启动交互式shell,请使用-c
,--command
选项。例如,要以超级用户身份调用ps
命令,您可以输入以下命令:
su -c ps
要切换到另一个用户帐户,请将用户名作为参数传递给su
。例如,要切换到用户myfreax,您可以输入:
su myfreax
sudo vs su
在某些Linux发行版上,如Ubuntu出于安全原因,默认情况下root用户帐户是被禁用的。这意味着没有为root设置密码,并且您不能使用su
切换到root。切换为root的一个选项是在su
命令前加上sudo
,然后输入当前登录用户的密码:
sudo su -
sudo
命令允许您以其他用户运行命令。默认将以root身份调用su
命令。运行sudo su -
并使用用户密码与su -
使用root密码相同。与-i
选项一起使用时,sudo
将在root用户的环境中运行交互式登录Shell:
sudo -i
sudo -i
与运行su -
基本相同。与su
相比,使用sudo
的优势在于无需在多个管理用户帐户之间共享root密码。此外,通过sudo
,您可以允许用户仅以root运行指定的命令。
结论
su
可让您临时成为另一个用户并与并使用当前用户环境执行命令。如果您有任何疑问或反馈,请随时发表评论。
以上是 如何在Linux中使用su命令切换用户 的全部内容, 来源链接: utcz.com/z/507413.html