linux命令行学习(31):用su命令更改身份

系统中有不同的用户时,我们可以用不同的身份登陆系统。

最费事的办法是退出系统,然后以另一用户的账号密码登陆。但是,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/*'

这里,没有指定其他用户,这个其他用户就是超级用户。

同前面一样,需要但输入指定用户的密码,然后执行指定的命令。但超级用户以其他用户身份执行命令,无须输入密码。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容