仅针对某些参数授予对命令的访问权限(针对路径进行 chown)

仅针对某些参数授予对命令的访问权限(针对路径进行 chown)

我有一个脚本需要在文件夹中递归更改所有者

这是我的特定的 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

相关内容