Linux中sudoers使用记录

Linux下的sudo权限可以通过/etc/sudoers这个文件来配置,
不过这个文件是只读的, 普通用户无法修改。
有个visudo的命令, 专门来改/etc/sudoers的。

下面是一次配置实验, 记录下来。

实验环境:

Distributor ID: CentOS
Description:    CentOS Linux release 7.4.1708 (Core) 
Release:    7.4.1708
Codename:   Core

需求如下: 为新用户配置sudo权限, 避免其功能太弱。

打开/etc/sudoers这个文件, 在最后可以看到

## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d

意思是, 在/etc/sudoers.d中放置的文件可以被读取到, 语法和/etc/sudoers一致。

那么我创建一个文件: /etc/sudoers.d/mySudoers,
写入如下内容(注意: 仅为示例, 不可作为真实服务器配置):

jz ALL=/usr/bin/*, /usr/sbin/*, /sbin/*, !/usr/sbin/fdisk, !/usr/bin/passwd, !/usr/sbin/userdel

上面的意思是说, 允许用户jz在所有被管理的机器上(All, 目前我的就一台),
可以执行的命令为:/usr/bin/*, /usr/sbin/*, /sbin/*(*代表所有),
不可以执行的命令为:
!/usr/sbin/fdisk, !/usr/bin/passwd, !/usr/sbin/userdel

然后退出保存, 再将mySudoers的仅限改为440。

可能出现的问题:

  • sudo: /etc/sudoers.d/mySudoers is world writable
    原因:mySudoers权限不是只读。

  • Sorry, user user1 may not run sudo on gl.
    原因: user1没有配置sudo权限

  • user1 is not in the sudoers file. This incident will be reported
    原因: user1没有配置sudo权限

再次说明, 此为实验, 不可用于真实环境。

欢迎补充指正!

猜你喜欢

转载自blog.csdn.net/butterfly5211314/article/details/80154316