首页 > 其他 > 详细

su和su -区别

时间:2017-01-13 16:20:30      阅读:202      评论:0      收藏:0      [点我收藏+]

su只是切换了root身份,但是SHELL环境依然是普通用户的SHELL;su - 是用户身份和SHELL环境都切换成root(比如我们公司的XXX,我经常看到他在切换管理员的时候就直接执行su)废话就不多说了,以普通用户lb切换到root为例直接实战。

1、不完整切换

[root@node1 ~]# useradd lb
[root@node1 ~]# id lb
uid=501(lb) gid=501(lb) groups=501(lb)
[root@node1 ~]# grep "lb" /etc/passwd
lb:x:501:501::/home/lb:/bin/bash
[root@node1 ~]# su - lb
[lb@node1 ~]$ whoami
lb
[lb@node1 ~]$ su
Password:
[root@node1 lb]# whoami
root
[root@node1 lb]# env|egrep "USER|^PATH|MAIL|PWD"
USER=lb
PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/lb/bin
MAIL=/var/spool/mail/lb
PWD=/home/lb


2、完整切换

[lb@node1 ~]$ su -
Password: 
[root@node1 ~]# whoami
root
[root@node1 ~]# env|egrep "USER|^PATH|MAIL|PWD"
USER=root
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root


3、su命令小结

【功能说明】

用户角色切换,"-"表示切换用户环境变量(完整切换)


【语法格式】

su [OPTION]... [-] [USER [ARG]...]


【实践操作】

[root@node1 ~]# su – lb
[lb@node1 ~]$


【常用参数】

-            切换用户环境变量

-l           同"-",会切换用户环境变量

-c           指定用户身份执行命令,如:su - lb -c "touch lb.txt",执行完指定命令后恢复到原来的身份

本文出自 “闲来无事唠唠嗑” 博客,请务必保留此出处http://laokebang.blog.51cto.com/12486963/1891679

su和su -区别

原文:http://laokebang.blog.51cto.com/12486963/1891679

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!