다음 질문이 있습니다. Unix 서버(CentOS 5.5)에서는 동일한 그룹에 속한 여러 사용자가 SSH를 통해 동일한 파일에 액세스할 수 있습니다. 특정 사용자(사용자 A라고 가정)가 파일을 편집한 후 파일 소유자는 A로 변경되고 그룹(G) 및 권한(0664)은 동일하게 유지됩니다. 두 번째 사용자(B)가 동일한 파일을 수정하려고 하면 해당 사용자는 그렇게 할 수 없습니다. 반면에 사용자 B가 파일을 수정하면 사용자 A는 아무런 문제 없이 파일을 변경할 수 있습니다(권한을 망치는 것 제외).
권한/그룹에 문제가 있다는 것을 알고 있지만 무엇인지 모르겠습니다. 따라서 어떤 도움이라도 대단히 감사하겠습니다.
추가 정보 제공:
$ ls -l /path/file
-rwxrwxr-x 1 B G 42269 jan 14 10:30 file
$ getfacl /path/file
# file: file
# owner: B
# group: G
user::rwx
group::rwx
other::r-x
$ ls -ld /path
drwxrwxr-x 12 B G 4096 jan 14 10:24 .
$ getfacl /path
# file: .
# owner: B
# group: G
user::rwx
group::rwx
other::r-x
답변1
A는 해당 디렉터리에 쓸 수 있는 권한이 있으므로 A의 편집자는 새 파일 /path/file.tmp
(또는 유사한 이름)을 작성한 다음 새 파일을 로 이동합니다 /path/file
. A가 방금 파일을 만들었으므로 파일은 A의 소유입니다.
B에게는 디렉터리에 쓸 수 있는 권한이 없으므로 B의 편집자는 소유권을 변경하지 않는 기존 파일을 덮어씁니다.
(바라보다파일을 편집하고 ACL/SELinux 보안 컨텍스트를 유지하는 방법은 무엇입니까?편집자가 이 일을 하는 이유를 알아보세요. )
A는 G그룹에 속한 것처럼 보이지만 B는 그렇지 않습니다. 이 문제를 해결하는 가장 간단한 방법은 A와 B가 그룹 G에 속해 있거나 둘 다 그룹 G에 속하지 않도록 하는 것입니다.