前言
只把root密码留给少数核心管理人员,其他管理员就使用普通用户管理.
[oldboy@oldboy ~]$ cd /etc
[oldboy@oldboy etc]$ touch oldboy.txt
touch: 无法创建"oldboy.txt": 权限不够
一、sudo管理方案
让普通用户执行某个命令的过程中拥有root权限.本身角色还是oldboy自己
配置方法:把普通用户提升为管理员
使用命令visudo (vim /etc/sudoers)
1.直接授权
root ALL = (ALL) ALL
用户 所有主机 所有角色 所有命令
%wheel ALL = (ALL) ALL
用户组 所有主机 所有角色 所有命令
实践方法:
[root@oldboy ~]# useradd oldgirl
root@oldboy ~]# echo 123|passwd --stdin oldgirl
[root@oldboy ~]# su - oldgirl
[oldgirl@oldboy root]$ su - root
密码:
必须有root密码 (方法:暴力破解.)
[oldgirl@oldboy ~]$ sudo su - root
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大,责任越大。
[sudo] oldgirl 的密码:
oldgirl 不在 sudoers 文件中。此事将被报告。
进入visudo 103gg
[oldgirl@oldboy ~]$ sudo su - root
[sudo] oldgirl 的密码:
上一次登录:五 7月 30 10:44:09 CST 2021从 192.168.45.1pts/1 上
2.添加一个用户属于wheel组
[root@oldboy ~]# useradd test7 -g wheel
[root@oldboy ~]# id test7
uid=6669(test7) gid=10(wheel) 组=10(wheel)
test7即为管理员
二、给予小权限
需求:进入/etc创建个test文件
实现:不授权all,只授权指定命令
1.先查命令全路径
[root@oldboy ~]# which touch
/usr/bin/touch[root@oldboy ~]# which useradd
/usr/sbin/useradd
2.visudo配置命令(全路径,用逗号分割),注意在oldgirl开始的授权上改
oldgirl ALL=(ALL) /usr/bin/touch, /usr/sbin/useradd
3.然后以oldgirl身份执行
[oldgirl@oldboy root]$ sudo touch /etc/oldboy.txt
[sudo] oldgirl 的密码:
[oldgirl@oldboy root]$ ls /etc/oldboy.txt ##成功创建
/etc/oldboy.txt
[oldgirl@oldboy root]$ useradd kk ##必须带sudo 命令语法
useradd: Permission denied.
useradd:无法锁定 /etc/passwd,请稍后再试。
[oldgirl@oldboy root]$ sudo useradd kk ##成功