su
su命令主要作用是在已登录的会话中切换到另外一个用户,常用于切换到root用户下
su
图片.png
此时输入的是root密码
su -
输入的也是root密码
su和su-区别,前者在切换到root用户之后依然保持旧的(原始用户的)环境,而后者是创建一个新的环境(由root .bashrc文件设置环境)相当于root用户正常登录(从登录屏幕登录)
可选参数 - 可提供的环境为用户在直接登录时的环境。
su -l 和su-一样,提供相当于用户直接登录时所期望的环境
su 命令的好处和坏处:
有的时候,对于系统管理员(root)来讲,使用其他普通用户的 Shell 账户而不是自己的 root Shell 账户更会好一些。尤其是在处理用户问题时,最有效的方法就是是:登录目标用户以便重现以及调试问题。
然而,在多数情况下,当从普通用户切换到 root 用户进行操作时,如果还使用普通用户的环境变量的话,那是不可取甚至是危险的操作。因为是在无意间切换使用普通用户的环境,所以当使用 root 用户进行程序安装或系统更改时,会产生与正常使用 root 用户进行操作时不相符的结果。例如,以普通用户安装程序会给普通用户意外损坏系统或获取对某些数据的未授权访问的能力。
sudo
sudo su 输入当前用户密码,跳转到root
sudo -i 输入当前用户密码,跳转到root
sudo的权限可以在/etc/sudoers 或者/etc/sudoers.d/中设置,还可以记录用户使用sudo的log