首页 > 代码库 > su切换用户
su切换用户
#查看当前用户
[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
本文出自 “linux” 博客,转载请与作者联系!
su切换用户