【发布时间】:2018-03-04 04:19:18
【问题描述】:
我有一个 PHP exec 命令,它在 Linux Centos 7.2 中启动一个 bash 脚本
#!/bin/sh
# \
mkdir /var/www/html/folder1/$1
useradd -g usergroup -d /var/www/html/folder1/$1 $1
sudoers 就是这样配置的。 'apache' 是我安装中的 Apache 用户和组:
apache ALL=(ALL) ALL
apache ALL=(ALL) NOPASSWD: /usr/sbin/useradd
mkdir 命令按预期工作。 但是,即使我在 sudoers 中明确取消了组/用户 apache 有权执行 useradd,useradd 命令也会检索到“权限被拒绝”错误。
那么如何解决这个问题?如何创建属于已定义用户组的用户而不获得“权限被拒绝”?
【问题讨论】:
-
正如sudoers configuration post 中所见,组名不应该以
%为前缀吗? -
这段代码在哪里与PHP相关?
-
Apache 是一个用户而不是一个组。应该是组吗?
-
是 apache 是执行 php 脚本的用户吗?不是 www 数据?
-
我找不到任何 www-data 。我的 linux 发行版的用户列表中只有一个 apache 用户,所以我认为我的 apache 版本为用户使用了不同的名称,并且它适用于 mkdir。在编辑 sudoers 之前,我在 mkdir 上遇到了相同的权限问题。现在 mkdir 可以工作,但 useradd 从来没有为我工作过。