웹사이트 검색

Linux의 특정 디렉터리에 있는 사용자에게 읽기/쓰기 액세스 권한 할당


이전 기사에서는 Linux에서 공유 디렉터리를 만드는 방법을 설명했습니다. 여기서는 Linux의 특정 디렉터리에 있는 사용자에게 읽기/쓰기 액세스 권한을 부여하는 방법을 설명합니다.

이를 수행하는 방법에는 두 가지가 있습니다. 첫 번째는 ACL(액세스 제어 목록)을 사용하는 것이고, 두 번째는 아래 설명된 대로 파일 권한을 관리하기 위해 사용자 그룹을 만드는 것입니다.

이 튜토리얼에서는 다음 설정을 사용합니다.

Operating system: CentOS 7
Test directory: /shares/project1/reports 
Test user: tecmint
Filesystem type: Ext4

모든 명령이 루트 사용자로 실행되는지 확인하거나 동등한 권한으로 sudo 명령을 사용하십시오.

mkdir 명령을 사용하여 reports라는 디렉터리를 만드는 것부터 시작해 보겠습니다.

mkdir -p /shares/project1/reports   				

ACL을 사용하여 디렉토리의 사용자에게 읽기/쓰기 액세스 권한 부여

중요: 이 방법을 사용하려면 Linux 파일 시스템 유형(예: Ext3 및 Ext4, NTFS, BTRFS)이 ACL을 지원하는지 확인하세요.

1. 먼저 시스템의 현재 파일 시스템 유형을 확인하고 다음과 같이 커널이 ACL을 지원하는지 여부도 확인하세요.

df -T | awk '{print $1,$2,$NF}' | grep "^/dev"
grep -i acl /boot/config*

아래 스크린샷에서 파일 시스템 유형은 Ext4이고 커널은 CONFIG_EXT4_FS_POSIX_ACL=y 옵션에 표시된 대로 POSIX ACL을 지원합니다.

2. 다음으로 파일 시스템(파티션)이 ACL 옵션으로 마운트되었는지 확인합니다.

tune2fs -l /dev/sda1 | grep acl

위 출력에서 기본 마운트 옵션이 이미 ACL을 지원하고 있음을 알 수 있습니다. 활성화되어 있지 않은 경우 특정 파티션(이 경우 /dev/sda3)에 대해 활성화할 수 있습니다.

mount -o remount,acl /
tune2fs -o acl /dev/sda3

3. 이제 다음 명령을 실행하여 reports라는 특정 디렉토리에 대한 사용자 tecmint에 대한 읽기/쓰기 액세스 권한을 할당할 차례입니다.

getfacl /shares/project1/reports       		  # Check the default ACL settings for the directory 
setfacl -m user:tecmint:rw /shares/project1/reports     # Give rw access to user tecmint 
getfacl /shares/project1/reports    			  # Check new ACL settings for the directory

위 스크린샷에서 사용자 tecmint는 이제 두 번째 의 출력에서 볼 수 있듯이 /shares/project1/reports 디렉토리에 대한 읽기/쓰기(rw) 권한을 갖습니다. getfacl 명령.

ACL 목록에 대한 자세한 내용은 다음 가이드를 확인하세요.

  1. ACL(액세스 제어 목록)을 사용하여 사용자/그룹에 대한 디스크 할당량을 설정하는 방법
  2. ACL(액세스 제어 목록)을 사용하여 네트워크 공유를 마운트하는 방법

이제 디렉토리에 읽기/쓰기 권한을 할당하는 두 번째 방법을 살펴보겠습니다.

그룹을 사용하여 디렉토리의 사용자에게 읽기/쓰기 액세스 권한 부여

1. 사용자에게 이미 기본 사용자 그룹(일반적으로 사용자 이름과 동일한 이름)이 있는 경우 디렉토리의 그룹 소유자를 변경하면 됩니다.

chgrp tecmint /shares/project1/reports

또는 다음과 같이 여러 사용자(특정 디렉터리에 대한 읽기/쓰기 권한이 부여됨)를 위한 새 그룹을 만듭니다. 그러나 이렇게 하면 공유 디렉터리가 생성됩니다.

groupadd projects

2. 그런 다음 projects 그룹에 tecmint 사용자를 다음과 같이 추가합니다.

usermod -aG projects tecmint	    # add user to projects
groups tecmint	            # check users groups

3. 디렉토리의 그룹 소유자를 프로젝트로 변경합니다.

chgrp	projects /shares/project1/reports

4. 이제 그룹 구성원에 대한 읽기/쓰기 액세스 권한을 설정합니다.

chmod -R 0760 /shares/projects/reports
ls  -l /shares/projects/	    #check new permissions

그게 다야! 이 튜토리얼에서는 Linux의 특정 디렉터리에 있는 사용자에게 읽기/쓰기 액세스 권한을 부여하는 방법을 보여주었습니다. 문제가 있는 경우 아래 댓글 섹션을 통해 문의하세요.