linux下添加用户到sudo组 并禁止sudo用户修改密码


linux下添加用户到sudo组

创建用户  useradd hanli

为新用户设置密码  passwd hanli

创建用户组  groupadd  op

将用户添加到用户组  usermod -G op hanli

查看用户属于哪个组  groups hanli

查看用户组成员    groupmems -g wheel -l  (wheel是组名)

查看所有用户组   cat /etc/group   cat /etc/gshadow

查看所有用户       cat /etc/passwd       cat /etc/shadow

给普通用户添加sudo权限,并且使用时不用输入密码:

直接键入命令visudo(这是Linux提供的修改sudoer的工具,与用vi亲自修改配置文件相比,它提示更多的提示信息的纠错能力), 或者vi /etc/sudoers  ,添加如下一行

hanli           ALL=(ALL)   NOPASSWD: ALL

jorge ALL=(root) /usr/bin/find, /bin/rm

上面的第一栏规定它的适用对象:用户或组,就本例来说,它是用户jorge。此外,因为系统中的组和用户可以重名,要想指定该规则的适用对象是组而非用户的话,组对象的名称一定要用百分号%开头。第二栏指定该规则的适用主机。当我们在多个系统之间部署sudo环境时,这一栏格外有用,这里的ALL代表所有主机。但是,对于桌面系统或不想将sudo部署到多个系统的情况,这一栏就换成相应的主机名。第三栏的值放在括号内,指出第一栏规定的用户能够以何种身份来执行命令。本例中该值设为root,这意味着用户jorge能够以root用户的身份来运行后面列出的命令。该值也可以设成通配符ALL,jorge便能作为系统中的任何用户来执行列出的命令了。最后一栏(即/usr/bin/find,/bin/rm)是使用逗号分开的命令表,这些命令能被第一栏规定的用户以第三栏指出的身份来运行它们。本例中,该配置允许jorge作为超级用户运行/usr/bin/find和 /bin/rm这两个命令。如果配置该用户不能执行某些命令,在命令前加”!”即可,需要指出的是,这里列出的命令一定要使用绝对路径。

如何禁止sudo用户修改密码

root新建用户:

useradd user

passwd user

root 用户在 sudoers文件中添加:

user ALL=/usr/sbin/*,/sbin/*,/usr/bin/*,!/bin/chattr,!/bin/passwd,!/usr/sbin/visudo,!/usr/sbin/useradd,!/usr/sbin/userdel

所有sudo开个头的文件或文件夹添加i属性(不得任意更动文件或目录):

复制代码
chattr +i /etc/sudo.conf

chattr +i /etc/sudoers

chattr +i /etc/sudoers.d/

chattr +i /etc/sudo-ldap.conf
复制代码

解锁文件

复制代码
chattr -i /etc/sudo.conf

chattr -i /etc/sudoers

chattr -i /etc/sudoers.d/

chattr -i /etc/sudo-ldap.conf
复制代码

Leave a Reply