카테고리 없음2013. 6. 18. 09:57

 

22장. 사용자 관리와 비밀번호

 

 

학습목표

- 사용자 관리의 방법을 알아본다.

 

 

● 리눅스 제공 표준 사용자 및 표준 그룹 (root)
- /etc/passwd, /etc/group
- UID(UserID)  : 사용자계정과 대응하는 시스템이 인식하는 고유한 숫자 (root는 0)
- GID(GroupID) : 그룹명과 대응하는 시스템이 인식하는 고유한 숫자
- 사용자 : ID와 Password를 가지고 리눅스 사용권한을 가짐
- 그룹 : 여러 사용자에게 같은 권한을 가질 수 있도록 묶는 역할

 


● 명령어를 이용한 사용자 관리
- root 관리자가 생성


- 명령어 : useradd new-id [옵션] [변경값] (useradd = adduser)
   → 예) 디렉토리 지정 # useradd woo -d /home/woo
   →     쉘 지정 # useradd woo -s /bin/tcsh
   →     그룹 지정 # useradd woo -g mygroup

 

- 명령어 : passwd user-id
   → 예) # passwd woo

- 명령어 : userdel [옵션] user-id
   → 예) 디렉토리까지 삭제 # userdel -r woo

 

- 명령어 : usermod [옵션] [변경값] user-id
   → 예) 그룹변경 # usermod -g user woo
   →     디렉토리 변경 # usermod -d /woo woo


 

- 명령어 : chage [옵션] [변경값] user-id
   → 예) ID사용 만료일지정 # chage -E 2004/02/01 woo

 

- 사용자 추가시 기본값 -> /etc/login.defs

 

- skel 디렉토리 -> /etc/skel/ (사용자가 생성될 때 제공할 기본 파일이 있음)

- 명령어 실행시 작동순서
   → 1. /etc/passwd 에 사용자 추가
   → 2. /etc/group 에 그룹이름 추가
   → 3. /home 디렉토리 밑에 계정이름과 같은 이름의 디렉토리 생성 (계정 공간)
   → 4. /etc/skel 디렉토리의 파일내용을 계정공간으로 복사
   → 5. 패스워드는 나중에 passwd <계정이름> 으로 설정

 

- root 사용자는 모든 패스워드 변경가능

 

- 일반 사용자는 자기 패스워드만 변경

 

- /etc/shadow/etc/passwd 차이
   → : passwd는 모든사용자가 읽기 가능,
   → : shadow는 root 만 읽기 가능

 

- 사용자 계정 변경
   → # su -> root 권한 획득
   → # su - -> root 권한 획득 + root 환경설정
   → # su 사용자명 -> 사용자 권한 획득

 

- /etc/passwd 파일의 구조
   ※ account:password:UID:GID:GECOS:directory:shell
      ☞ account                 사용자이름
      ☞ password               암호(shadows 파일로 대치될 경우 * 표시)
      ☞ UID, GID                 사용자번호, 그룹번호
      ☞ GECOS                  사용자정보(사용자 Full Name)
      ☞ directory                사용자의 홈디렉토리
      ☞ shell                      사용자의 기본 shell
   → 계정앞에 "*" 표시하면 계정잠금
   → 첫 User나 Group의 UID, GID는 500번으로 시작

 

- /etc/shadow 파일구조
   ※ account:encryptedpassword:last:may:must:warn:expire:disable:reserved
      ☞ account                    계정이름
      ☞ encrypted password   암호화된 패스워드
      ☞ last                          최근 패스워드 변경일 (1970년 1월 1일 기준의 날짜 수)
      ☞ may                         패스워드 변경 후, 재설정을 위한 대기일 수
      ☞ must                        패스워드 유효기간
      ☞ warn                        패스워드 변경 경고 시간
      ☞ expire                      패스워드 만료시간 이후 계정을 사용할 수 없게 되는 기간
      ☞ disable                    계정 사용 불가능 날짜 (1970년 1월 1일 기준의 날짜 수)
      ☞ reserved                  예약된 영역

 

- 그룹생성
   → # addgroup -g gid <그룹이름>

 

- 그룹삭제
   → # delgroup <그룹이름>

 

- 그룹변경
   → # groupmod -n <new 그룹이름> <old 그룹이름>

 

- /etc/group 파일구조
   ※ group_name:password:GID:user-list
   → group_name : 그룹명
   → Password : 그룹 패스워드(필요 시 사용, 일반적으로 사용하지 않음)
   → GID : 그룹 번호
   → User-list : 그룹에 속한 User ID, 콤마(,)로 구분

 

- 사용자 확인 명령
   → # whoami
   → # who am i
   → # id
   → # groups

 


[실습]


● 명령어를 이용한 사용자 관리
● X윈도우 환경에서 사용자 관리

 

 

 

 

/etc/passwd >

 

 

사용자 관리를 위한 기본적인 파일이다.

 

 


vi /etc/passwd



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

 

root : 사용자 이름

x : passwork 암호

0 : UID

0 : GID

root : GECOS 사용자 정보 (딱히 지워도 상관없다)

/root : root 사용자의 홈 디렉토리

/bin/bash : root 사용자의 기본 쉘

 

각 사용자들의 정보를 확인할 수 있다.

대표적으로 root 사용자에 대한 부분을 확인해보았는데

예를들면 root의 그룹번호는 0이다.

 

이게 왜 0인지 잘 모르겠다.

어디서 확인할 수 있을까?


 

vi /etc/group



 

각각의 그룹들을 확인할 수 있는 /etc/group 파일을 확인해보면

이렇게 기본적으로 시스템이 부여한 그룹 번호들을 확인할 수도 있다.

 

 


이번엔 john이라는 사용자를 만들어보도록 하자.

 

useradd john

 

치면 아무 변화가 없다.

에러메시지가 뜨지 않으면 성공적으로 만들어진 것이다.

 

그리고 잘 만들어졌는지 확인해보자.

vi /etc/passwd

 



맨 아래에 보면 john 사용자에 대한 정보가 있는 것을 볼 수 있다.

잘 만들어 졌다.

 

john은 일반 사용자 이기 때문에 500번 부터 UID와 GID를 부여 받았다.

 

그전에 내가 만든 master라는 사용자가 처음 만들어졌기 때문에 500번을 부여받았고

john은 그 다음 501번을 부여받았다.

 

 

그렇다면 이러한 정보들은 어디서 직접 지정해주는 걸까?

 

 

 

vi /etc/login.defs

 

/etc/login.defs 파일을 한번 열어보자.

 


 

UID는 500번 부터 60000번까지 생성할 수 있음을 확인할 수 있다.

GID도 UID와 마찬가지이다.

 

CREATE_HOME yes로 되어있는 것은

사용자 홈 디렉토리를 만들것인가인데 이것을 no로 바꾸면 홈 디렉토리를 생성하지 않는다.

 

 

 

/etc/skel >

 

사용자를 생성할 때 기본적인 환경설정 파일이 제공되는 폴더이다.

 


우리는 앞에서 john 사용자를 만들었다.

/home/john 폴더로 한번 가보자.

ls -a를 치면 난 만든적이 없는데

이상한(?) 파일들이 생성되어 있다.

 

어디서 이런 파일들이 생긴 것일까?





cd /etc/skel

 

/etc/skel 폴더로 이동하자.

 

ls -a 하면 기본적으로 새 사용자에게 제공해주는

환경설정 파일들이 여기 있다는 것을 확인할 수가 있다.

 

이번엔 새 사용자를 만들때 hello.txt 파일을 생성하게 해보자.

 

cat > hello.txt

Hello...

라고 내용을 입력하고 Ctrl + Z를 눌러 빠져나온다.

 


/root 폴더로 이동해서

 

adduser bann

bann 사용자를 새로 생성한다.

 

cd /home/bann

bann 사용자의 폴더로 이동해서

 

ls 명령을 쳐보면 hello.txt 파일이 생성되어 있다.

 

cat hello.txt

내용 역시 /etc/skel 에서 만들었던 것과 같은것을 볼 수 있다.

 

 

 

 

 

 

사용자 계정 변경 >

 

 


john 사용자를 만들고 password를 지정해주지 않았으니

지정해주자.

 

passwd john

 

john 사용자로 계정을 변경해보자.

 

su john

 

그럼 john 사용자의 권한만 얻었을 뿐이지

기본 폴더가 /home/john으로 바뀐건 아니다

 

그래서 현재 /root 폴더에서 ls명령을 쳤을때

허가가 거부된 것이다.

 

exit 명령으로 john 사용자로부터 빠져나오자.

 



다시 john 사용자의 권한을 얻는데 이번엔 '-' 를 붙여서 해보자.

 

su - john

그럼 바로 /home/john 폴더가 기본폴더가 된다.

 

whoami를 치면 현재 사용자가 나온다.

 

who am i를 치면 좀 더 자세한 정보가 나온다.

 

id를 치면 UID나 GID같은 정보들을 확인할 수 있다.

 


 

현재 john 사용자인 상태에서 bann 사용자를 한번 지워보자.

 

userdel bann

 

john 사용자는 root가 아니기 때문에 이 명령을 실행할 수가 없다.

exit로 john 사용자로부터 빠져나오자.

 

 

 

root 사용자로 bann 사용자를 지운다.

 

userdel -r bann

 

-r 옵션은 bann 사용자의 디렉토리까지 지우는 것이다.

 

ls /home 을 쳐보면 bann 디렉토리가 지워진 것을 확인할 수 있다.

 

 

 

 

 

 

Group 설정 >

 

 

먼저 그룹을 하나 생성해보자.

 

 

 

groupadd bbb

 

bbb 그룹을 하나 만들었다.

잘 만들어졌는지 확인해보려면

 

cat /etc/group

 

※ adduser같은 경우는 반대로 useradd로 해도 되지만 groupadd는 addgroup가 없다.

 

 

맨 아래줄에 bbb라는 그룹이 502번의 GID를 부여받았음을 볼 수 있다.

 

 

 

adduser abc -g bbb

 

abc 사용자를 만듬과 동시에 bbb 그룹으로 넣는다.

그리고 abc 사용자가 잘 생성되었는지 확인해보자.

 

cat /etc/passwd




맨 아래줄에 abc 사용자가 잘 생성이 되었고

속한 그룹이 502라고 표시되어 있다.

 

502면 그룹 bbb이다.

잘 설정이 되어 있음을 확인할 수 있다.

 

 

 

 

 

 

X 윈도우 환경에서 사용자 관리 >

 

 

X 윈도우 환경에서 사용자 관리 하는 것을 알아보자.

 

 


redhat-config-users

 



'사용자 추가'를 클릭

 



def 사용자를 생성해보자

암호를 입력하고 확인

 



def 사용자가 간단하게 생성이 되었다.

 



이번엔 bbb 사용자를 생성해보자.

암호를 입력하고

"이 사용자의 개인 그룹 생성"을 체크 해제한 후 확인

 



bbb 사용자가 잘 만들어졌지만 기본 그룹은 users로 설정이 되어있다.

 

users는 기본적으로 시스템에서 제공하는 그룹이다.

 

이 bbb 사용자를 john 그룹에 넣어보자.

 



bbb 사용자를 더블클릭한다.

[그룹] 탭에서 users 가 체크되어있는 부분을 찾아 체크해제를 한다.

 



그리고 john 을 찾아서 체크한다.

그리고 확인

 


 

그럼 성공적으로 bbb 사용자가 john 그룹에 속하게 되었다.

 

 


[정리]

 


● 사용자 관리 명령어
● X윈도우 환경에서 사용자 관리

 

Posted by 아이맥스