linux的sudo配置及用户组管理命令回顾

问题:某些场景下,需要修改一些root权限的配置文件,然后执行一些root权限的命令,不想老是使用root账号;

解决方案:

  第一步:将配置文件归到一个特殊的组,如confgp,对组成员开放写权限,同时在userA的附加组里面加上confgp;

             这一步也可以使用setfacl工具来进行权限控制,参考:https://blog.csdn.net/qq_40809549/article/details/83339570

  第二步:为userA配置sudo,使其可使用root权限执行某些命令。

 

第一步:关于用户组管理的相关命令

参考:https://www.cnblogs.com/jxhd1/p/6528574.html

所有的用户帐户及相关信息都存储在 /etc/passwd 文件中,/etc/shadow 和 /etc/group 文件存储了用户信息。

useradd [-g userA -G groupA,groupB...] userA

  -g userA          userA的主要用户组,默认创建

  -G groupA,groupB...          userA的附加用户组,多个用户组直接用英文逗号隔离

 

usermod -a -G groupC userA      将已有用户userA加到groupC

usermod -g groupD userA           将已有用户userA的主用户组修改为groupD

gpasswd -d userA groupD           将userA从groupD中删除,groupD不能是userA的主用户组

 

第二步:配置sudo

参考:https://www.linuxidc.com/Linux/2016-08/134451.htm

使用visudo来修改sudo配置文件:/etc/sudoers

配置基础规则:授权用户 主机=命令动作,如:userA ALL=/bin/chown

配置详解:授权用户 主机=[(切换到哪些用户或用户组)] [是否需要密码验证] 命令1,[(切换到哪些用户或用户组)] [是否需要密码验证] [命令2],[(切换到哪些用户或用户组)] [是否需要密码验证] [命令3]......

别名定义参考:

Host_Alias FILESERVERS = server1, server2

User_Alias ADMINS = userA,userB

Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig

ADMINS    FILESERVERS=(root) NOPASSWD:SERVICES

 

sudo配置示例:

visudo

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
ooxx    ALL=(ALL)       NOPASSWD:SERVICES

配置文件添加:/etc/sudoers.d/下新增文件ooxx

ooxx ALL=(root) NOPASSWD:/sbin/service nginx start,PASSWD:/sbin/service nginx stop
ooxx ALL=(root) NOPASSWD:/sbin/service nginx reload

如此,即可在ooxx用户下使用sudo service nginx reload等命令

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值