su和su-的区别

原创
2016/07/08 17:03
阅读数 110

1、     susu-用法的区别

1)定义su  :run  a shell with substitute user and group

              Change the effective user id and group id to  that of USER

-, -l, --login

              make  the  shell  a login shell, clears all envvars except for TERM, initializes  HOME,SHELL, USER, LOGNAME and PATH

2susu-区别

susu-都可以进行用户的切换,但是su切换时会产生一些问题,用户的环境变量的信息没有全部切换,在此环境中进行操作,有可能产生意想不到的错误,所以必须用su –或者su – 用户名。

以下是使用su切换的结果,用env命令查看,注意红色字体,红色部分就是没有切换的。

[oldboy@niel ~]$ su

Password:

[root@niel oldboy]# env|grep -E "PATH|HOME|SHELL|USER| LOGNAME"  

SHELL=/bin/bash

USER=oldboy

PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oldboy/bin

HOME=/root

而使用su –root切换的结果如下

[root@niel ~]# env|grep -E "PATH|HOME|SHELL|USER| LOGNAME"

SHELL=/bin/bash

USER=root

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

HOME=/root

总结:生产环境中,必须用su -或者su - 用户名来进行用户的切换,这时标准的切换方式。- 参数表示的含义有环境变量的切换。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部