如何在 root 用户(具有所有权限)下从 PHP 运行 bash 脚本而不是 nobody 用户 - php 默认用户?
那是我在 sudo visudo 之后的输出:
Defaults env_keep += "LINES COLUMNS"
Defaults env_keep += "LSCOLORS"
Defaults env_keep += "SSH_AUTH_SOCK"
Defaults env_keep += "TZ"
Defaults env_keep += "DISPLAY XAUTHORIZATION XAUTHORITY"
Defaults env_keep += "EDITOR VISUAL"
Defaults env_keep += "HOME MAIL"
#User privilege specification
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
最佳答案
你可以使用 sudo:
exec("sudo /your/script");
您应该允许在没有密码提示的情况下执行您的脚本。在控制台中运行 sudo visudo
并在末尾添加以下字符串:
nobody ALL = NOPASSWD: /your/script
您必须正确设置文件模式以确保没有人可以修改此脚本并将危险内容放入其中(在根控制台中):
chown root:root /your/script
chmod 755 /your/script
关于php - 如何在 root 用户下从 PHP 运行 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10915241/