Linux:使用visudo设置用户sudo权限

visudo

我们可以修改/etc/sudoers文件来设置用户的sudo权限,修改/etc/sudoers一定要使用visudo命令,它可以让我们比较安全的修改此文件。

visudo有以下特性:

  1. 锁定文件避免多个同时编辑
  2. 检查语法的完整性
  3. 检查解析错误,以避免用户错误输入

使用root的权限直接执行visudo,打开suders文件

$visudo

注意:这里不需要输入shduers文件的路径,默认为/etc/sudoers。可以使用-f指定sudoers文件。

设置sudo权限

语法格式

用户  主机=(用户身份) 命令列表

用户:用户可以是直接用户名(如:root),也可以是以%开头表示的用户组(如:%wheel)。
主机:使用Host_Alias定义主机的别名
命令列表:使用Cmnd_Alias定义命令别名,多个命令使用逗号隔开

用法

找到下面这一行

root  ALL=(ALL)   ALL

1、允许用户在所有主机上执行所有命令的权限

test   ALL=(ALL) ALL

2、运行用户在指定主机上执行特定命令的权限

Host_Alias HOST1 = 192.168.1.1
Cmnd_Alias MY_CMD = /bin/mycmd
test HOST1=(ALL) MY_CMD

意思是:允许test在HOST1表示的主机上执行MY_CMD表示的命令

3、设置组执行所有命令的权限

%mygroup  ALL= (ALL)  ALL

4、设置组无需密码执行所有命令的权限

%mygroup ALL=(ALL)   NOPASSWD: ALL

wheel

在Linux有一个特殊的组wheel,它允许此组的用户执行所有命令的权限。

使用visudo打开sudoers文件,找到

%wheel ALL=(ALL)   ALL

如果此行被注释掉,把#去掉,然后把用户添加到此组即可。

usermod -aG wheel myuser

版权声明:著作权归作者所有。

相关推荐

Linux使用find查找大文件

Linux可以使用find命令来查找大文件。语法find <path> [-type <file-type>] -size +<size><unit> -type:指定文件类型,它有这些值d:目录f:普通文件l:链接b: 缓存块c: 非缓存字符p:  pipes

MySQL限定用户远程连接的ip(设置白名单)

出于安全考虑,有时我们需要限定MySQL用户连接ip。使用授权语法grant可以帮我们完成对ip设置白名单。允许所有的ip访问:mysql> grant all privileges on mydb.* to 'myaccount'@'%'; 其中'myaccount'@’%‘表示,允许账号myaccount在所有的ip上

MySQL 5.7设置用户密码过期

数据库mysql的user表里有三个字段用于控制用户密码过期的设置:`password_expired` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `password_last_changed` timestamp NULL&nbs

Linux命令useradd添加用户的默认值说明

Linux添加用户的命令useradd会使用选项指定的值在加上默认文件/etc/default/useradd设置的值初始化新增的用户。这里将对useradd的默认值做下说明。查看默认值[root@xxx home]# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/e

SSH 禁止特定用户使用密码登录

SSH禁止特定用户使用密码登录可以在/etc/ssh/sshd_config添加Match配置过滤指定的用户。按用户过滤Match User user1,user2,user3,user4     PasswordAuthentication no 按组过滤Match Group group1  &