📅  最后修改于: 2023-12-03 15:05:24.086000             🧑  作者: Mango
如果你在 Linux 中想要进行一些需要管理员权限的操作,可能会在命令前加上 sudo
,例如:
sudo apt-get update
sudo chown -R user:user /path/to/directory
sudo
命令可以让普通用户执行需要管理员权限的操作,但是这需要在系统中配置一些权限管理的设置。其中一个重要的设置就是 sudoers
文件。
sudoers
文件是一个系统中的配置文件,用于规定哪些用户可以以哪些身份(例如 root)进行哪些操作。该文件通常存储在 /etc
目录下,而且只有管理员用户才有权利修改这个文件。
我们有时会遇到这样的提示:sudo:找不到有效的 sudoers 源,退出
,它出现的原因可能是我们修改 sudoers
文件不正确,导致文件结构错误。此时可以使用以下命令修复:
sudo chown -R root:root /etc/sudoers
sudo chmod 440 /etc/sudoers
这两个命令将修复 sudoers
文件所需的所有权限问题。尤其是第一行命令中的 root:root
,将 sudoers
文件的拥有者和组都设为 root。
sudoers
文件的格式并不简单,下面是一些示例:
# 表示后面的一行是注释
# User privilege specification
root ALL=(ALL:ALL) ALL
# 表示 root 用户可以以任意身份执行任意命令
%admin ALL=(ALL) ALL
# 表示组 admin 中的用户可以以任意身份执行任意命令
user ALL=(root) NOPASSWD: /bin/kill, /usr/bin/top
# 表示 user 用户可以以 root 身份执行 /bin/kill 和 /usr/bin/top,而且不需要输入密码
上述示例中 sudoers
文件可以看成一个二维表,其中包含了用户、用户组、命令、身份等信息。为了添加一个新的规则,需要在 sudoers
文件中手动编辑,当然也可以使用 visudo
命令进行编辑,注意只能使用这个命令打开编辑器,否则在保存时可能会报错。
visudo
命令会在修改 sudoers
文件之前,检查文件的语法和正确性。
sudo visudo
此时你需要编辑 sudoers
文件,添加或者修改规则。如果你不确定怎么添加规则,请参考手册:man sudoers
或者 man visudo
。
sudoers
文件是系统权限管理的重要组成部分,只有通过这个文件,才能保证系统的安全性和可管理性。对于普通用户来说,应该保持系统文件的干净和规范,不要随意修改这个文件。