我使用Apache CGI mod允许通过HTTP(S)请求执行python脚本。问题是我想要执行的脚本 backup.py ,一次执行一个子进程调用,其中 mysqldump 命令被传送到 sudo - I 即可。问题是CGI"用户", www-data ,没有root访问权限,我当然不想给它一般,只是为了这个特定的任务。如何才允许 www-data 仅在 sudo -i 下执行 mysqldump 命令?
答案 0 :(得分:2)
提升特定脚本权限的一种方法是使用sudoers文件。
创建一个文件,其中包含您要使用root权限执行的脚本,请在/path/to/script.sh
说明。
然后,使用sudoers
修改sudo visudo
文件,并添加以下行:
www-data ALL = (root) NOPASSWD: /path/to/script.sh
在适当的位置设置用户名和路径。