最近发现linux的一个su - 切换用户的权限问题:
1、xshell 登录linux系统(Redhat7.5),当使用普通用户登录的时候,su - root 切换到root,然后cd到root权限的目录发现无法上传文件到目录所属主、组为root的目录。
2、使用root修改 /etc/security/limits.conf后 修改了某个普通用户如weblogic的 open files ,从root登录使用su - weblogic 到weblogic 用户 执行ulimit -n 发现修改生效。但是直接使用weblogic用户登录系统的时候执行ulimit -n 却还是未修改前的1024。
请大大们帮忙解释解释这个linux 的su - 权限原理。
su命令和su -命令最大的本质区别就是:
前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;
而后者连用户和Shell环境一起切换成root身份了。
只有切换了Shell环境才不会出现PATH环境变量错误。
su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;
而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。
回归到你的问题上,