본문 바로가기

OS/Linux

#09. User Account Management(사용자계정 관리)

이번 소개에서는 사용자 계정 관리에 대해서 소개 해드리겠습니다. 리눅스에선 많은 사용자들이 동시에 접속이 가능한데요, 이런 사용자들의 계정을 관리할수있는 방법입니다.


사용자 계정을 관리하기위해선 몇가지 설정파일들과 디렉토리에 대해서 알고계셔야해요.


설정파일/디렉토리: /etc/passwd, /etc/shadow, /etc/group, /etc/gshadow, /etc/login.defs, /etc/default/useradd, /etc/skel 들이있습니다. 우선 하나하나씩 무엇을 위한 설정 파일/디렉토리인지 살펴보겠습니다.


먼저 uid와 gid에 대해서 설명드리겠습니다.


uid는 user id라는 뜻으로 각 사용자마다 가지고있는 고유 숫자입니다.(특정 설정으로 고유숫자가 안될수도있습니다) gid는 group id라는 뜻으로 각 사용자마다 가지고있는 그룹을 id로 뜻해주는겁니다.


UID 사용자계정 번호 범위

0 : 관리자

1~499 : 시스템계정

500~ : 일반 사용자계정


GID 사용범위

500~ : 일반 그룹


1./etc/passwd

계정들의 정보를 가지고있는 파일이라 보시면 됩니다.(설정/수정 가능)

저 같은 경우엔 /etc/passwd안에 MoVenPicK이라는 계정정보를 살펴보며 설명 드리겠습니다.


MoVenPicK : x : 500 : 500 : MoVenPicK's Home : /home/MoVenPicK : /bin/bash

(구분자 : 기준으로 첫번째 필드부터 $1으로 표시하며 설명드릴께요)


$1(MoVenPicK)                                        사용자 계정명

$2(x)                                                       부여된 패스워드

$3(500)                                                    UID

$4(500)                                                    GID

$5(MoVenPicK's Home)                             계정 설명

$6(/home/MoVenPicK)                              계정 홈디렉토리

$7(/bin/bash)                                          로그인시 기본적으로 사용되는 shell


MoVenPicK이라는 계정은 uid:500,gid:500, 설명은 MoVenPicK's Home이며 홈디렉토리는 /home/MoVenPicK, 사용중인 쉘은 bash쉘 이란걸 알수있네요.



2./etc/shadow   

사용자의 암호를 MD5화하여 저장하며 계정의 만료,정지 등을 설정할수있는파일


MoVenPicK2  :  !!  :  15595  :  0  :  99999  :  7  :  :  :


$1(MoVenPicK2)                                    사용자 계정명

$2(!!)                                                    부여된패스워드 (!! = 부여되지않음)

*!!로 되어있는 계정은 로그인 불가

$3(15595)                                               암호 생성일자

$4(0)                                                     암호 변경할수있는 최소기간(0 = 제한없음)

$5(99999)                                               암호 변경 의무화 제한시간

$6(7)                                                     계정 만료일자 몇일전부터 경고할지 설정

$7(NULL)                                               계정 정지일자

$8(NULL)                                               계정 정지시 정지일수

$9(NULL)                                               계정 만료일자


기본적으로 계정 만료,정지 일자는 정해지지 않습니다. 따로 정해줘야할시 정할수있습니다.



3./etc/group

그룹들의 정보를 가지고있는 파일(설정/수정 가능)


MoVenPicK  :  x  :  500  :


$1(MoVenPicK)                                        그룹명

$2(x)                                                       그룹암호

$3(500)                                                    GID

$4(NULL)                                                 그룹 구성원(콤마로 구분)


*$1(그룹명) 과 사용자 계정명이 같을시 해당 계정이 해당그룹의 소유주



4./etc/gshadow

그룹의 암호를 MD5화 하여 저장하며 그룹의 소유주,구성원 설정이 가능한파일


MoVenPicK  :  !  :  :


$1(MoVenPicK)                                        그룹명

$2(!)                                                        그룹암호(! = 부여되지않음)

$3(NULL)                                                 그룹의 소유주

$4(NULL)                                                 그룹 구성원(콤마로 구분)


*$3(그룹소유주) 그룹의 소유주는 기본적으로 그룹명과 계정명이 같은 계정이 소유주이지만 필요시 소유주를 변경 가능



5./etc/login.defs

계정 생성시 기본설정의 정보를 보관하고있는 일(설정/수정 가능)



1. 사용자 암호 의무변경 제한날짜 설정

2. 사용자암호 최소길이 설정

3. 사용자 암호 의무변경 제한날짜 몇일전부터 경고할지 설정

4,5. UID, GID 최소최대 범위 설정



6./etc/default/useradd

계정 생성시 기본설정의 정보를 보관하고있는 파일(설정/수정 가능)

(llgin.defs와 다른 기본설정을 보관하고있습니다)



1. 홈디렉토리 위치 설정

2. shell 설정

3. 계정 생성시 복사되는 디렉토리 위치 설정


*명령어로도 설정가능

useradd -D [옵션]

-b [경로]    홈디렉토리 설정

-s [경로]    shell 설정


7./etc/skel(디렉토리)

계정 생성시 계정 홈디렉토리로 복사될 파일/디렉토리를 보관하고있는 디렉토리



8.계정 생성 명령어

useradd [옵션](여러개가능) [계정명]


-u    UID 설정

-g    GID 설정(그룹이 존재할시)

-c    계정설명 설정

-d    홈디렉토리 설정

-s    shell 설정

-o    존재하는 UID 중복생성 허용

-m -k /etc/skel 대신 다른 디렉토리로 설정



UID: 600, 계정설명: testing, 홈디렉토리: /practice/MoVenPicK3, shell: korn으로 설정하여 MoVenPicK3라는 계정 생성


9.존재하는 계정설정 수정 명령어

usermod [옵션](여러개 가능) [계정명]


-l     계정명 변경

-c    계정 설명 변경

-m -d 계정 홈디렉토리 변경

-s    계정 shell 변경



MoVenPicK3이라는 계정명을 MoVenPicKTest, 계정설명을 modTesting, shell은 bash로 변경


10.계정 암호 생성 명령어

passwd [옵션] [계정명]


-d    암호를 NULL값으로 지정(암호를 최소 NULL값을 주지않을경우 로그인 불가능)

-l     암호변경 잠금설정

-u    암호변경 잠금해제



MoVenPicKTest 암호 설정. 오류가 뜨더라고 계속진행 가능합니다.

(원래, 비밀번호 설정시 비밀번호 타입하는 장면이 보이지않습니다)


11.계정 삭제 명령어

userdel -rf [계정명]        계정, 계정과 관련된 모든 정보 삭제



MoVenPicKTest 계정, 계정과 관력된 모든정보 삭제. /etc/passwd를 보니 더이상 존재하지 않네요.


12. 그룹 생성 명령어

groupadd [옵션] [그룹명]


-f  동일한 그룹 강제 생성

-g GID 설정



groupTest 라는 그룹명으로 GID는 59999로 설정


13. 그룹 수정 명령어

groupmod [옵션] [그룹명]


-n    그룹명 변경

-g    GID 변경



groupTest라는 그룹을 그룹명 groupMod, GID는 59998로 변경


14.그룹 삭제 명령어

groupdel [그룹명]



groupMod 그룹 삭제. 더이상 /etc/group에 존재하지않네요.



여기까지 사용자계정관리에 대해서 소개해드렸습니다. 이번 소개는 사용자를 관리하는 아주 중요한 부분이니 명령어 하나하나 옵션하나하나 보시며 시도해보시길 바랄께요^^

읽어주셔서 감사합니다.

'OS > Linux' 카테고리의 다른 글

#11. ACL(Access Control List)  (0) 2012.09.19
#10. Permission(권한)  (0) 2012.09.14
#08. grep/egrep, awk  (0) 2012.09.12
#07. 정규표현식(Regular Expression)  (0) 2012.09.11
#06. Standard I/O Redirection  (0) 2012.09.10