UNIX 권한 문제가 있습니다. Debian Squeeze에서 작업 중이고 내 스크립트( 에서 실행) 중 하나가 (다른 사용자의 홈 디렉터리에 있는) www-data
파일을 해당 사용자의 홈( ) 태그 하위 디렉터리로 이동해야 합니다.23550.zip
autodo
/home/autodo/.processed
의 그룹 소유권을 변경 /home/autodo
하고 사용자가 이 파일을 이동할 수 있도록 허용하려고 시도했지만 아래와 같이 여전히 실패했습니다. (저는 프랑스어 /home/autodo/23550.zip
이기 때문에 프랑스어 메시지를 다시 영어로 번역했지만 확실하지는 않습니다. 번역은 다음 명령의 영어 버전입니다. 표시된 번역):/home/autodo/.processed
www-data
www-data
Permission denied
sh-4.1$ ls -lah /home/autodo
total 27M
drwxr-xr-x 3 autodo www-data 4,0K 9 janv. 15:17 .
drwxr-xr-x 88 root root 4,0K 8 janv. 15:21 ..
-rwxr-xr-x 1 autodo ftpusers 4,8K 5 sept. 23:14 19236.zip
-rwxr-xr-x 1 autodo www-data 26M 9 janv. 14:26 23550.zip
-rwxr-xr-x 1 autodo ftpusers 2,3K 6 janv. 20:44 3194.zip
-rwxr-xr-x 1 autodo ftpusers 1,1M 5 sept. 23:38 53274.zip
-rwxr-xr-x 1 autodo ftpusers 585 6 sept. 00:50 70069.zip
-rwxr-xr-x 1 autodo ftpusers 220 16 nov. 15:10 .bash_logout
-rwxr-xr-x 1 autodo ftpusers 3,2K 16 nov. 15:10 .bashrc
drwxr-xr-x 2 autodo www-data 4,0K 9 janv. 15:16 .processed
-rwxr-xr-x 1 autodo ftpusers 675 16 nov. 15:10 .profile
sh-4.1$ ls -lah /home/autodo/.processed
total 66M
drwxr-xr-x 2 autodo www-data 4,0K 9 janv. 15:16 .
drwxr-xr-x 3 autodo www-data 4,0K 9 janv. 15:17 ..
-rwxr-xr-x 1 autodo ftpusers 3,8K 8 janv. 22:42 100583.zip
-rwxr-xr-x 1 autodo ftpusers 1,7K 9 janv. 02:48 12211.zip
-rwxr-xr-x 1 autodo ftpusers 2,2K 8 janv. 22:43 166273.zip
-rwxr-xr-x 1 autodo ftpusers 424K 8 janv. 22:52 193894.zip
-rwxr-xr-x 1 autodo ftpusers 1,2M 9 janv. 01:13 20662.zip
-rwxr-xr-x 1 autodo ftpusers 59M 9 janv. 00:43 22352.zip
-rwxr-xr-x 1 autodo ftpusers 1,2M 8 janv. 22:42 23704.zip
-rwxr-xr-x 1 autodo ftpusers 214K 9 janv. 02:34 24704.zip
-rwxr-xr-x 1 autodo ftpusers 632 9 janv. 01:17 26360.zip
-rwxr-xr-x 1 autodo ftpusers 2,8K 9 janv. 01:03 31795.zip
-rwxr-xr-x 1 autodo ftpusers 106K 9 janv. 00:11 31797.zip
-rwxr-xr-x 1 autodo ftpusers 413K 9 janv. 00:44 31799.zip
-rwxr-xr-x 1 autodo ftpusers 4,4K 8 janv. 22:30 31803.zip
-rwxr-xr-x 1 autodo ftpusers 2,3K 5 janv. 21:19 3194.zip
-rwxr-xr-x 1 autodo ftpusers 13K 8 janv. 23:33 5705.zip
-rwxr-xr-x 1 autodo ftpusers 2,8K 8 janv. 22:19 5858.zip
-rwxr-xr-x 1 autodo ftpusers 86K 9 janv. 04:34 604.zip
-rwxr-xr-x 1 autodo ftpusers 2,6M 9 janv. 03:34 7091.zip
-rwxr-xr-x 1 autodo ftpusers 3,4K 8 janv. 21:25 7878.zip
-rwxr-xr-x 1 autodo ftpusers 752K 9 janv. 03:37 8127.zip
-rwxr-xr-x 1 autodo ftpusers 6,1K 8 janv. 22:01 84846.zip
-rwxr-xr-x 1 autodo ftpusers 358K 9 janv. 02:42 989.zip
sh-4.1$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data),2000(ftpusers)
sh-4.1$ mv /home/autodo/23550.zip /home/autodo/.processed/
mv: unable to move « /home/autodo/23550.zip » to « /home/autodo/.processed/23550.zip »: Permission denied
해당 사용자의 디렉토리 도 시도했지만 setgid
동일한 오류로 인해 Permission denied
실패했으며 adduser www-data ftpusers
여전히 동일한 오류로 실패했습니다.
나는 길을 잃었다는 것을 인정해야 합니다; 나는 항상 파일을 소유한 그룹이 소유자와 동일한 권한을 가지고 있다고 생각했지만 이 질문은 그것과 모순되며 Linux 커널에는 그러한 버그가 존재할 수 없다고 생각합니다. 그래서 나는뭔가 놓쳤나봐요, 하지만 어디, 젠장!
답변1
a가 mv
"대상 디렉터리"와 "원본 디렉터리"를 수정하고 있으므로 이동하려는 파일과 이동하려는 디렉터리에 대한 쓰기 권한이 필요합니다.
chmod -R g+w /home/autodo/
그러면 /home/autodo 아래의 모든 항목에 그룹의 쓰기 권한이 반복적으로 추가됩니다.