FTP를 통해 소유 폴더를 삭제할 수 없습니다.

FTP를 통해 소유 폴더를 삭제할 수 없습니다.

이 질문을 여러 번 받았지만 해결책을 찾을 수 없다는 것을 알고 있습니다.

그래서 저는 클라이언트로 vsftpdand 를 사용합니다.FileZilla

존재하다/var/www/

drwxrwsr-x+  8 myuser ftpusers 4.0K Sep  2 10:37 html

존재하다/var/www/html/

drwxrwxrwx   3 myuser ftpusers 4.0K Sep  2 10:38 directory

디렉토리를 소유하고 있지만 삭제할 수 없습니다.

FileZilla 로그에 따르면

rmdir /www/html/directory: failure

나는 성공하지 못한 채 HTML 폴더에서 777을 시도했습니다. 명령줄에서만 실행되지만.

Python 스크립트를 에서 로 변경한 후 문제가 사라진 것 같습니다 os.mkdir. os.system("mkdir")그러나 누군가 나에게 단서를 줄 수 있는지 궁금합니다.

/var/www$ getfacl html
# file: html
# owner: myuser
# group: ftpusers
user::rwx
group::rwx
group:admin:rwx
group:synchronizer:rwx
mask::rwx
other::--x

답변1

귀하의 디렉토리 목록에

drwxrwsr-x+  8 myuser ftpusers 4.0K Sep  2 10:37 html

"+"는 있음을 의미합니다.확장된 권한html디렉토리 에 . 런타임 호출(예: os.mkdir쉘 명령 대신) 을 사용하는 경우 os.system두 가지 모두 먼저 다음을 사용하여 확인할 수 있습니다.access이 디렉토리를 삭제할 수 있는지 여부는 OS에 따라 결정됩니다.

데비안 위키권한이 가능성은 다음과 같이 언급되었습니다.

마지막 열은+상징. 지금은 디렉토리를 나열할 때 이를 볼 가능성이 없지만(비어 있는 것으로 나타남) 이는 확장 액세스 규칙이 적용된다는 의미이므로파일의 실제 권한은 파일 액세스 모드에 명시된 것만이 아닙니다.- 이 가이드 아래에서 ACL에 대해 읽을 수 있습니다.

문제는 (예를 들어) ACL이 주어진 그룹 ID로 실행 중인 항목(ftp 프로세스가 자체 그룹으로 실행되는 경우)의 삭제를 방지하거나 ftp 데몬이 다른 그룹으로 실행되는지 액세스 검사에서 알 수 있다는 것입니다.실제 사용자.

추가 자료:

관련 정보