su与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”


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值