三、使用sudo分配管理权限

使用sudo分配管理权限

su命令

su -  [账户名称]     :切换到用户,不加用户名默认切换到root

su -  [账户名称]  -c  '命令'   :以xx用户身份执行命令,注意命令需用引号引起来

[jacob@proxy ~]# su -                       //切换账户,默认切换为root账户

密码:

[root@proxy ~]#

[root@proxy ~]# su - tom  -c "mkdir /home/tom/test"        //管理员切换普通用户

[tom@proxy ~]# su - -c "systemctl restart sshd"            //以管理员重启服务

分配部分命令root权限给普通用户:

which 命令  :查看命令的原始路径

[root@proxy ~]# vim /etc/sudoers         //修改配置(vim或visudo),修改文件后,需要使用wq!强制保存

.. ..

softadm    ALL=(ALL)   /usr/bin/systemctl    //授权softadm以root身份执行systemctl命令

用户名  哪些位置登陆(主机名)=什么身份   执行什么命令   //不同的命令,分开;例外程序以!符号取反。在执行相关程序时可以利用通配符*

[root@proxy ~]# su - softadm

[softadm@proxy ~]$ sudo -l                        //查询有哪些sodu命令权限,普通用户第一次sudo需要输入自己帐号的密码

… …

[sudo] password for softadm:                                 //输入softadm的口令

.. ..

用户 softadm 可以在该主机上运行以下命令:

    (ALL) /usr/bin/systemctl

[softadm@proxy ~]$ systemctl start httpd                    //不用sudo时启动服务失败

Authentication is required

.. ..

[softadm@proxy ~]$ sudo systemctl restart httpd          //通过sudo启动服务成功

[root@proxy ~]# vim /etc/sudoers

.. ..

useradm ALL=(ALL)  /usr/bin/passwd,!/usr/bin/passwd root,/usr/sbin/user*,!/usr/sbin/user* * root 

//给予各种用户类命令、修改密码权限,但不能操作root用户的

[useradm@proxy ~]$ sudo useradd newuser01                  //可以添加用户

[useradm@proxy ~]$ sudo passwd newuser01                  //可以修改普通用户的口令

分配部分命令root权限给组成员(%代表组,生产环境下慎用)

[root@proxy ~]# vim /etc/sudoers  

.. ..

%wheel ALL=(ALL)  /bin/*

[root@proxy ~]# usermod -a -G wheel zengye

[zengye@proxy ~]$ sudo -l

.. ..

用户 zengye 可以在该主机上运行以下命令:

(root) /bin/*

sudo启用日志记录(默认没有日志)

[root@proxy ~]# visudo              //修改/etc/sudoers配置,添加日志设置,以便跟踪sudo执行操作

     Defaults  logfile="/var/log/sudo"

.. ..

[root@proxy ~]# sudo -l                                  //查看授权的sudo操作

[softadm@proxy ~]# sudo systemctl status httpd              //查看授权的sudo操作

[root@proxy ~]# tail /var/log/sudo    //确认日志记录已生效

.. ..

May 16 22:14:49 : root : TTY=pts/1 ; PWD=/root ; USER=root ; COMMAND=list

Feb 22 22:35:43 : softadm : TTY=pts/11 ; PWD=/home/softadm ; USER=root ;

    COMMAND=/bin/systemctl status httpd

 

useradd Nero.li && echo 'FEfHOQSJpT4Q@'| passwd --stdin Nero.li  && echo 'Nero.li     ALL=(ALL)       ALL' >>/etc/sudoers

posted @ 2021-06-15 15:17  落樰兂痕  阅读(146)  评论(0编辑  收藏  举报