标签:sudo
sudo 配置文件:/etc/sudoers 此文件权限440
配置文件编译命令:visudo
who which_host(runas) command
ckl 10.1.1.%(root) adduser
ckl用户在10.1.1.%网段的所有主机以root用户身份执行adduser命令
支持别名,所有别名必须使用大写字母组合
用户别名:
User_Alias USERADMIN =
用户的用户名
组名使用%
还可以包含其他的用户别名
! 取反
HOST_ALIAS:
主机名
IP
网络地址
其他主机别名
!取反
Runas_Alias:
用户名
%组名
其他别名
Cmnd_Alias:
命令(绝对路径)
目录(此目录下的所有命令)
其他定义的命令别名
sudo:
-l 列出当前用户可以使用的所有的sudo命令
-k 让认证信息失效
sudo 实例
sudo 允许ckl执行adduser命令
(1)ckl登录执行添加kk用户命令
$ sudo adduser kk
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for ckl:
ckl is not in the sudoers file. This incident will be reported.
(2)root执行visudo
[ckl@ckl ~]$ sudo /usr/sbin/adduser kk
[sudo] password for ckl:
[ckl@ckl ~]$ tail -1 /etc/passwd
kk:x:501:502::/home/kk:/bin/bash
(可以添加成功)
(3)$ sudo /usr/sbin/adduser mm
添加用户mm直接成功,因为5分钟内不需要验证,如果需要重新验证使用-k
$ sudo -k
$ sudo /usr/sbin/adduser xjp
[sudo] password for ckl:
(4)允许用户组执行adduser,passwd
User_Alias USRADM = ckl,%ckl
Cmnd_Alias USRCMD = NOPASSWD: /usr/sbin/adduesr,/usr/bin/passwd
USRADM ALL=(root) USRCMD
NOPASSWD: 表示执行此后面的命令不需要输入密码
(5)执行命令
$ sudo /usr/bin/passwd xjp
[sudo] password for ckl:
Changing password for user xjp.
New password:
BAD PASSWORD: it is too simplistic/systematic
BAD PASSWORD: is too simple
Retype new password:
passwd: all authentication tokens updated successfully.
发现可以执行成功,但是这样修改密码不安全可能会修改root密码
(6)修改为不能修改用户密码
User_Alias USRADM = ckl,%ckl
Cmnd_Alias USRCMD = /usr/sbin/adduesr,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root
USRADM ALL=(root) NOPASSWD: USRCMD
(7)执行修改
$ sudo /usr/bin/passwd root
Sorry, user ckl is not allowed to execute ‘/usr/bin/passwd root‘ as root on ckl.test.
日志记录:
/var/log/secure sudo 会记录用户的操作信息
本文出自 “运维菜鸟” 博客,请务必保留此出处http://ckl893.blog.51cto.com/8827818/1682613
标签:sudo
原文地址:http://ckl893.blog.51cto.com/8827818/1682613