#查看当前用户

[root@wy ~]# id

uid=0(root) gid=0(root) 组=0(root)

[root@wy ~]# whoami

root


su  切换用户

-   在切换用户的同时,把用户的环境变量全部切换到那个用户的环境变量下;若不加这个-,就是当前的环境变量下


注:root切换到其他用户下,不需要输入密码;而其他用户切换到root下,是需要输入密码的。


# - 加与不加的区别

[root@wy ~]# su wyy

[wyy@wy root]$ echo $PATH

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

[wyy@wy root]$ pwd

/root

[wyy@wy root]$ exit

exit

[root@wy ~]# su - wyy

[wyy@wy ~]$ echo $PATH

/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/wyy/bin

[wyy@wy ~]$ pwd

/home/wyy


有时候有这样的需求,切换到普通用户下,目的不是为了切换,是为了在这个用户的环境下去执行一条命令,也就是以这个用户的身份去执行某一条命令。不用切换,可以直接这样用:

#查看用户的id

[root@wy ~]# su - -c "id" wyy

uid=500(wyy) gid=500(wyy) 组=500(wyy)

#创建目录并查看(若提示权限不够,把/tmp权限修改为1777)

[root@wy ~]# su - -c "mkdir /tmp/1212" wyy

[root@wy ~]# su - -c "ls -ld /tmp/1212" wyy

drwxrwxr-x 2 wyy wyy 4096 9月  24 11:17 /tmp/1212