指定されたユーザーに tar を抽出中: tar:/home/administrateur/glpi-10.0.3.tar: オープンできません: 権限が拒否されました。

指定されたユーザーに tar を抽出中: tar:/home/administrateur/glpi-10.0.3.tar: オープンできません: 権限が拒否されました。

ユーザーとしてtarアーカイブを抽出できませんwww-dataCannot 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/

おすすめ記事