지정된 사용자로 tar 추출 중: tar:/home/administrateur/glpi-10.0.3.tar: 열 수 없음: 권한이 거부되었습니다.

지정된 사용자로 tar 추출 중: tar:/home/administrateur/glpi-10.0.3.tar: 열 수 없음: 권한이 거부되었습니다.

사용자로 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/

관련 정보