user에 group을 할당해 주자

yk hi·2021년 7월 12일

Linux

목록 보기
16/40

사용자를 생성하면 별다른 설정이 없다면 새로운 그룹이 생성

74 apache:x:48:
75 scott:x:1001:
76 blue:x:1002:
77 abel:x:1003:
78 user1:x:1004:
79 user2:x:1005:
80 user3:x:1006:
81 user4:x:1007:
82 user5:x:1008:
83 user7:x:1009:

(user7)그룹이름: (x)그룹의암호: (1009)그룹식별번호: (::)그룹 맴버(2차 그룹)

group은 그냥 묶어주는 역할을 한다

[root@server1 ~]# groupadd admin-team
[root@server1 ~]# groupadd dev-team
[root@server1 ~]# groupadd oper-team

위와 같이 3개의 그룹이 있다고 가정해 보자

admin-team에 oper-team 그리고 dev-team과 협력하는 신입사원 adminuser가 입사한다면

[root@server1 ~]# useradd -g admin-team -G oper-team,dev-team adminuser

이렇게 생성하면 된다!

주의

useradd에는 -g -G -u 이외에도 여러가지 옵션이 있다

useradd -u uid를 지정한다
-o uid의 중복을 허용한다
-g 기본그룹의 gid를 설정한다
-G 2차그룹의 gid를 지정한다
-d 홈디렉터리를 지정한다
-s 기본 쉘을 지정한다
-c 사용자의 이름 등 부가적인 설명을 지정
-D 기본 설정 값을 설정하거나 출력
-e 유효기간(기간제 직원) yyyy-mm-dd
-f 비활성 일수 (자격정지)
-k 디렉터리 계정생성시 초기 파일이나 디렉터리를 설정해 놓은 디렉터리를 의미(/etc/skel)

-o랑 -p는 주의해서 써야한다!

-o

-o는 uid의 중복을 허용하는데 이 때 일반 사용자의 uid를 0으로 준다면 어떻게 될까?
useradd -u 0 clouduser3

[root@server1 ~]# useradd -u 0 clouduser3
useradd: UID 0 is not unique

But -o를 붙이면 UID의 중복을 허용한다!

[root@server1 ~]# useradd -u 0 clouduser3 -o
[root@server1 ~]#

하지만 이렇게 만들면

[root@server1 ~]# su - clouduser3
Last login: Mon Jul 12 10:20:06 KST 2021 from 192.168.56.1 on pts/1
[root@server1 ~]# id
uid=0(root) gid=1023(clouduser3) groups=1023(clouduser3) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

clouduser3가 root가 되버린다

일반 유저를 관리자로 만드는 작업이 맞지만 함부로 하면 안된다!

-p
p옵션은 생성하는 유저에 비밀번호를 줄 수 있다.
user를 생성하는데 p옵션을 주면 어떻게 될까?

[root@server1 ~]# useradd -p pass puser
[root@server1 ~]# grep puser /etc/shadow
puser:pass:18820:0:99999:7:::

p옵션으로 계정을 생성하면 grep puser /etc/shaow를 했을 때 암호화 되있어야할 비밀번호가 문자 그대로 출력된다!

따라서 -p옵션은 정말 특수한 상황이 아니고서는 사용해서는 안된다

profile
엔지니어의 실력은 고통의 총합이다 <임백준 칼럼>

0개의 댓글