su命令

su 命令说明

su [-lm] [-c 命令] [username]
参数:
-	:单纯使用 "-" 选项,代表使用login-shell的变量文件读取方式来登录系统;
	 如果没有加上用户名,则代表切换为root身份。
-l	:与 - 类似,但后面需要加想要切换的用户账号,也是使用login-shell的方式。
-m	:-m与-p是一样的,表示使用目前的环境设置,而不读取新用户的配置文件。
-c	:仅进行一次命令,其后面可以加上命令

需要注意的是,单纯使用“su”切换成为root的身份,读取的变量设置方式为non-login shell的方式,这种方式下很多原本的变量不会被改变,因此切换身份最好还是要使用“-”参数。同时,su命令切换用户身份,需要使用该用户的密码。

样例

[shadow@shadow ~]$ head -n 3 /etc/shadow
head: cannot open ‘/etc/shadow’ for reading: Permission denied
[shadow@shadow ~]$ su - -c "head -n 3 /etc/shadow"
Password: 			<==这里输入root密码
root:$6$dBmPW/i3iw2/Ul$58iqGA6LYVqP0n86ccRQg3KUsUBTt5tFTngOm7AnerNY.1dU5ztRV6x0n.2W7AQTERvRSJvWAfUXD/4/NOJez0:18449:0:99999:7:::
bin:*:18353:0:99999:7:::
daemon:*:18353:0:99999:7:::

文件/etc/shadow这个文件只有root可以查阅,因此为了查阅这个文件,我们必须使用root身份工作。而我们只需要使用这个命令一次,所以就可以使用“-c”这个选项。如果想要更改成为其他账号,则需要使用“-”或“-l”选项来切换。这里需要注意的是,直接使用su命令来切换root身份,需要使用root密码。

posted @ 2020-10-13 21:29  southernEast  阅读(410)  评论(0编辑  收藏  举报