
두 명의 사용자:
A1:x:1001:1002::/home/A1:/bin/sh
A2:x:1002:1002::/home/A1:/bin/sh
한 그룹:
A1:x:1002:
FTP 서버: 새로 설치 ProFTPd OS: 새로 설치 Ubuntu Server 12.04
A1과 A2 간에 공유하려는 폴더 하나(/home/A1):
/home/A1: A1:A1 rwxrwxr-x
/home/A1/B1.txt: A1:A1 rw-rw-r--
/home/A2/B2.txt: A1:A1 rw-r--r--
내가 원하는 것:
- B1.txt는 A1 및 A2에 의해 수정 가능
- B1.txt는 A1이 수정할 수 있지만 A2는 수정할 수 없으므로 A2는 읽을 수만 있습니다.
지금 FTP에 연결하면 A2는 무엇이든 수정할 수 있는데 이것이 정말 이해가 되지 않습니다. /home/A1(따라서 rwxr-xr-x)에서 그룹 쓰기 권한을 제거하면 A2는 아무것도 수정할 수 없습니다.
내가 뭘 잘못한 걸까요?
답변1
파일 업로드는 기존 파일을 덮어쓰는 것이 아니라 새 임시 파일을 생성하고 해당 위치로 이동하는 방식으로 작동합니다. 파일을 덮어쓰는 도중 연결이 끊어지면 불완전한 파일이 남게 되기 때문입니다.
새 파일 업로드, 기존 파일 제거, 기존 파일의 새 버전 업로드에는 모두 해당 디렉터리에 대한 쓰기 권한만 필요합니다. 기존 파일에 대한 권한은 중요하지 않습니다. 따라서 A2는 B1.txt
및 를 동일하게 수정할 수 있습니다 B2.txt
.
이 두 파일을 업데이트하기 위해 다른 권한이 필요한 경우 다른 권한을 가진 다른 디렉터리에 저장하세요.
두 파일을 동일한 디렉터리에서 사용할 수 있어야 하는 경우 A2에 쓰기 권한이 있는 디렉터리 에 B1.txt
대한 심볼릭 링크를 만듭니다.writable-by-A2/B1.txt
writable-by-A2
답변2
어떤 오류 메시지가 표시되나요?
오류가 "덮어쓰기 권한 거부됨"인 경우 덮어쓰기를 활성화해야 합니다. proftpd.conf
기본적으로는 비활성화되어 있습니다.
이렇게 하려면 다음을 추가하세요.
AllowOverwrite yes
<Global>
섹션(파일 권한이 허용하는 모든 위치에 덮어쓰기가 허용됨) 또는 섹션 <Directory /home/A1>
(해당 디렉터리에서만 덮어쓰기가 허용되고 파일 권한이 허용되는 경우에만 허용됨) 에 적용됩니다 .
이것이 오류 메시지가 아닌 경우 질문에 더 자세한 내용을 추가하십시오(적어도 오류 메시지, 가급적이면 로그 추출).