남자 getfacl

남자 getfacl

나는 부서라는 공유 디렉토리를 가지고 있으며, 여기에는 Account, Sales, Presales라는 3개의 하위 디렉토리가 있고 각 하위 디렉토리에는 acc1, acc2, acc3 / sale1, sales2 / ps1, ps2, ps3, ps4와 같은 부서 직원 디렉토리가 있습니다.

각 직원이 다른 디렉토리를 보지 않고 해당 디렉토리에만 액세스할 수 있는 사용자 이름 비밀번호를 갖는 방법.

Windows 서버에서 만든 것과 동일합니다.

어떻게 해야 합니까?

답변1

먼저 각 직원을 부서 그룹에 속하게 합니다. 즉, acc1은 Account에 속하고 ps3는 Presales에 속합니다. 그런 다음 부서 수준에서 부서 아래의 각 하위 디렉터리에 해당 부서 그룹과 동일한 그룹 ID를 지정하고 그룹 수준 읽기+실행 액세스 권한을 부여하고 다른 사용자의 모든 액세스 권한을 취소하면 다음과 같이 됩니다 ls -la Departments.

drwxr-x---  5 root Account  4096 Jul 25 08:43 Account
drwxr-x---  6 root Presales 4096 Jul 25 08:44 Presales
drwxr-x---  4 root Sales    4096 Jul 25 08:44 Sales

그런 다음 각 직원 디렉터리 사용자 ID 및 그룹 ID를 사용자로 지정하고 해당 사용자에게 디렉터리에 대한 전체 액세스 권한을 부여하고 그룹 및 기타 계정(예: 계정)의 모든 액세스 권한을 취소합니다.

drwx------ 2 acc1 acc1 4096 Jul 25 08:43 acc1
drwx------ 2 acc2 acc2 4096 Jul 25 08:43 acc2
drwx------ 2 acc3 acc3 4096 Jul 25 08:43 acc3

chown, 명령줄에서 이 작업을 수행하면 친구가 됩니다 chgrp. chmod예를 참조하십시오http://www.perlfect.com/articles/chmod.shtml사용법에 대한 자세한 내용은


이 방법은 권한/멤버십이 계층적으로 균일하게 정의될 수 있는 한 작동합니다. 즉, 특정 수준에서 다양한 종류 및/또는 수준의 권한을 혼합할 필요가 없습니다(예: 일부 개별 사용자는 읽기-쓰기 액세스 권한을 갖고 있지만 사용자는 그룹에는 읽기 전용 액세스만 있음) - 이러한 경우에는 ACL이 필요합니다.

답변2

또는 이러한 디렉터리에 대해 FACLS를 설정할 수 있습니다. 더 복잡한 액세스 제어 목록이 필요한 경우 가장 깨끗하고 우수하며 선호되는 방법입니다.

다음 용도로 매뉴얼 페이지를 사용하십시오.

남자 getfacl

남자 세트

사용법은 다음과 같습니다.

setfacl -md:g:"그룹 이름":rwx /path/to/desired/directory

setfacl -mg:"그룹 이름":rwx /path/to/desired/directory

첫 번째 줄은 디렉터리에 새로 생성된 파일/폴더에 자동으로 적용되는 규칙을 설정합니다. 두 번째는 이것이 적용되는 동일한 상위 디렉터리에 적용되지만 이미 존재하는 디렉터리에 대한 액세스를 제공합니다.

***참고: 그룹 이름 주위의 따옴표는 명령에 그룹 이름을 입력해야 함을 나타냅니다. 명령을 실행할 때 실제 따옴표를 사용하지 마십시오. 그룹 이름을 따옴표 없이 포함시키려는 것입니다.

관련 정보