그룹 공유 파일의 소유자는 누구이며 어디에 있어야 합니까?

그룹 공유 파일의 소유자는 누구이며 어디에 있어야 합니까?

저는 소수의 사용자(20-30)가 사용하도록 Linux 워크스테이션을 구성하고 있습니다. 이러한 사용자는 소규모 그룹(5-10)에 속하며 각 사용자는 적어도 하나의 그룹에 속하며 여러 그룹에 속할 수도 있습니다. 워크스테이션에는 특정 그룹의 구성원만 쓸 수 있는 일부 파일이 있습니다. 각 파일은 한 그룹의 구성원만 작성할 수 있으므로 표준 Linux 권한이 제대로 작동합니다. 두 가지 질문이 있습니다.

이미 존재하는 파일은 누가 소유해야 합니까? root그룹에 해당하는 가상 사용자 집합을 만들 려고 합니다 . 더 나은 옵션이 없나요? 이것은 독특한 상황이 아닐 것 같으므로 표준 규칙이 있기를 바랍니다.

두 번째 질문은 파일을 어디에 넣어야 하는가입니다. 가상 사용자를 생성하면 을 사용할 수 있습니다 /home/. 루트가 파일을 소유한 경우 /srv/groups/"/share/" 또는 "/share/"를 선택해야 합니까? 합의가 있나요?

답변1

이미 존재하는 파일은 누가 소유해야 합니까? 루팅을 하거나 그룹에 해당하는 가상 사용자 집합을 생성할 생각입니다.

파일이 차단된 0002(즉, 그룹 쓰기 가능)라고 가정할 때 루트이지만 공용 그룹에 속하게 하면 그룹 및 그룹과 일치하도록 사용자를 생성하는 경우 실수로 다시 소유하는 것을 방지하는 데 약간의 이점이 있습니다. 그룹에 속한 사람들은 이 사용자로 로그인할 수 있습니다. 내 말은사고이는 그룹의 악의적인 사용자가 어떤 상황에서도 이러한 파일을 삭제할 수만 있기 때문입니다. 그러나 루트(또는 다른 사용자)가 있는 경우그 그룹은 아니잖아), 그룹의 누군가가 해당 파일에 쓸 수는 있지만(따라서 삭제할 수는 있지만) 권한을 다시 얻거나 수정할 수 없으므로 나중에 그룹의 다른 구성원이 파일에 액세스할 수 없게 됩니다.

사용자가 파일을 생성하려는 경우 고정 소유자가 없는 그룹을 사용하면 이점이 있습니다. 즉, 파일은 누구나 소유할 수 있지만 그룹 권한이 있는 올바른 그룹에 있어야 합니다(아래 참조).

그룹을 일치시키기 위해 새로운 사용자를 생성하면 실제로 해결되는 것보다 더 많은 잠재적인 문제가 발생할 수 있습니다. 그룹 권한을 사용하는 것이 효과가 있다면 계속 사용하세요. 슈퍼유저를 위한 간단한 명령을 만들 수도 있습니다.

#!/bin/sh
chown -R root:groupx $1
chmod -R g+w $1

그리고 그것을 사용하십시오 foo /some/directory. 이렇게 하면 트리의 모든 항목이 소유 root되고 groupx그룹에 쓰기가 가능해집니다.

root루트라면 추가하세요.설정값하지만 나는 소유자만이 그것을 할 수 있다고 믿습니다. 정말 걱정된다면 더미 사용자를 생성하되 그룹과 일치시키지 마세요. 특권은 없지만 누구도 사용할 수 없는 것.

또한 사용자가 기본적으로 소유하게 되는 새 파일을 만드는 데 문제가 있습니다. 파일을 올바른 그룹으로 변경할 수 있으며, 그러면 다른 사람이 파일에 액세스할 수 있지만 소유자는 변경할 수 없습니다. 이러한 이유와 사람들이 잊어버릴 수 있으므로 foo /some/directory정기적으로 또는 적절한 시간에 실행하는 것이 좋습니다(예: 소유권 변경이 파일을 여는 소프트웨어에 영향을 미칠 수 있으므로 로그인한 사람이 없을 때).

마지막 단락을 고려하면 다음과 같이 말할 수 있습니다.주인은 전혀 상관없어요, 그룹만이 중요합니다. 이 경우 foo다음 명령을 사용해야 합니다.

chgrp -R groupx $1

바꾸다 chown.

파일을 어디에 넣어야 하나요?

/home/groupx사용자가 아니라 그룹 이더라도 groupx생성하는 것은 전혀 문제가 없습니다 . 유일한 잠재적인 문제는 동일한 이름을 가진 사용자를 생성하는 경우입니다. 그러나 어쨌든 그렇게 하고 싶지는 않습니다. 거기에 파일을 넣고 foo /home/groupx.

사용자가 파일을 생성할 수 없도록 하려면 디렉터리를 755로 설정하세요. 그룹이 소유한 파일은 계속해서 수정할 수 있습니다.

답변2

일반적으로 이 경우 파일은 마지막으로 저장한 사람(또는 새 버전을 만드는 대신 기존 파일을 수정하는 프로그램을 사용하여 편집한 경우 해당 파일을 만든 사람)의 소유가 됩니다. 초기 파일 세트를 생성하는 경우 귀하가 소유하지 않은 그룹에 데이터를 시드하지 않는 한 해당 파일을 귀하의 계정 소유로 유지합니다. 이 경우 루트는 다른 그룹만큼 좋습니다. 하지만 별거 아닙니다.

/usr시스템( , /var, /bin, /sbin, /lib, /etc)이나 사용자의 홈 디렉터리( )에 속하지 않는 데이터에 대해 /home널리 채택되는 규칙은 없습니다 . 아래에 다른 디렉터리를 만들 /home거나 다른 곳에 배치할 수 있습니다. /srv원칙적으로는 서버에서 사용되는 데이터이지만 시스템 관리자는 원하는 데이터를 자유롭게 넣을 수 있습니다. /net/MACHINENAME기계가 서로의 파일 시스템을 내보내는 네트워크에서 "MACHINENAME에 저장된 다양한 데이터"에 대해 널리 사용되는 선택입니다.

관련 정보