본문 바로가기

프로그램

리눅스 정리 - 사용자 관리

 

리눅스 운영체제에서의 사용자 등록정보 저장경로는 아래와 같다.

 

/etc/passwd

- 사용자의 패스워드를 알고자 할때에는 shadow password를 사용한다.

- useradd 명령을 이용하면 해당 루트 안에 등록이 된다.

- 사용자의 직접 수정이 가능하다.

 

# cat /etc/passwd

해당 명령어를 입력하면 등록정보가 출력된다. 등록정보의 형식은 다음과 같다.

 

  root  :     x   :   0   :    0    : root :       /root      :  /bin/bash

계정명: 암호 : UID : GID : 주석 : 홈디렉토리 :      쉘

 

예시는 root 계정의 등록정보이다. 

 


 

/etc/shadow

- 사용자의 패스워드와 암호정책 정보가 기입되어있다.

 

# cat /etc/shadow

 

ora12c:$6 $bo580c3Q$ te9……9f2S9Bq/:18162:0:99999:7:::

 

계정 : 암호 : 최종변경일 : 암호최소사용일: 암호최대유효기간 : 암호 만료까지 경고기간 : 암호 만료 뒤 계정 폐쇠까지 기간 : 계정이 만료일 : 예비

 

위 예시에서, 

$6 : 해시 알고리즘을 표현한다. 해시를 제조한 법을 말하며, 이 알고리즘을 알면 해시값을 풀어 암호를 알아낼 수 있다.

$bo580c3Q$ : salt. 사용자 간 같은 암호를 사용하는 경우를 대비해 부여되는 값이다.

te9……9f2S9Bq/ : salt와 암호를 합친 것의 해시값을 말한다.

예를 들어 비밀번호가 abc123이면, 해시값은  $bo580c3Q$abc123을 이용해 만든다.

 

pwconv(pwunconv) 명령을 이용해 활성/비활성화 할 수 있다.

change 명령으로 이용 내용을 수정할 수 있다.

 


 

유저 그룹 usergroup.

 

그룹에는 권한들을 다르게 부여할 수 있다.

/etc/group 에 그룹 정보가 저장된다.

# groupadd 명령어를 이용해 그룹을 추가할 수 있다.

 

# cat /etc/group

 

   root   :   x    :   0    :

그룹명 : 암호 : GID : 소속 계정

 

위 예시는 루트 그룹의 정보이다.

한 계정은 여러 그룹에 속할 수 있으며, 기본 소속 그룹은 /etc/passwd 파일에 등록된다.

 

 

# groupadd

-g : 생성할 그룹의 GID 번호를 지정한다. 미할당 시 1000번 이상의 중복되지 않은 값으로 자동할당된다.

-r : 1000번 이하의 GID 번호를 자동할당한다. 1000번 이하의 번호는 시스템이 daemon이나 관리목적으로 사용하므로 사용하지 않는 쪽을 선호한다.

-o : 기존에 등록된 그룹과 중복된 번호 할당을 가능하게 한다.

 

#groupadd -g 2000 st

 

해당 명령어는 st라는 그룹을 생성하고, 해당 그룹의 GID는 2000으로 지정한다는 뜻이다.

 

 

 

# groupdel

 

그룹을 삭제하는 명령어이다. 그룹명을 포함하지 않으면 진행되지 않는다.

 

# groupdel st

st라는 그룹을 삭제한다는 명령어이다.

 


사용자를 그룹에 등록하기 전에는 반드시 해당 그룹을 먼저 생성해둬야한다. 그러지 않으며 사용자 관리의 난이도가 상승하게 된다.

 

# useradd

 

-u : UID 지정

-g :  GID 혹은 그룹명으로 그룹을 지정. (미지정시의 default 설정은 그룹명=계정명이다.)

-d : 홈디렉토리 지정  (미지정시의 default 설정은 /home/계정명 이다.)

-G : 보조그룹 지정

-D : 기본 설정 확인 및 변경

-s : 쉘 지정

로그인이 필요 없는 관리용 계정은 쉘을 /sbin/nologin으로 설정한다.

 

# useradd -g st st01

 

st01이라는 사용자를 st그룹으로 지정해 생성한다.

 

 

# userdel

 

계정 삭제. 

-r 옵션을 필수적으로 권장한다.

 -r : 계정에 귀속된 홈디렉토리와 mailbox 등을 모두 사용한다.

 

 

* 특별한 사용자 생성 옵션 *

 

-M : 메일 전용 계정을 생성한다. 홈 디렉토리가 생성되지 않는다.

-r : 999번 이하의 UID를 자동으로 할당하게 한다. 999이하의 UID는 서비스를 위한 더미계정으로, 보통 실 사용자가 없는 계정들이다. 이때 쉘은 /sbin/nologin 으로 지정한다. 홈 디렉토리가 생성되지 않는다.

 

 


 

# passwd

암호 변경 커맨드를 말한다. 관리자는 다른 사용자의 암호를 임의 변경할 수 있다.

단, 다른 사용자의 암호를 확인할 수는 없다.

 

# passwd st01

st01의 암호를 바꾸게 된다. 이후 새 암호를 입력하라는 창이 업로드 된다.

 

 


 

# usermod

사용자 정보의 수정을 위한 커맨드이다.

 

-g : 그룹 변경

-G : 그룹 추가

-s: 쉘 변경

-u : UID 변경

-l : 계정 변경 (--login). -d, -m도 같이 사용된다.

-d : 홈디렉토리 변경 (--home)

-m : 지정한 홈디렉토리 생성 및 파일 이전. -d와 함께 쓰인다. (--move-home)

 


 

계정의 잠금과 해제

 

# usermod

-L : lock (--lock)

-U : unlock (--unlock)

 

#passwd

-l : lock

-u : unlock

-S : 잠금 확인

 

계정 Lock 정보는 /etc/shadow 에서 확인 가능하다.

 


 

 

# chage

-l : 패스워드 설정 내용 확인

-M : 패스워드 만료일 (# passwd -n)

-W : 만료일 이전 경고 기간 (# passwd -w)

-I : 만료 이후 계정을 잠그는 기간 (#passwd -i)

-E : 패스워드 만료 날짜(YYYY/MM/DD), 해당 날짜 이후 계정이 잠긴다.

-d : 패스워드를 강제로 변경하는 날짜. 해당 날짜 이후로 패스워드가 강제로 변경된다.

-m : 패스워드의 최소 유효기간. 불필요한 변경을 막을 수 있다.

 

 

 

'프로그램' 카테고리의 다른 글

리눅스 정리 - 파일 시스템과 파티션  (0) 2025.01.21
리눅스 정리 - 파일구조와 퍼미션  (0) 2025.01.14
Linux Vi에디터  (0) 2025.01.09
리눅스 정리 - 기본 명령어  (0) 2025.01.06
VMware로 Linux 설치하기  (0) 2025.01.05