본문으로 바로가기

useradd와 여러가지 설정들

category Linux 2019. 1. 30. 23:32

# vi /etc/default/useradd (또는 useradd -D로 출력가능)

# useradd defaults file
# 기본적으로 생성되는 신규사용자가 기본적으로 속해지는 그룹, 이 그룹은 useradd -g로 지정하는 로그인그룹(또는 이니셜그룹)을 의미하는 것이 아니라, useradd -G로 지정되는 부차적인 그룹(2차 그룹)을 의미한다. 기본값인 100은 GID를 의미하며, 신규로 생성되는 사용자는 GID가 100인 users 그룹에 속하게 된다. (신규로 생성되는 사용자는 이 설정에 따라 무조건 users 그룹을 2차그룹으로 가지게 된다) 하지만 배포판에 따라 이 설정이 무시되는 경우도 있음(-g, -G 등으로 직접 명시해야 속하는 경우)
GROUP=100 

# 기본적으로 생성할 신규사용자의 홈디렉토리 생성의 위치를 결정한다. 기본값인 /home은 /home 아래에 신규유저의 이름으로 신규유저의 홈 디렉토리를 생성토록 한다. useradd -d로 임의의 위치를 지정할 수 있다. 
HOME=/home 

# 패스워드의 유효기간이 만료 후 계정이 비활성화 되기 까지의 기간(number of days). 0은 패쓰워드가 만료되면 바로 계정이 비활성화 되어 사용할 수 없게 한다. -1은 이 기능을 사용하지 않음. useradd -f로 임의의 값을 넣을 수 있다. 
INACTIVE=-1

# 계정의 사용기간을 지정한다. 이 날짜가 지나면 계정으로 로그인이 불가능 하다. 입력형식은 YYYY-MM-DD이며 기본값인  blank는 계정의 만료일을 정하지 않음을 의미한다. useradd -e로 임의의 값을 넣을 수 있다.
EXPIRE=

# 기본적으로 사용할 쉘을 지정함. 사용할 수 있는 쉘의 목록은 /etc/shells에서 확인 가능하다. useradd -s 로 원하는 쉘을 선택할 수 있다.
SHELL=/bin/bash 

# 기본적으로 복사해 올 환경설정 파일의 위치를 지정한다. 새로운 사용자가 생성되면 /etc/skel 에 있는 환경설정 파일을 복사해온다.(.bash_profile, .bashrc 등) useradd -m -k 로 임의의 환경설정을 복사해 올 수 있다.
SKEL=/etc/skel

useradd 명령을 옵션 없이 실행하였을 경우에 이 파일의 내용이 모두 그대로 적용이 된다. 하지만 useradd의 각 옵션들을 사용하면 이 옵션들이 우선 적용되어 이 파일의 내용은 무시된다.

-----------------------------------------------------------------------------------------------------------
# vi /etc/login.defs

# 패쓰워드의 유효기간을 정의. 패쓰워드를 변경하지 않고 로그인 할 수 있는 최대기간
PASS_MAX_DAYS 99999

# 패쓰워드 변경 후 재 변경까지 필요한 최소 날 수. 이 기간이 지정되면 패쓰워드 변경 후에 일정기간 동안에는 패쓰워드를 변경하지 못함. (You must wait longer to change your password)
PASS_MIN_DAYS 0

# 최소한 패쓰워드의 문자 수
PASS_MIN_LEN  5

# 패쓰워드 유효기한 전에 변경 알림 메세지를 출력하는 날의 수
PASS_WARN_AGE 7

# UID의 시작값
UID_MIN       500

# UID의 종료값
UID_MAX     60000

# GID의 시작값
GID_MIN       500

# GID의 종료값
GID_MAX     60000


# 생성되는 사용자의 홈 디렉토리의 퍼미션을 결정하는 UMASK 값

(오직 홈 디렉토리 퍼미션만을 결정하는 UMASK 값이며, 로그인 후 적용되는 UMASK는 .bashrc에서 결정)

UMASK    066


참고)

데비안 패키지(우분투 등)에서는  adduser로 생성되는 계정의 홈 디렉토리의 퍼미션은  /etc/adduser.conf 에서  DIR_MODE에서 지정한 퍼미션으로 설정됩니다. 예를 들어  DIR_MODE=0700 으로 하면 700 퍼미션으로 신규 사용자의 홈디렉토리가 생성이 되지요. 하지만 래드햇 계열에서는 adduser도 /etc/login.defs파일을 참조합니다.

즉 데비안 패키지에서 생성되는 홈 디렉토리의 퍼미션은
useradd로 사용자를 생성할 경우 /etc/login.defs에서 UMASK 값으로 사용자의 홈 디렉토리의 퍼미션이 결정됩니다.
adduser로 사용자를 생성할 경우 /etc/adduser.conf에서 DIR_MODE=퍼미션 으로 사용자의 홈 디렉토리의 퍼미션이 결정됩니다.

-----------------------------------------------------------------------------------------------------------
# vi /etc/passwd
사용자명 : useradd [name] / usermod -l new_name [name]
password : pwconv --> /etc/shadow
UID : useradd -u / usermod -u
GID : useradd -g / usermod -g
comments : useradd -c / usermod -c 등으로 부가정보를 추가하면 여기에 기록됨
홈디렉토리 : /etc/default/useradd 의 HOME 또는 useradd -d / usermod -d 
로그인 쉘 : /etc/default/useradd 의 SHELL 또는 useradd -s / usermod -s 

ruset : x : 512 : 512 : : /home/ruset : /bin/bash

# vi /etc/shadow
사용자명 : useradd [name] / usermod -l new_name [name]
암호화된 password (by md5) : passwd [name]
변경일 수 count (from 1970.1.1) : passwd를 실행한 일을 1970년 1월 1일로 부터 몇 일이 경과 되었는지 나타냄.
PASS_MIN_DAYS : /etc/login.defs 에서 정의
PASS_MAX_DAYS : /etc/login.defs 에서 정의
PASS_WARN_AGE : /etc/login.defs 에서 정의
INACTIVE : /etc/default/useradd 의 INACTIVE 또는 useradd -f / usermod -f / chage -I
EXPIRE : /etc/default/useradd 의 EXPIRE 또는 useradd -e / usermod -e
Reserved : 예약공간

ruset : $1$liU69g8r$L3q1Rr3XcZ58E8RX4RHeS1 : 13616 : 0 : 99999 : 7 : : :
-----------------------------------------------------------------------------------------------------------
# useradd
-u : uid 지정
-g : 로그인 그룹(이니셜 그룹)의 gid 또는 그룹명을 지정 (1개의 그룹만 지정가능)
-G : 부가그룹 (2차그룹)의 GID 또는 그룹명을 지정 (다수의 그룹을 지정가능)
-e : 계정의 사용기한을 지정(이 날이 지나면 로그인 불가)
-f : 패스워드가 만료된 후에 계정이 비활성화되기까지의 기간을 설정한다. 0은 패스워드 만료 후에 바로 계정이 비활성화 된다. (-1은 이 기능을 사용치 않음)
-m -k :   -m 옵션은 신규유저의 홈 디렉토리가 존재하지 않는다면 사용자의 홈을 생성하고, -k 옵션으로 지정한 디렉토리내의 파일들을 신규유저의 홈 디렉토리로 복사한다. (만약  -k 옵션을 생략시 자동적으로 /etc/skel에 있는 파일을 복사한다) -k 옵션은 -m과 함께만 사용할 수 있다. (-k 옵션은 단독으로 사용이 불가능)
-d : 사용자의 홈 디렉토리를 지정함.
-s : 사용자의 로그인 쉘을 지정
-o : 이미 존재하는 UID와 GID를 갖게 함. (duplicate (non-unique) UID)
-p : 패스워드를 지정함. 단, md5로 암호화된 값을 입력해야 한다.

출처 : http://blog.naver.com/01191879872?Redirect=Log&logNo=10016416286

 

추가 : useradd opera -c 'test user' -d /home/opera -e 2007-07-10 -f 2 -g com19 -G mysql,eye19 -s /bin/bash -u 505