root的权限太大,要是人人都用root那也会乱套。
所以有了sudo,sudo可以使普通用户去执行更高权限的命令
比如,默认的zabbix不具备重启某服务的权限,那么又想让这个zabbix用户去重启nginx服务,那该咋办?
解决办法(之一):
1.使用root账户登录
2.执行命令visudo (其实编辑的是/etc/sudoers)
3.在【root ALL=(ALL) ALL】这一行下面添加
zabbix ALL=(ALL) NOPASSWD:/usr/bin/systemctl restart nginx,/usr/bin/systemctl restart httpd
解释:
NOPASSWD是免密
冒号后面的是可以执行的命令,多个命令用逗号分开。
这条命令的意思是让用户zabbix能够使用sudo systemctl restart nginx和sudo systemctl restart httpd两条命令。
4.按esc + : + x + 回车。---->即(按Esc键后,按英文的冒号,然后输入x并回车)退出。