如何不需要密码运行sudo命令
source link: https://www.myfreax.com/how-to-run-sudo-command-without-password/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
如何不需要密码运行sudo命令
自动化脚本需要配置sudoers文件并允许某些用户在不需要输入密码的情况下运行sudo命令
如何不需要密码运行sudo命令
sudo
命令允许受信任的用户以其他用户运行命令与程序。默认是root用户。
通常要向用户授予sudo权限,您应该将用户添加到/etc/sudoers
文件定义的sudo组中。这是向用户授予sudo权限的首选方法。
在Debian,Ubuntu及其衍生的发行版,sudo
组的成员被授予sudo的访问权限,而在基于RedHat的发行版,如CentOS和Fedora,wheel
组的成员具有sudo的访问权限。
在运行sudo命令之前,将提示组的成员输入密码。这增加了一层额外的安全性,但是,在某些情况下,例如运行自动化脚本。
您可能需要配置sudoers文件并允许某些用户在不需要输入密码的情况下运行sudo
命令。在本教程中,我们将说明如何不输入密码运行sudo命令。
无密码运行sudo
在/etc/sudoers
文件中定义了用户和组的sudo权限的策略。此文件使您可以授予命令的自定义访问权限并设置自定义安全策略。
myfreax ALL=(ALL) NOPASSWD:ALL
规则将允许用户在运行sudo命令时,不需要输入密码即可运行。这在编写脚本时特别有用。
假设您要允许用户不输入密码运行sudo命令。请运行命令sudo visudo
打开文件/etc/sudoers
。
追加此规则到/etc/sudoers
文件的末尾。保存文件,然后退出编辑器。不要忘记用将myfreax
改为你使用的用户名。
sudo visudo
myfreax ALL=(ALL) NOPASSWD:ALL
/etc/sudoers除了编辑sudoers文件外,还可以在/etc/sudoers.d
目录创建文件并添加授权规则来实现相同目的。
如果在/etc/sudoers.d
目录中创建新的配置文件,必须在/etc/sudoers
文件使用includedir /etc/sudoers.d
指令包含/etc/sudoers.d
目录文件。
includedir
指令默认是没有启用的,如需要启用,去掉注释即可。
这种方法使得对sudo权限管理更加可维护。文件名并不重要,但通常的做法是根据用户名命名文件。
仅允许运行指定的命令
另一个典型示例是仅允许用户使用sudo运行指定的命令。例如,要仅允许用户使用sudo运行mkdir
命令创建目录和rmdir
命令删除目录。
myfreax ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir
规则将允许用户在不输入密码,仅运行指定rmdir和mkdir命令。
sudo visudo
myfreax ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir
/etc/sudoers结论
教程中已经向您展示了如何编辑/etc/sudoers
以使您sudo
无需输入密码即可运行命令。当您具有非root用户需要执行管理任务的脚本时,此功能很有用。如有任何疑问,请随时发表评论。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK