如何在 Linux 中不输入密码运行 sudo 命令
| 2017-02-04 15:07:26 评论: 6
假设你在只有自己使用的计算机上运行 Linux 系统,比如在笔记本电脑上,在每次调用 sudo 时需要输入密码,长期下来就会觉得很乏味。因此,在本指南中,我们将描述如何配置 sudo 命令在运行时而不输入密码。
此设置在 /etc/sudoers
文件中完成,这是使用 sudo 命令的默认安全策略;在用户权限指定部分。
重要:在 sudeors
文件中,默认打开的 authenticate
参数用于验证目的。如果设置了它,用户必须通过密码(或其他身份验证方法)进行身份验证,然后才能使用 sudo
运行命令。
但是,可以使用 NOPASSWD
(当用户调用 sudo
命令时不需要密码)标记来覆盖此默认值。
配置用户权限的语法如下:
user_list host_list=effective_user_list tag_list command_list
其中:
user_list
- 用户列表或已经设置的用户别名。host_list
- 主机列表或用户可以在其上运行 sudo 的主机别名。effective_user_list
- 以该用户或别名运行的用户列表tag_list
- 标签列表,如NOPASSWD
。command_list
- 用户使用sudo
运行的命令或命令别名列表。
要允许用户(下面的示例中的 aaronkilik
)使用 sudo
不输入密码即可运行所有命令,请打开 sudoers
文件:
$ sudo visudo
添加下面的行:
aaronkilik ALL=(ALL) NOPASSWD: ALL
对于组而言,在组名前面使用 %
字符;这意味着 sys
组的所有成员都可以不用密码使用 sudo
。
%sys ALL=(ALL) NOPASSWD: ALL
要允许用户不用密码使用 sudo
运行指定命令(/bin/kill
),添加下面的行:
aaronkilik ALL=(ALL) NOPASSWD: /bin/kill
下面的行会让 sys
组成员在使用 sudo
运行命令:/bin/kill
、/bin/rm
时不用输入密码:
%sys ALL=(ALL) NOPASSWD: /bin/kill, /bin/rm
不用密码运行 sudo
对于更多的 sudo
配置和其他使用选项,请阅读我们有更多例子描述的文章,:
在本篇中,我们讨论了如何配置 sudo 命令来不用输入密码运行。不要忘记在评论栏中给我们提供你关于这份指导的想法和其他对于 Linux 系统管理员有用的 sudoers 配置。
- linux [Chrome 56.0|Mac 10.11] 2017-02-09 21:39
- sudo su -
哈哈
- OriginCode [Chromium 55.0|Ubuntu] 2017-02-09 17:12
- 为什么不用su呢?
- 何以在天涯 [Firefox 51.0|GNU/Linux] 2017-02-09 13:45
- 受教了
- 噪音未来 [Chrome 55.0|Windows 7] 2017-02-08 11:28
- 求问,sudo -i 之后,输入本机的用户密码切换到的root权限,跟sudo过去的权限有何区别
- 来自四川成都的 Chrome 55.0|GNU/Linux 用户 2017-02-04 16:47
- 打错了, 是配置
- 来自四川成都的 Chrome 55.0|GNU/Linux 用户 2017-02-04 16:47
- 建议把这些命令单独放在
/etc/sudoers.d
下