使用 php 在 /etc 中创建目录
create directory in /etc with php
我想在/etc/nginx/sites-enabled/php中创建一个文件,我已经尝试了很多次但是php不会让我认为我已经修改了/etc/sudoers我将它们设置为 user ALL: NOPASSWD: ALL 但仍然不起作用有人可以告诉我为什么吗?
$result= shell_exec('sudo -u root mkdir /etc/nginx/myfile');
我的档案/etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults exempt_group=sudo
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
Cmnd_Alias NGINXVHOST = /bin/ln, /bin/mkdir
# User privilege specification
# root ALL=(ALL:ALL) ALL
root ALL= (ALL) NOPASSWD:ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL) NOPASSWD:ALL
vagrant ALL=(ALL) NOPASSWD:ALL
subdominio ALL=(ALL) NOPASSWD:ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
请帮忙!!!
实现此 objective 的正确方法是让您的 PHP 页面在任务队列中创建一个条目。该条目只需要包含虚拟主机的新域。然后你应该有另一个进程以 root 身份运行,它可以检查主机名并根据需要创建 nginx 记录。
如果您目前没有使用任何任务队列,这也可以通过一个简单的 cron 作业来实现。只需在您的数据库中输入虚拟主机名称即可。然后让 cron 作业每分钟检查 table 并制作 nginx 记录。
我想在/etc/nginx/sites-enabled/php中创建一个文件,我已经尝试了很多次但是php不会让我认为我已经修改了/etc/sudoers我将它们设置为 user ALL: NOPASSWD: ALL 但仍然不起作用有人可以告诉我为什么吗?
$result= shell_exec('sudo -u root mkdir /etc/nginx/myfile');
我的档案/etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults exempt_group=sudo
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
Cmnd_Alias NGINXVHOST = /bin/ln, /bin/mkdir
# User privilege specification
# root ALL=(ALL:ALL) ALL
root ALL= (ALL) NOPASSWD:ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL) NOPASSWD:ALL
vagrant ALL=(ALL) NOPASSWD:ALL
subdominio ALL=(ALL) NOPASSWD:ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
请帮忙!!!
实现此 objective 的正确方法是让您的 PHP 页面在任务队列中创建一个条目。该条目只需要包含虚拟主机的新域。然后你应该有另一个进程以 root 身份运行,它可以检查主机名并根据需要创建 nginx 记录。
如果您目前没有使用任何任务队列,这也可以通过一个简单的 cron 作业来实现。只需在您的数据库中输入虚拟主机名称即可。然后让 cron 作业每分钟检查 table 并制作 nginx 记录。