Linux免输密码执行root权限sudo 解释sudoers字段“%sudo ALL=(ALL:ALL) NOPASSWD:ALL”用法
🕗2024-12-02👁️1
Debian和Ubuntu系统文件 /etc/sudoers 里默认包含了"%sudo ALL=(ALL:ALL)"这个字段,意思是说加入sudo组下的所有用户都能使用sudo权限,前提需要执行用户本身的密码,那如果不想输入执行者的密码也获取sudo权限怎么办呢?那就是配置免密sudo。常用的两种方法:
第一种
sed -i '/%sudo/c %sudo ALL=(ALL:ALL) NOPASSWD:ALL' /etc/sudoers
visudo -c #检查语法是否正确,一定要执行,否则出现问题很麻烦
各字段解释:
第一段:用户名或者用户组,表示谁有权限来使用后面的配置。%sudo代表sudo组下的所有用户
第二段:表示来源地,即从哪执行这条命令。ALL表示所有计算机
第三段:表示sudo可以切换到什么用户。ALL表示所有用户
第四段:表示sudo可以切换到哪些组下的用户。ALL表示所有组
第五段:表示sudo之后能够执行的命令。NOPASSWD:ALL表示执行任意命令都不需要密码
解决ubuntu系统sudo不能使用的问题
第二种(CentOS也可以用)
echo "test ALL=(ALL:ALL) NOPASSWD:ALL" >> /etc/sudoers
让test用户可以免密sudo执行所有命令
给指定命令放开免密sudo权限
visudo,添加下面的内容
admin ALL=(ALL) NOPASSWD: /usr/bin/tail,/usr/bin/cat,/bin/vim,/usr/bin/du