本文介绍在Debian Linux操作系统上把用户增加到Sudoers文件中及添加到sudo组的方法,即讲解两种向用户授予sudo特权的方法:第一个是将用户添加到sudoers文件中,该文件包含一组规则,这些规则确定使用sudo特权授予哪些用户或组,以及特权级别,第二个选项是将用户添加到sudoers文件中指定的sudo组中,默认情况下,在Debian及其衍生版本中,“sudo”组的成员被授予sudo访问权限。关于sudo,如果用一句话来说明:sudo是一个命令行实用程序,允许受信任的用户默认情况下以root用户的身份作为另一个用户运行命令,参考sudo命令_Linux sudo命令使用详解:以其他身份来执行命令。
把用户添加到sudo组 向用户授予sudo特权的最快、最简单的方法是将用户添加到“sudo”组,该组的成员可以通过sudo以root用户身份执行任何命令,并在使用sudo时提示使用密码进行身份验证。 我们假设你要分配给该组的用户已经存在,以root或其他sudo用户身份运行以下命令以把该用户添加到sudo组中,运行以下命令: $ usermod -aG sudo username 确保使用要授予访问权限的用户名更改“username”。 对于大多数用例,使用此方法授予sudo访问权限就足够了。 要确保已将用户添加到组中,请输入以下命令: $ sudo whoami 系统将要求你输入密码,如果用户具有sudo访问权限,该命令将显示“root”,否则,你将收到一条错误消息,提示user is not in the sudoers file,即用户不在sudoers文件中。
把用户增加到sudoers文件中 用户和组的sudo特权在/etc/sudoers文件中定义,此文件使你可以授予对命令的自定义访问权限并设置自定义安全策略。 你可以通过编辑sudoers文件或在/etc/sudoers.d目录中创建新的配置文件来配置用户访问权限,该目录内的文件包含在sudoers文件中。 始终使用visudo命令编辑/etc/sudoers文件,保存文件时,此命令检查文件是否存在语法错误,如果有任何错误,则不会保存文件,如果使用常规文本编辑器编辑文件,则语法错误可能会导致失去sudo访问权限,参考visudo命令_Linux visudo命令使用详解:对/etc/sudoers文件编辑。 visudo使用由EDITOR环境变量指定的编辑器,默认情况下将其设置为vim,如果要使用nano编辑文件,请通过运行以下命令更改变量: $ EDITOR=nano visudo 假设你要允许用户运行sudo命令而无需输入密码,为此,请打开/etc/sudoers文件: $ visudo 向下滚动到文件末尾并增加以下行(文件路径:/etc/sudoers): username ALL=(ALL) NOPASSWD:ALL 保存文件并退出编辑器,不要忘记用你要授予访问权限的用户名更改“username”。 另一个典型示例是允许用户通过sudo仅运行特定命令,例如,要仅允许使用mkdir和rmdir命令,可以使用(同样在/etc/sudoers中): username ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir 通过编辑/etc/sudoers.d目录中的授权规则,可以创建一个新文件,而无需编辑sudoers文件,添加与增加到sudoers文件中相同的规则: $ echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username 这种方法使sudo特权的管理更加可维护,文件名并不重要,但是通常的做法是根据用户名命名文件。
结论 要向Debian操作系统中的用户授予sudo访问权限,只需将用户添加到“sudo”组即可。
相关主题 |