每天写500字每周500字每天写1000字

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

2019-10-31  本文已影响0人  金石明镜

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读