시스템 관리자라면 리눅스 서버의 모든 사용자에게 읽기/쓰기 권한을 부여해야 하는 특정 디렉터리가 필요할 때가 있습니다. 이 가이드에서는 리눅스에서 특정 디렉터리(공유 디렉터리)에 대한 쓰기 권한을 모든 사용자에게 허용하는 방법을 단계별로 살펴보겠습니다.
이 작업에는 적절한 접근 권한 설정이 필요하며, 가장 효과적이면서도 안정적인 방법은 해당 디렉터리에 접근할 모든 사용자를 위한 공용 그룹(common group)을 할당하는 것입니다.
1단계: 공유 디렉터리와 공용 그룹 생성
먼저, 시스템에 아직 없다면 공유 디렉터리와 공용 그룹을 다음과 같이 생성합니다.
$ sudo mkdir -p /var/www/reports/ $ sudo groupadd project
2단계: 기존 사용자를 그룹에 추가
그다음, /var/www/reports/ 디렉터리에 쓰기 권한을 가질 기존 사용자를 아래와 같이 project 그룹에 추가합니다.
$ sudo usermod -a -G project tecmint

공통 디렉터리 그룹 생성 화면
위 명령에서 사용된 플래그와 인수는 다음과 같습니다.
-a– 사용자를 보조 그룹(supplementary group)에 추가합니다.-G– 그룹 이름을 지정합니다.project– 그룹 이름입니다.tecmint– 기존 사용자 이름입니다.
3단계: 디렉터리 권한 설정
이제 디렉터리에 적절한 권한을 설정합니다. 이때 -R 옵션을 사용하면 하위 디렉터리까지 재귀적으로 작업이 적용됩니다.
$ sudo chgrp -R project /var/www/reports/ $ sudo chmod -R 2775 /var/www/reports/
chmod 명령의 권한 2775 의미
2– setGID 비트를 활성화합니다. 즉, 새로 생성되는 하위 파일은 해당 디렉터리와 동일한 그룹을 상속받고, 새로 생성되는 하위 디렉터리는 부모 디렉터리의 setGID 비트를 상속받습니다.7– 소유자(owner)에게 rwx(읽기/쓰기/실행) 권한을 부여합니다.7– 그룹(group)에게 rwx 권한을 부여합니다.5– 기타 사용자(others)에게 rx(읽기/실행) 권한을 부여합니다.
4단계: 추가 사용자 생성 및 그룹 등록
필요하다면 더 많은 시스템 사용자를 생성하고, 다음과 같이 해당 디렉터리 그룹에 바로 추가할 수 있습니다.
$ sudo useradd -m -c "Aaron Kili" -s/bin/bash -G project aaronkilik $ sudo useradd -m -c "John Doo" -s/bin/bash -G project john $ sudo useradd -m -c "Ravi Saive" -s/bin/bash -G project ravi
5단계: 사용자별 하위 디렉터리 생성
그런 다음, 위에서 생성한 사용자들이 각자 프로젝트 보고서를 저장할 수 있도록 하위 디렉터리를 만듭니다.
$ sudo mkdir -p /var/www/reports/aaronkilik_reports $ sudo mkdir -p /var/www/reports/johndoo_reports $ sudo mkdir -p /var/www/reports/ravi_reports
마무리
이제 파일과 폴더를 자유롭게 생성하고, 같은 그룹에 속한 다른 사용자들과 손쉽게 공유할 수 있습니다.
지금까지 리눅스에서 특정 디렉터리에 대해 모든 사용자에게 쓰기 권한을 부여하는 방법을 알아보았습니다. 리눅스 사용자 및 그룹 관리에 대해 더 깊이 이해하고 싶다면, '사용자/그룹 파일 권한 및 속성 관리' 관련 문서도 함께 참고해 보시기 바랍니다.
이 글이 도움이 되었다면 아래 댓글을 통해 여러분의 의견과 피드백을 남겨 주세요!
리눅스 실력을 한 단계 끌어올리고 싶다면?
루트(Root) 멤버가 되면 모든 강좌, 자격증 준비 과정, 실습 중심의 리눅스 콘텐츠 라이브러리를 전부 이용할 수 있으며, 매월 새로운 강좌가 계속 추가됩니다.
루트 멤버 혜택
- 모든 프리미엄 아티클을 광고 없이 자유롭게 열람
- 전체 강좌 이용: Learn Linux, AI for Linux, Bash Scripting, Ubuntu Handbook, Golang 등
- 리눅스 자격증 과정 이용 (RHCSA, RHCE, LFCS, LFCA)
- 새 강좌 출시 즉시 이용 가능
- 주간 뉴스레터 구독
- 댓글 우선 지원
- 비공개 텔레그램 커뮤니티 참여
- 리눅스 커뮤니티와의 폭넓은 네트워킹