su命令后带"- ",表示环境变量一起切换过去
su - -c "touch /tmp/user2.txt" user2
ls -la /etc/skel/ 里面有环境变量文件
如果用户家目录中没有环境变量文件可以从些文件夹中copy。然后改变对应用户的所属主和所属组.
模拟环境变量文件丢失后恢复:
vi /etc/sudoers.tmp 编辑完没有语法错误提示
vi 中显示行号: "set nu"
vi /etc/ssh/sshd_config
systemctl restart sshd
更改完配置文件后,重启sshd服务,测试root确实无法登录:
远程无法登录root,可以通过刚才做的普通用户su - 进入root用户.
su 和 sudo 命令的区别
su命令就是临时切换用户的工具,su 加参数 -,表示默认切换到root用户,并且改变到root用户的环境;su只适用于一两个人参与管理的系统,多人管理的话不安全。
sudo 授权许可使用的su,也是受限制的su:sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;
本文转自 枫叶云 51CTO博客,原文链接:http://blog.51cto.com/fengyunshan911/1957181