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

问题描述及解决步骤
  1. 问题:无法执行某些命令
    • 原因:配置中可能误将某些必要命令列入禁止列表(如/bin/bash)。
    • 解决:检查sudoers文件,确保没有错误配置禁用关键命令。
  2. 问题:用户仍要求输入密码
    • 原因:可能在NOPASSWD配置时未正确配置。
    • 解决:确保在命令后加上NOPASSWD:选项,并且该命令不在禁止列表中。
  3. 问题:编辑sudoers文件时出现语法错误
    • 原因visudo编辑器会进行语法检查,若文件格式不正确,无法保存。
    • 解决:检查文件中是否有多余的空格或错误的命令,使用visudo的内置检查功能修复。
注意事项

通过visudo命令配置sudoers文件,可以有效地管理普通用户的权限,确保系统的安全性。根据实际需要,可以灵活配置哪些命令需要密码,哪些命令可以不需要密码。

posted @ 2019-12-05 10:18  雾里看浮光(南知意)  阅读(559)  评论(0)    收藏  举报