00.06.Linux系统Visudo普通用户权限配置
Visudo权限配置文件:普通用户权限配置
本文档介绍如何通过visudo配置普通用户的使用权限范围,确保系统的安全性和灵活性。根据公司需求定制配置,以限制特定命令的访问。
1. 打开visudo配置文件
首先,使用visudo命令编辑/etc/sudoers文件,这个文件管理用户的权限。
[root@localhost ~]# visudo
2. 配置root用户权限
通过默认配置,root用户可以执行任何命令。配置如下:
## 允许root用户在任何地方执行任何命令
root ALL=(ALL) ALL
3. 配置普通用户权限
步骤1:创建或修改普通用户配置
假设你需要配置一个名为user的普通用户权限,限制其能够执行的命令范围。
user ALL=NOPASSWD:ALL,!/usr/bin/passwd root,!/sbin/visudo,!/bin/bash,!/bin/sh,!/bin/tcsh
- NOPASSWD:ALL 表示不需要输入密码即可执行所有命令。
- !/usr/bin/passwd root 禁止user用户执行与passwd root相关的命令。
- !/sbin/visudo 禁止执行visudo命令,防止修改sudoers文件。
- !/bin/bash, !/bin/sh, !/bin/tcsh 禁止执行这些shell程序。
步骤2:配置组权限(可选)
如果你希望将某些用户归为特定组(例如wheel组),并授予组内所有用户相同权限,可以通过以下方式配置:
## 允许wheel组的用户执行所有命令
#%wheel ALL=(ALL) ALL
## 配置wheel组用户不需要输入密码执行部分命令
#%wheel ALL=NOPASSWD:ALL,!/usr/bin/passwd root,!/sbin/visudo,!/bin/bash,!/bin/sh,!/bin/tcsh
4. 配置完成后保存并退出
保存文件并退出visudo编辑器:
- 按
Ctrl + X退出 - 按
Y保存更改 - 按
Enter确认文件名
5. 测试配置
完成配置后,使用以下命令测试普通用户权限:
[root@localhost ~]# su - user [user@localhost ~]$ sudo <command>
检查是否符合权限控制要求,例如尝试运行禁止的命令/bin/bash。
问题描述及解决步骤
- 问题:无法执行某些命令
- 原因:配置中可能误将某些必要命令列入禁止列表(如
/bin/bash)。 - 解决:检查
sudoers文件,确保没有错误配置禁用关键命令。
- 原因:配置中可能误将某些必要命令列入禁止列表(如
- 问题:用户仍要求输入密码
- 原因:可能在
NOPASSWD配置时未正确配置。 - 解决:确保在命令后加上
NOPASSWD:选项,并且该命令不在禁止列表中。
- 原因:可能在
- 问题:编辑sudoers文件时出现语法错误
- 原因:
visudo编辑器会进行语法检查,若文件格式不正确,无法保存。 - 解决:检查文件中是否有多余的空格或错误的命令,使用
visudo的内置检查功能修复。
- 原因:
注意事项
通过visudo命令配置sudoers文件,可以有效地管理普通用户的权限,确保系统的安全性。根据实际需要,可以灵活配置哪些命令需要密码,哪些命令可以不需要密码。
本文来自博客园,作者:{雾里看浮光(南知意)},转载请注明原文链接:{https://www.cnblogs.com/JaseLee}

浙公网安备 33010602011771号