在linux中将用户添加进sudo组,并不输入密码的方法

这几天在为nagios写一些自定义的插件,发现有些命令用nagios用户执行时权限不够。干脆把用户nagios添加进sudo组(即编辑文件/etc/sudoers),发现还要输入密码。

需要root权限只有一个办法就是用sudo
将DISK_HEALTH=`$SMARTCTL -H $CHECK_DISK | tail -1 | cut -d: -f2- `
改为DISK_HEALTH=`/usr/bin/sudo $SMARTCTL -H $CHECK_DISK | tail -1 | cut -d: -f2- `
(最后发现这时加sudo 并不是关键 关键是很行脚本时用sudo )
結果:sudo -u nagios ./check_disk_health.sh
Password:
需要输入密码  sudo不用输入密码的方法
修改sudo配置文件具体方法如下:

首先,在文件/etc/sudoers中,找到以下行:

## Allow root to run any commands anywhere 
root    ALL=(ALL)       ALL

将用户添加进sudo组的方法是:在这一行后面添加以下一句:

nagios  ALL=(ALL)       ALL:ALL

如果需要用户nagios使用sudo命令时不输入密码,则是输入以下一句:

nagios  ALL=(ALL)       NOPASSWD:ALL 

nagios ALL=(ALL) NOPASSWD:/usr/local/nagios/libexec/check_disk_health.sh
建议:最好进行sudo的一些控制,很多网方法就是nagios ALL=NOPASSWD:ALL

就这么简单,大家可以尝试一下。其实在/etc/sudoers文件中已经有提示了,只是平时没有注意看。所以以后多看看文件里头的注释还是很有用的。


还有一点,sudo命令默认是不能在后台运行的,如果需要在后台运行(比如nagios的被监控服务器端),就需要将/etc/sudoers文件中以下一行注释掉。

Defaults    requiretty


权限调整后测试:

远程调用方法:./check_nrpe -H 192.168.0.56 -c check_disk_health.sh


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值