#查看当前用户
[[email protected] ~]# id
uid=0(root) gid=0(root) 组=0(root)
[[email protected] ~]# whoami
root
su 切换用户
- 在切换用户的同时,把用户的环境变量全部切换到那个用户的环境变量下;若不加这个-,就是当前的环境变量下
注:root切换到其他用户下,不需要输入密码;而其他用户切换到root下,是需要输入密码的。
# - 加与不加的区别
[[email protected] ~]# su wyy
[[email protected] root]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[[email protected] root]$ pwd
/root
[[email protected] root]$ exit
exit
[[email protected] ~]# su - wyy
[[email protected] ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/wyy/bin
[[email protected] ~]$ pwd
/home/wyy
有时候有这样的需求,切换到普通用户下,目的不是为了切换,是为了在这个用户的环境下去执行一条命令,也就是以这个用户的身份去执行某一条命令。不用切换,可以直接这样用:
#查看用户的id
[[email protected] ~]# su - -c "id" wyy
uid=500(wyy) gid=500(wyy) 组=500(wyy)
#创建目录并查看(若提示权限不够,把/tmp权限修改为1777)
[[email protected] ~]# su - -c "mkdir /tmp/1212" wyy
[[email protected] ~]# su - -c "ls -ld /tmp/1212" wyy
drwxrwxr-x 2 wyy wyy 4096 9月 24 11:17 /tmp/1212