/ useradd 명령어

RHCSA : Create and configure file systems - Create and configure set-GID directories for collaboration.

useradd 명령어 usermod 명령어 chmod 명령어 su command rhcsa-new redhat-new SGID Sticky bit chown command mkdir command
https://4am.kr/rhcsa-create-and-configure-file-systems-create-and-configure-set-gid-directories-for-collaboration/

RHCSA : 파일 시스템 생성 및 구성 – 협업을 지원하도록 set-GID 디렉터리를 생성 및 구성

RHCSA 주제입니다. 아래 참조된 사이트를 번역 및 내용 추가하였습니다.

실습

user01user02라는 두 사용자가 team이라는 그룹에 속하고, shared라는 디렉토리를 공유하기를 원하고 있다고 가정한다.

1. team 그룹을 만든다.
[root@server2 ~]# groupadd -g 50000 team
[root@server2 ~]# 
2. shared 디렉토리를 만든다.
[root@server2 ~]# mkdir /home/shared
[root@server2 ~]# 
3. 생성한 디렉토리의 소유권을 바꾼다.
[root@server2 ~]# chown nobody:team /home/shared
[root@server2 ~]#
4. SGID를 디렉토리에 정의한다.
[root@server2 ~]# chmod g+s /home/shared
[root@server2 ~]# 
5. team그룹의 구성원이 shared디렉토리를 쓰기 할 수 있도록 하자.
[root@server2 ~]# chmod g+w /home/shared
[root@server2 ~]#
6. 모든 다른 사용자에 대한 권한을 제거한다.
[root@server2 ~]# chmod o-rwx /home/shared/
[root@server2 ~]# 

노트: 앞의 3개의 커맨드들은 아래와 같이 한꺼번에 적용이 가능하다.

[root@server2 ~]# chmod g+ws,o-rwx /home/shared
[root@server2 ~]# chmod 2770 /home/shared
7. 두 사용자를 생성하고, team그룹에 속하도록 한다.
[root@server2 ~]# useradd -G team user01
[root@server2 ~]# useradd -G team user02
[root@server2 ~]# 

노트: 앞의 커맨드를 두 단계로 나누어 할 수도 있다.

[root@server2 ~]# useradd user01; usermod -aG team user01
[root@server2 ~]# useradd user02; usermod -aG team user02
[root@server2 ~]# 
8. 설정을 확인한다.
[root@server2 ~]# su - user01
[user01@server2 ~]$ cd /home/shared
[user01@server2 shared]$ touch nothing
[user01@server2 shared]$ ls -l
total 0
-rw-rw-r--. 1 user01 team 0 Apr 27 12:05 nothing
[user01@server2 shared]$
9. 마지막으로, team 그룹 구성원이 각자의 파일들을 볼 수 있지만 삭제할 수 없도록 하려면(Sticky Bit), 다음과 같이 입력한다.
[root@server2 ~]# chmod +t /home/shared/
[root@server2 ~]# 

추가 자료

용도
  • SUID/SGID: 다른 사용자가 개인 및 그룹 권한으로 파일의 수행이 필요할 때 사용
  • Sticky Bit: Sticky Bit이 디렉토리에 설정되어 있으면 디렉토리 소유주, 파일 소유주, 슈퍼 유저가 아니면 디렉토리 삭제 및 이름 변경이 불가능.