操作系统中,并不能让一个用户可以为所欲为,这样会使得系统的安全性无法得到保障,因此有了操作权限的划分,在Linux系统中用户共划分为两类:管理员用户(root) 以及 普通用户;
su
命令可让一个普通用户切换为超级用户或其他用户,并可临时拥有所切换用户的权限。
su
命令[san@San ~]$ su root Password: [root@San san]#
注意:su
命令在进行用户切换的时候需要输入目标用户的密码才能切换成功。
sudo
是系统管理员允许让普通用户执行一些或者全部的root命令的一个工具(执行身份一般当然要短暂成为root喽)。
sudo
命令[san@San ~]$ date Fri Apr 10 15:50:07 CST 2020 [san@San ~]$ date -s "2020-04-10 15:50:57" date: cannot set date: Operation not permitted Fri Apr 10 15:50:57 CST 2020 [san@San ~]$ sudo date -s "2020-04-10 15:52:43" [sudo] password for san: Fri Apr 10 15:52:43 CST 2020 [san@San ~]$ date
从示例中可以看到,设置系统时间在普通用户下则会报错,操作不被允许。然而使用sudo
命令临时对用户操作进行提权则可以直接使用普通用户进行系统时间的设置。
并且sudo
不是对shell的一个代替,它是面向每个命令的,对于每个命令都可以使用sudo进行提权操作。使用sudo
提权操作不仅减少了root用户的登录和管理时间,同样也提高了安全性。
注意:sudo
命令的使用需要对/etc/sudoers
配置文件进行修改。
/etc/sudoers
配置文件的修改任何用户都可以随时使用sudo
指令来对自己的操作进行提权吗?不是这样的,若是这样的话,则root管理员用户形同虚设,只有管理员将指定用户添加入/etc/sudoers
中,这个用户才可以进行提权操作,因为它是系统管理员集中的管理用户的使用权限和使用的主机的配置文件。
[san@San ~]$ su root Password: [root@San san]# visudo #vi /etc/sudoers 也可以,但是我们暂时不用,原因见后面 ## 在配置文件中约第100行的位置可以找到需要配置信息, 输入 :100 回车可以直接跳转至第100行 ## 将需要提权的用户信息添加到root用户信息的下方,格式雷同root即可,这里的san是我自己的用户~ ## 通过输入 :wq 回车后保存配置并退出 ## Allow root to run any commands anywhere root ALL=(ALL) ALL san ALL=(ALL)
注意:/etc/sudoers
文件因为文件权限原因无法直接使用编辑器进行修改,就算修改成功也不会进行语法检查,因此推荐使用visudo
命令进行配置。
[root@San san]# ls -l /etc/sudoers
以上是Linux命令权限是什么的详细内容。更多信息请关注PHP中文网其他相关文章!