无法以用户身份提取 tar 存档www-data
,出现Cannot open: Permission denied
错误:
$ mkdir $HOME/tmp
$ sudo chown www-data $HOME/tmp
$ ll -d $HOME/tmp
drwxrwxr-x 2 www-data administrateur 4096 2022-11-10 09:43:14 /home/administrateur/tmp/
$ ll $HOME/glpi-10.0.3.tar
-rwxrwxrwx 1 administrateur administrateur 216893440 2022-09-14 14:28:21 glpi-10.0.3.tar*
$ sudo -u www-data tar -C $HOME/tmp/ -xf $HOME/glpi-10.0.3.tar
tar: /home/administrateur/glpi-10.0.3.tar: Cannot open: Permission denied
tar: Error is not recoverable: exiting now
$
EDIT0:感谢@Sotto-Voce,这个命令确认了答案:
$ sudo -u www-data test -r $HOME/glpi-10.0.3.tar
$ echo $?
1
$ sudo -u www-data test -r /tmp/glpi-10.0.3.tar
$ echo $?
0
答案1
只是不要提取为 www-data。如您所见,该用户无权访问您要提取到的位置,因此操作失败。不要尝试以特定用户身份提取,而是直接提取到您想要最终存储它的任何位置(大概它不应该位于~/tmp
)或以常规用户身份提取,然后 chown 文件:
$ tar -C "$HOME"/tmp/ -xf "$HOME"/glpi-10.0.3.tar
$ sudo -R chown www-data "$HOME"/tmp/