欢迎来到Louis的博客

人生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
扩大
缩小

Linux sudo用法

Linux sudo命令

1.sudo命令介绍及工作原理

通过sudo命令,我们可以把某些超级用户权限分类有真针对性(精细)授权给指定的普通用户,并且普通用户不需要指定root密码就可以得到授权,因此,毫不夸张的说,sudo命令对于su命令来说,在系统用户的分权管理方面进度了很多,使得集权式管理在理论上得到了保证,从而使系统的安全性方面加强了很多

visudo
第98行
zhangjin123 ALL=(ALL) /usr/sbin/useradd,/usr/sbin/userdel
%sa ALL=(ALL) /usr/sbin/useradd,/usr/sbin/userdel 对组授权
用户或组 主机别名=(授权用户) 可执行的命令


sudo命令
-l 列出用户在主机上可用的和被禁止的命令;当配置号sudo授权规则后,可用这个参数来查看授权情况。

-v 验证用户的时间戳,当用户运行sudo,输入用户密码后,在短时间内可以不用输入口令直接进行sudo操作:用-v可以跟踪最新的时间戳

-u 指定以某个身份执行特定的命令操作 oldboy ALL=(ALL) /bin/cp

-k 删除时间戳,下一个sudo命令要求提供密码。

2./etc/sudoers文件

%sa ALL=(ALL) /usr/sbin/useradd,!/usr/sbin/userdel
注意事项:
授权规则中的所欲ALL都必须大写
!开头的命令为不允许使用的命令,命令的顺序是禁止的命令要放在允许的命令后面


1.Host_Alias定义主机别名

Host_Alias FILESERVER = fs1,fs2 #‘=’号两边有空格,每个成员用逗号和好,逗号后面有空格

说明:
1.在生产场景中,一般情况下不需要设置主机别名,在定义授权规则时可以通过ALL来匹配所有的主机。
2.请注意上面定义的规范,有些规范虽然不是必须的,但我们还是要求能够按照系统的标准来配置,这样可以避免意外的发生。
3.以上Host_Alases内容截取自/etc/sudoers文件

2.User Aliases(用户组前面要加%)

User_Alias ADMINS = jsmith, mikem, %groupname
说明:
1.设置用户别名也不是必须的,更多情况下,我们可以通过%groupname的方式来做为成员。


3.Cmnd Alias 命令别名

Cmnd_Alias USERCMD = /user/sbin/useradd, /user/sbin/userdel

用户和组都必须存在
#工作需求:
开发人员:User_Alias KAIFA_ADMINS = kaifa01, kaifa02
命令权限:KAIFACMD
身份权限:OP1

运维人员:User_Alias OLD_ADMINS = oldboy, oldgirl, %sa
命令权限:USERCMD,DISKCMD,NETMAGCMD,CTRLCMD
身份权限:OP1

网络工程师:User_Alias OLD_NETADMINS = leo, maya
命令权限:NETWMAGCMD
身份权限:OP2


#用户别名分类:
User_Alias KAIFA_ADMINS = kaifa01, kaifa02
User_Alias OLD_ADMINS = oldboy, oldgirl, %sa
User_Alias OLD_NETADMINS = leo, maya

#岗位命令分类别名

Cmnd_Alias    USERCMD = /usr/sbin/useradd, /usr/sbin/userdel, \
/usr/bin/passwd [A-Za-z]*, /bin/chown, /bin/chmod
Cmnd_Alias DISKCMD = /sbin/fdisk, /sbin/parted
Cmnd_Alias NETMAGCMD = /sbin/ifconfig, /etc/init.d/network
Cmnd_Alias CTRLCMD = /usr/sbin/reboot, /usr/sbin/halt
Cmnd_Alias KAIFACMD = /bin/grep, /usr/bin/tail, /bin/cat

#角色
Runas_Alias OP1 = root, oldboy
Runas_Alias OP2 = root, oldgirl


#root ALL=(ALL)    ALL
#用户 机器 角色 命令

KAIFA_ADMINS ALL = (OP1) KAIFACMD
OLD_ADMINS ALL = (OP1) USERCMD, DISKCMD, NETMAGCMD, CTRLCMD
OLD_NETADMINS ALL = (OP2)    NETMAGCMD

 

posted on 2019-02-22 11:32  Louiszj  阅读(248)  评论(0)    收藏  举报

导航