Cor*_*rey 6 permissions wget php
我正在使用 PHP 脚本调用shell_exec
并执行wget
将一些文件下载到/var/www/dir/
. (内部工具,因此安全性不是什么大问题)
该目录具有777
权限。但是当我运行时wget
,所有文件都是644
默认的。理想情况下,我希望665
对 group 进行组写访问www-data
。
如何设置wget
下载文件的权限?我不想chmod -R
在每次通话后都跑。
应用于所创建的新文件的权限由给定 shell 中用户的 umask 控制。你可以看到他们正在使用什么命令umask
。
$ umask
0002
Run Code Online (Sandbox Code Playgroud)
要将这些新文件的权限设置为 665,您需要将 umask 设置为:
$ umask 112
Run Code Online (Sandbox Code Playgroud)
这将启用 rwxrwxrwx 中的所有位,即启用 rw-rw-rx 位。掩码指定要“掩码”哪些位,以便禁用它们。
您可以执行以下操作来启用PHP 中的umask
使用shell_exec
:
"umask 112; ...wget..."
Run Code Online (Sandbox Code Playgroud)
上面的分号表明这些实际上是 2 个命令。将umask
首先运行,然后是第二个命令wget ...
。