Cron 使用户成为 public 权限
Cron makes user as public in permission
设置:
我正在 运行使用 crontab -e
.
创建一个带有自定义 cron 作业的 wordpress 站点
在我的 php 文件中,我有以下执行功能:
require('/var/www/html/wp-load.php');
define('WP_USE_THEMES', false);
if (!empty($argv[1])) {
switch ($argv[1]){
case 'init':
chmod_or_mkdir_function();
break;
}
}
问题:
如果我 运行 这个功能 (chmod_or_mkdir_function()
) 通过正常的 wp 路由(而不是通过 cronjob),它工作得很好。
但是,当我通过 cronjob 运行 它时,我得到 chmod(): Operation not permitted in
或 folder is not writable
错误。
权限已设置为 775
,它们仅在我更改为 777
时有效,出于安全原因我真的不想这样做。
我的猜测:
我的猜测是,当我通过 cronjob 调用我的 php 文件时,我不知何故不被视为 admin
或 group
,而是 public
.
我将如何解决这个问题?
通常 Wordpress 在网络服务器的用户下运行,例如 apache,而你就是你。您可以将文件所属的组更改为您和 Wordpress 都是其成员的组。由于该文件已经是组可写的 (775),因此将其组更改为你们都是其成员的组应该可以解决问题。您可以使用 chgrp 命令:
chgrp newgroup file
如果你的文件实际上是一个目录,加入 -R 使其递归:
chgrp -R newgroup file
设置:
我正在 运行使用 crontab -e
.
在我的 php 文件中,我有以下执行功能:
require('/var/www/html/wp-load.php');
define('WP_USE_THEMES', false);
if (!empty($argv[1])) {
switch ($argv[1]){
case 'init':
chmod_or_mkdir_function();
break;
}
}
问题:
如果我 运行 这个功能 (chmod_or_mkdir_function()
) 通过正常的 wp 路由(而不是通过 cronjob),它工作得很好。
但是,当我通过 cronjob 运行 它时,我得到 chmod(): Operation not permitted in
或 folder is not writable
错误。
权限已设置为 775
,它们仅在我更改为 777
时有效,出于安全原因我真的不想这样做。
我的猜测:
我的猜测是,当我通过 cronjob 调用我的 php 文件时,我不知何故不被视为 admin
或 group
,而是 public
.
我将如何解决这个问题?
通常 Wordpress 在网络服务器的用户下运行,例如 apache,而你就是你。您可以将文件所属的组更改为您和 Wordpress 都是其成员的组。由于该文件已经是组可写的 (775),因此将其组更改为你们都是其成员的组应该可以解决问题。您可以使用 chgrp 命令:
chgrp newgroup file
如果你的文件实际上是一个目录,加入 -R 使其递归:
chgrp -R newgroup file