Computer >> 컴퓨터 >  >> 프로그래밍 >> Bash 프로그래밍

리눅스에서 모든 사용자가 접근할 수 있는 공유 디렉터리 만들기: 단계별 완벽 가이드

시스템 관리자라면 리눅스 서버의 모든 사용자에게 읽기/쓰기 권한을 부여해야 하는 특정 디렉터리가 필요할 때가 있습니다. 이 가이드에서는 리눅스에서 특정 디렉터리(공유 디렉터리)에 대한 쓰기 권한을 모든 사용자에게 허용하는 방법을 단계별로 살펴보겠습니다.

이 작업에는 적절한 접근 권한 설정이 필요하며, 가장 효과적이면서도 안정적인 방법은 해당 디렉터리에 접근할 모든 사용자를 위한 공용 그룹(common group)을 할당하는 것입니다.

1단계: 공유 디렉터리와 공용 그룹 생성

먼저, 시스템에 아직 없다면 공유 디렉터리와 공용 그룹을 다음과 같이 생성합니다.

$ sudo mkdir -p /var/www/reports/
$ sudo groupadd project 

2단계: 기존 사용자를 그룹에 추가

그다음, /var/www/reports/ 디렉터리에 쓰기 권한을 가질 기존 사용자를 아래와 같이 project 그룹에 추가합니다.

$ sudo usermod -a -G project tecmint 

리눅스에서 모든 사용자가 접근할 수 있는 공유 디렉터리 만들기: 단계별 완벽 가이드
공통 디렉터리 그룹 생성 화면

위 명령에서 사용된 플래그와 인수는 다음과 같습니다.

  1. -a – 사용자를 보조 그룹(supplementary group)에 추가합니다.
  2. -G – 그룹 이름을 지정합니다.
  3. project – 그룹 이름입니다.
  4. tecmint – 기존 사용자 이름입니다.

3단계: 디렉터리 권한 설정

이제 디렉터리에 적절한 권한을 설정합니다. 이때 -R 옵션을 사용하면 하위 디렉터리까지 재귀적으로 작업이 적용됩니다.

$ sudo chgrp -R project /var/www/reports/
$ sudo chmod -R 2775 /var/www/reports/

chmod 명령의 권한 2775 의미

  1. 2setGID 비트를 활성화합니다. 즉, 새로 생성되는 하위 파일은 해당 디렉터리와 동일한 그룹을 상속받고, 새로 생성되는 하위 디렉터리는 부모 디렉터리의 setGID 비트를 상속받습니다.
  2. 7 – 소유자(owner)에게 rwx(읽기/쓰기/실행) 권한을 부여합니다.
  3. 7 – 그룹(group)에게 rwx 권한을 부여합니다.
  4. 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)
  • 새 강좌 출시 즉시 이용 가능
  • 주간 뉴스레터 구독
  • 댓글 우선 지원
  • 비공개 텔레그램 커뮤니티 참여
  • 리눅스 커뮤니티와의 폭넓은 네트워킹