我有一个脚本需要在文件夹中递归更改所有者
这是我的特定的 sudoers 文件:/etc/sudoers.d/jenkins
jenkins ALL=(ALL) NOPASSWD: /bin/chmod, /bin/chown
这是詹金斯需要执行的命令:
chown -R apache:apache /var/www/vhosts/${HOST}/${PROJECT}
出于安全原因,我需要限制 sudo 权限仅适用于使用参数 /var/www/vhosts/*** 的 chown
sudoers 文件中有一些正则表达式可以执行此操作吗?
答案1
是的,您可以使用通配符:
jenkins ALL=(ALL) NOPASSWD: /bin/chown -R apache:apache /var/www/vhosts/*
但是从安全角度来看,编写自己的脚本可能更安全,这样您就可以验证参数并确保只有您想要影响的路径才会受到影响:
jenkins ALL=(ALL) NOPASSWD: /usr/local/bin/my-custom-chown-script