您的当前位置:首页 --> CentOS入门
CentOS命令行下su与su -的区别
浏览次数:1812 关键词 ( 命令行  区别  CentOS  su  )

su 指令用于切换到其他用户身份。

使用su切换身份时,如果忽略“user”,则默认切换到“root”身份,需要输入密码。当从root身份切换到其他用户时不需要输入密码,而反之则需要输入相应用户的密码。

如加上 - 或 -l 或 --login参数,切换到新用户时,会把当前的Shell环境切换到新用户的Shell环境,等同于新用户从控制台登录。


实验:

分别使用 su 和 su - 切换用户身份。

1) pwd查看当前目录:su切换到新用户时,没有显示新用户的目录。

                                          su -切换到新用户,显示的是新用户的目录。

2) 使用set查看环境变量

普通用户


su 切换到root :



su -切换到root,此时shell的环境变量都改变为root的环境:



上面的三张截图显示,su切换时UID改变,而user和username都没有改变;使用su - 切换时,所有的环境变量都改变为新用户的。


3)touch文件abc.txt,查看abc.txt的权限、所有者、所属组。

对文件夹有wx权限时,可以对文件夹的文件进行写、rm、touch、vi、cat操作。
su切换到root用户,创建文件abc,abc的所有者和所属组都为root。


4)用echo $PATH导出PATH

普通用户时导出 PATH,

su切换到root时,导出PATH,

su - 切换到root时,导出PATH

3者的PATH内容都是不一样的。

所以只有su -切换时才不会出现PATH问题。“command not found”


下载次数:28
下载地址:点击下载
本资源为程序自动采集,如有侵权请联系我们移除 admin#80vps.com 来信请将#替换为@
下一条 centos系统中网络配置相关
上一条 通过登入IP记录Linux所有用户登录所操作的日志

拥有超过10年的业务管理经验。我们是IDC服务和解决方案方面的专家

有任何疑问请不要犹豫,立即点击联系我们