그룹관련 명령어에 대해 써 보겠습니다.
1. groupadd
useradd와 비슷하게 그룹을 추가하는 명령입니다. root만 실행 가능합니다.
사용법
group [option] 그룹이름
옵션 |
의 미 |
-g |
생성하면서 GID를 부여하고 싶을때 사용합니다. 레드헷을 제외하고는 0~999까지 예약되있으므로 보통 그이상의 번호가 부여됨. |
-p |
생성하는 그룹에 암호를 부여 |
-r |
예약된 GID(0~999)로 할당할때 사용. |
아래와 같이 옵션을 않붙였을때 예약되지 않은 GID가 사용됨을 알 수 있습니다. 예약된 GID를 사용하기 위해선 r명령을 사용하면 되겠습니다.
여기서 /etc/group파일에 대해 짚고 넘어 가겠습니다.
/etc/group
4개의 필드로 구성되있고 구분자는 ":" 입니다.
기본구조
그룹명 : 암호 : GID : 멤버들
passwd와 매우 비슷한데 간략합니다. 멤버들에는 그룹에 속한 사용자 아이디가 기록됩니다.(단, 2차그룹멤버)
이황 한김에 /etc/gshadow 파일도 하겠습니다.
/etc/gshadow
tail로 조회해보면 요래 생겼습니다.
기본구조
그룹명 : 암호 : 관리자 : 멤버들
암호는 !로 되있는데 이거는 암호를 설정하지 않은 겁니다.
아래가 암호를 설정한 겁니다. 이상한점은 cho1그룹은 암호가 보입니다..cho2는 gpasswd명령을 사용하여 부여하였습니다. 차이점은 암호화 알고리즘적용
이네요.. groupadd -p 옵션은 사용하지 않는것이 좋을것 같습니다..
이어서 관리자는 그룹관리자가 기록됩니다. 해당그룹에 속해있지않아도 관리자가 될 수 있습니다.
멤버들은 위의 group파일과 같이 2차그룹에 속한 사용자가 기록됩니다.
2. gpasswd
그룹 패스워드관련 설정이나 관리자를 지정하는 명령입니다. 위에서 말한대로 그룹관리자는 해당 그룹에 속하지 않아도 됩니다.
그룹관리자는 사용자들을 해당 그룹의 2차그룹으로 속하게 할수 있고 패스워드를 설정할 수 있습니다.
사용법
gpasswd [option] 그룹
옵션 |
의 미 |
-a |
그룹관리자가 해당그룹에 사용자를 추가 |
-A |
root가 해당그룹에 관리자를 지정 |
-d |
그룹관리자가 해당그룹에서 사용자를 없앰 |
-M |
root가 그룹멤버를 지정 |
-r |
그룹 패스워드를 제거함 |
-R |
해당그룹 멤버만 접근할 수 있도록 제한함. |
예시를 보이면서 newgrp명령과 그룹패스워드 기능도 같이 설명하겠습니다.
일단 cho3를 cho1그룹의 관리자로 추가 후 패스워드를 지정하고 cho1을 그룹에 속하게 하는 과정입니다.
그룹패스워드를 설정했을때 그룹에 속하지 않은 사용자가 newgrp명령어를 이용하여 일시적으로 1차그룹이 cho1으로 바뀐걸 보여 줍니다.
다시 패스워드를 없앴을때는 해당그룹에 속한 사용자만이 newgrp로 해당그룹에 접근할 수 있습니다.
정리하자면 그룹패스워드를 설정하면 그룹에 속하지 않은 사용자가 해당그룹을 1차그룹으로 일시적으로 사용할 수 있다.
그룹패스워드가 없으면 해당그룹에 속한 사용자만 그룹을 사용할 수 있다.
newgrp명령어는 사용자의 1차그룹을 일시적으로 변경해준다. (사용법 newgrp 그룹)
3. groupmod
그룹명 또는 GID를 변경할 때 쓰는 명령어 입니다. (여기도 p명령어가 있지만 암호화가 안되므로 생략)
사용법
groupmod [option] 그룹
옵션은 n과 g만 적겠습니다.
-n : 그룹이름 변경
-g : 그룹 GID변경
간단한 예시 입니다. 따로 설명은 안해도 될거 같습니다..
4. groupdel
그룹을 삭제하는 명령입니다. 참고로 그룹에 속한 사용자가 없어야 명령수행이 가능합니다. 2차그룹에 속한 사용자는 상관없습니다.
보통 사용자를 생성할때 그룹을 따로 지정하지 않으면 사용자명과 같은 그룹도 생성되므로, 사용자를 먼저 삭제하시고 그룹을 삭제하셔야 합니다.
사용법
groupdel 그룹명
아래의 예시는 choraeng이라는 유저를 생성하고 지우는 과정입니다.
자동으로 choraeng그룹이 생성되고 groupdel로 지우니까 안지워 집니다. 그래서 사용자를 지웠는데 그룹도 같이 없어지네요..
사용자생성으로 생성된 그룹은 사용자삭제시 같이 지워진다는 것을 알 수 있습니다.
아래와 같이 기존그룹에 사용자를 그룹에 속하게 하고 1차로 속한 사용자가 없어야 haha그룹이 지워 진다는 것을 알 수 있습니다.
이상입니다.
'Linux' 카테고리의 다른 글
6. Linux 기본 명령어(파일관련 ls, mv, cp, rm, touch, file, find) (0) | 2016.11.08 |
---|---|
5. Linux 기본 명령어(디렉터리 : pwd, cd, mkdir, rmdir) (0) | 2016.11.05 |
3. Linux 기본 명령어(사용자관련 who,whoami, w,users,logname, id, groups) (0) | 2016.10.27 |
2. Linux 기본 명령어(사용자 파일) (0) | 2016.10.27 |
1. Linux 기본 명령어(useradd, passwd, su, usermod, userdel, chage) (0) | 2016.10.26 |
댓글