系统中有不同的用户时,我们可以用不同的身份登陆系统。
最费事的办法是退出系统,然后以另一用户的账号密码登陆。但是,linux系统提供了不退出系统就更改身份的命令。其中之一为su命令(另一个为sudo命令)。
一、用su命令切换为其他用户
格式:su [-[l]] [user]
这个命令以另一用户身份启动shell。这个用户必须存在。
如果当前是超级用户,则这个命令直接改变身份。如果不是,则系统提示输入指定用户的密码。
如果没有指定用户,则切换到超级用户。
如果包含“-l”选项,那么得到的shell会话界面将是用于指定用户的登录shell (login shell)界面。这就意味着,该指定用户的运行环境将被加载,而且其工作目录也将更改为该指定用户的主目录。这也常常我们是想要得到的结果。
我们从屏幕上可以观察的是,加-l后,工作目录变为指定的用户的主目录,不加-l,则工作目录不改变。
-l选项可以省略为-。
要回到原来的用户,使用命令exit。
二、用su命令以其他用户身份执行命令
可以不必切换到其他用户身份,用su命令以其他用户身份执行单个命令。格式为:
su -c 'command' [user]
其中,command是要以user身份执行的命令,要用单引号括住。
例如:
su -c 'ls -l /root/*'
这里,没有指定其他用户,这个其他用户就是超级用户。
同前面一样,需要但输入指定用户的密码,然后执行指定的命令。但超级用户以其他用户身份执行命令,无须输入密码。
网友评论