Wget Linux 命令只为 sudo 用户下载具有读取权限的文件 - 如何向所有用户授予读取权限?
Wget Linux command is downloading files with Read Permissions for only sudo users - how to give Read permissions to all users?
我是 运行 Ubuntu 16.04,我正在 PHP 编程。这是我的问题:
我需要使用 wget
linux 命令从网站下载所有文件。所以我使用PHP的shell_exec()
函数来执行命令:
$wgetCommand = "wget --recursive --page-requisites --convert-links $url 2>&1";
$wgetCommandOutput = shell_exec($wgetCommand);
此命令递归地从网站下载所有文件和文件夹到当前工作目录(除非另有说明)。问题是下载这些文件和文件夹后,我没有权限以编程方式读取它们。
但是如果我在使用 wget
命令下载它们之后并且在以编程方式读取它们之前执行类似 sudo chmod 777 -R path/to/downloaded/website/directory
的操作,它们就可以正常读取一切正常。
所以我需要一种使用 wget
命令从网站下载文件夹和文件的方法,它们应该具有 all[= 的读取权限37=] 用户,而不仅仅是 sudo
。
我怎样才能做到这一点?
这听起来像是用户 运行 PHP 脚本的 umask 问题。
通常,Ubuntu 的默认 umask 为 0002。这将创建一个包含 (-rw-rw-r--) 的文件。
在控制台中,您可以通过以下方式检查并设置 PHP 用户的 umask:
$umask
在 PHP 脚本中,执行
<?php
umask()
如果您使用的是 运行 网络服务器,最好在之后通过
更改下载文件的文件权限
<?php
chmod()
原因是,umask 处理所有文件的文件创建——而不仅仅是您的脚本。
我是 运行 Ubuntu 16.04,我正在 PHP 编程。这是我的问题:
我需要使用 wget
linux 命令从网站下载所有文件。所以我使用PHP的shell_exec()
函数来执行命令:
$wgetCommand = "wget --recursive --page-requisites --convert-links $url 2>&1";
$wgetCommandOutput = shell_exec($wgetCommand);
此命令递归地从网站下载所有文件和文件夹到当前工作目录(除非另有说明)。问题是下载这些文件和文件夹后,我没有权限以编程方式读取它们。
但是如果我在使用 wget
命令下载它们之后并且在以编程方式读取它们之前执行类似 sudo chmod 777 -R path/to/downloaded/website/directory
的操作,它们就可以正常读取一切正常。
所以我需要一种使用 wget
命令从网站下载文件夹和文件的方法,它们应该具有 all[= 的读取权限37=] 用户,而不仅仅是 sudo
。
我怎样才能做到这一点?
这听起来像是用户 运行 PHP 脚本的 umask 问题。
通常,Ubuntu 的默认 umask 为 0002。这将创建一个包含 (-rw-rw-r--) 的文件。
在控制台中,您可以通过以下方式检查并设置 PHP 用户的 umask:
$umask
在 PHP 脚本中,执行
<?php
umask()
如果您使用的是 运行 网络服务器,最好在之后通过
更改下载文件的文件权限<?php
chmod()
原因是,umask 处理所有文件的文件创建——而不仅仅是您的脚本。