1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| 11.1) su 切换身份 需要知道用户的密码,才可以切换. su - root #输入root的密码 问题: 1.不希望给开发root的权限,容易造成故障. 2.不给开发权限,有些任务他需要root权限. 11.2) sudo 提权 1.快速给用户分配一个sudo的权限: [root@oldboy-pythonedu ~]# useradd -G wheel oldxu [root@oldboy-pythonedu ~]# echo "123" | passwd --stdin oldxu
2.验证权限: [oldxu@oldboy-pythonedu ~]$ yum install wget -y 已加载插件:fastestmirror 您需要 root 权限执行此命令。
[oldxu@oldboy-pythonedu ~]$ sudo yum install wget -y 我们信任您已经从系统管理员那里了解了日常注意事项。 总结起来无外乎这三点:
#1) 尊重别人的隐私。 #2) 输入前要先考虑(后果和风险)。 #3) 权力越大,责任越大。
[sudo] oldxu 的密码: # 普通自己的密码,不是root的密码
vim /etc/sudoers visudo -c 检查语法
1.定义组名称 ( sudo里面的虚拟的 ) User_Alias DEV = kaifa1,kaifa2 User_Alias OPS = ops1,ops2
2.定义权限 Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
## Installation and management of software Cmnd_Alias SOFTWARE = /bin/rpm, /usr/bin/up2date, /usr/bin/yum
## Services Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig, /usr/bin/systemctl start, /usr/bin/systemctl stop, /usr/bin/systemctl reload, /usr/bin/systemctl restart, /usr/bin/systemctl status, /usr/bin/systemctl enable, /usr/bin/systemctl disable
## Updating the locate database # Cmnd_Alias LOCATE = /usr/bin/updatedb
## Storage Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount
## Processes Cmnd_Alias PROCESSES = /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall
3.将用户组与权限进行绑定 root ALL=(ALL) NOPASSWD:ALL #可以执行所有的命令,并且无需输入密码 DEV ALL=(ALL) NETWORKING,SOFTWARE,SERVICES OPS ALL=(ALL) NETWORKING,SOFTWARE,SERVICES,PROCESSES,STORAGE
4.创建对应的用户,并设定密码 [root@oldboy-pythonedu ~]# useradd kaifa1 [root@oldboy-pythonedu ~]# useradd kaifa2 [root@oldboy-pythonedu ~]# useradd ops1 [root@oldboy-pythonedu ~]# useradd ops2 [root@oldboy-pythonedu ~]# echo "1" | passwd --stdin kaifa1 [root@oldboy-pythonedu ~]# echo "1" | passwd --stdin kaifa2 [root@oldboy-pythonedu ~]# echo "1" | passwd --stdin ops1 [root@oldboy-pythonedu ~]# echo "1" | passwd --stdin ops2
5.使用 sudo -l 验证开发的权限和运维的权限是否不一致 用户 kaifa1 可以在 oldboy-pythonedu 上运行以下命令: (ALL) /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool, /bin/rpm, /usr/bin/up2date, /usr/bin/yum, /sbin/service, /sbin/chkconfig, /usr/bin/systemctl start, /usr/bin/systemctl stop, /usr/bin/systemctl reload, /usr/bin/systemctl restart, /usr/bin/systemctl status, /usr/bin/systemctl enable, /usr/bin/systemctl disable
用户 ops1 可以在 oldboy-pythonedu 上运行以下命令: (ALL) /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool, /bin/rpm, /usr/bin/up2date, /usr/bin/yum, /sbin/service, /sbin/chkconfig, /usr/bin/systemctl start, /usr/bin/systemctl stop, /usr/bin/systemctl reload, /usr/bin/systemctl restart, /usr/bin/systemctl status, /usr/bin/systemctl enable, /usr/bin/systemctl disable, /bin/nice, /bin/kill, /usr/bin/kill, /usr/bin/killall, /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount
|