su命令

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

猜你喜欢

转载自www.cnblogs.com/xiaoliangxianshen/p/9174156.html
今日推荐