su命令

Posted xiaoliangxianshen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了su命令相关的知识,希望对你有一定的参考价值。

1、切换用户 -    (如果是从普通用户切换到root用户,su -  和su - root 都是切换到root)
[[email protected] ~]# su - xiaoliang  #切换到xiaoliang用户,切换用户的时候一定要加上- ,不然环境变量还是会用到上一次用户的环境变量。导致不能完整的切换
[[email protected] ~]$ whoami
xiaoliang
 
[[email protected] ~]# su xiaoliang  #这里我们不加 - 就不会彻底切换,家目录还是在/root下,这样加载配置文件的话,就不是加载xiaoliang用户。
[[email protected] root]$ pwd
/root
 
2、以xiaoliang用户的身份执行命令 -c
[[email protected] ~]# su - -c "touch /tmp/wsl.txt" xiaoliang
[[email protected] ~]# ls -lt /tmp/ |head
total 0
-rw-rw-r--. 1 xiaoliang xiaoliang  0 Jun 11 10:12 wsl.txt
3、切换用户后未指定家目录,怎么恢复正常呢?
[[email protected] ~]# su - user5
su: warning: cannot change directory to /home/user5: No such file or directory
-bash-4.2$
-bash-4.2$ exit
[[email protected] ~]#  mkdir /home/user5  #创建家目录
[[email protected] ~]# cp /etc/skel/.bash* /home/user5  #复制系统模版配置文件到家目录
[[email protected] ~]#  chown -R user5:user5 /home/user5/  #更改所有者和所属组
[[email protected] ~]# su - user5      
Last login: Mon Jun 11 10:18:46 CST 2018 on pts/0
[[email protected] ~]$     #此时可以看到正常拥有家目录了。
 

以上是关于su命令的主要内容,如果未能解决你的问题,请参考以下文章

十su命令sudo命令限制root远程登录

su命令sudo命令以及限制root用户远程登录

Linux su命令——su默认不修改环境变量 su - 要修改当前工作目录和环境变量

su命令 sudo命令 限制root远程登录

su 和 su - 命令有何不同

su命令--Linux命令应用大词典729个命令解读