非root用户免密执行sudo

本文介绍了如何通过配置sudoers文件实现脚本中命令的自动执行而无需输入密码,包括sudo的基本概念及其配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一些命令的执行需要root权限,另一些命令需要密码,如数据库登录psql。这样的命令写入脚本后,脚本运行会中断并请求密码。很多时候会造成不方便,自动运行脚本更是无法进行。

sudo = substitute user do,是linux下允许普通用户使用超级用户权限的工具。
sudoers是sudo的配置文件,它允许系统管理员集中地管理用户的使用权限和使用的主机。存放的位置/etc/sudoers。

修改配置

sudo visudo
  • visudo会锁住sudoers文件,保存修改到临时文件,然后检查文件格式,确保正确后才会覆盖sudoers文件。vi /etc/sudoers格式错误会导致sudo无法运行,不建议使用。

  • 特定用户的配置可以写在/etc/sudoers.d/{user}单独文件里

示例

详细配置略繁杂,这里不介绍,只列出一些常用配置

#对用户组admin
%admin ALL=(ALL) ALL
#赋予用户steven所有权限
#用户 登录主机=(可切换用户:可执行命令) 无密码命令
steven ALL=(ALL:ALL) NOPASSWD: ALL
#针对特定文件
steven ALL=(root) NOPASSWD:/web/proj/test.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值