누가 만들었든 상관없이 누구나 무엇이든 할 수 있는 디렉토리

누가 만들었든 상관없이 누구나 무엇이든 할 수 있는 디렉토리

이는 FreeBSD UFS에만 해당되지만 모든 종류의 POSIX 스타일 파일 시스템에서 작동하고 싶습니다.

컨텍스트는 다음과 같습니다.

  • UFS로 포맷된 외부 볼륨.
  • 여러 개의 FreeBSD 워크스테이션이 있으며, 각 워크스테이션은 이를 소유한 사용자가 고유한 방식으로 구성합니다.
  • 이를 위해 $REASONSNFS, Samba 등을 통한 네트워크 및 파일 공유는 옵션이 아닙니다.

외부 볼륨은 한 사용자에서 다른 사용자로 전달되며, 각 사용자는 볼륨의 데이터를 사용하고 해당 데이터를 읽고, 쓰고, 실행하려면 전체 액세스 권한이 필요합니다. 사용자는 새 파일과 폴더를 생성합니다. 그들은 정기적으로 파일과 폴더를 삭제하고 수정합니다.

시스템마다 ID가 다를 수 있으므로 유니버설 그룹 접근 방식은 작동하지 않습니다. 777과 같은 공개 권한 설정을 시도했고, ACL을 시도했으며, 고정 비트를 간략하게 살펴봤습니다. 이러한 솔루션 중 어느 것도 작동하지 않습니다. 사용자 A가 파일을 생성하지만 사용자 B가 파일을 수정할 수 없는 문제가 발생합니다.

NTFS에는 "Everyone"이라는 개념이 있으며 "모든 권한"으로 설정되어 있습니다. UFS와 같은 POSIX 파일 시스템을 사용하여 유사한 동작을 얻으려면 어떻게 해야 합니까?

편집: (방법 777이 실패한 이유에 대한 설명)

john@pc1 /mnt# sudo chmod 777 /media/external_usb/
john@pc1 /mnt# ls -larths /media/external_usb/
total 18
 1 drwxrwxrwx  2 john  john     2B Dec 16 12:41 ./
17 drwxr-xr-x  9 root  wheel     9B Dec 16 12:41 ../

john@pc1 ~> touch /media/external_usb/test
john@pc1 ~> ls -larths /media/external_usb/test
1 -rw-r--r--  1 john  john     0B Dec 16 12:43 /media/external_usb/test

# Drive is moved from pc1 to pc2

adam@pc2 ~> touch /media/external_usb/test
touch: /media/external_usb/test: Permission denied

답변1

디렉터리 권한을 777로 설정하면 디렉터리에 있는 각 사용자의 파일은 여전히 ​​해당 사용자/그룹, 특히 해당 UID:GID의 소유입니다. 또한 파일 권한은 "누구나"가 파일을 변경하는 것을 허용하지 않습니다. 귀하의 예에서는 파일이 들어 있는 디렉토리에 누구든지 액세스할 수 있더라도 파일은 john에 의해서만 rw'될 수 있습니다.

원하는 작업을 수행하려면 John은 드라이브를 다른 시스템으로 이동하기 전에 파일에 대한 권한을 666(누구나 읽고 쓸 수 있음)으로 설정해야 합니다. 매우 불안하지만 분명히 당신은 갇혀 있습니다.

사람들이 파일을 실행할 수 있도록 하려면 파일에 대한 권한을 666 대신 777로 설정해야 합니다.

이것은 BSD나 UFS 문제가 아닙니다. 거의 모든 UNIX 운영 체제와 파일 시스템에서 동일한 문제에 직면하게 됩니다.

관련 정보