유저관리 ( useradd / usermod / userdel ) > 기술자료 | 해피정닷컴

유저관리 ( useradd / usermod / userdel ) > 기술자료

본문 바로가기

사이트 내 전체검색

유저관리 ( useradd / usermod / userdel ) > 기술자료

Linux 유저관리 ( useradd / usermod / userdel )

페이지 정보


본문

현재 유저정보    # cat -n /etc/passwd  으로 확인합니다.
/etc/passwd 파일에 저장된 정보이며, 이 파일을 직접 텍스트 에디터로 편집해서는 안됩니다.
여러 사람이 동시에 /etc/passwd 파일을 변경할 경우  /etc/passwd 파일의 내용이 손상될 가능성이 있기 때문입니다.


[ useradd ]

새로운 사용자를 생성할때 사용하는 명령어입니다.
계정사용자를 생성할 수도 있고, 메일사용자를 생성할 수도 있습니다.
용도에 맞는 원하는 계정을 생성할때 사용하는 명령어입니다.

또한 이 명령어는 "useradd -D"명령어와 반드시 함께 알아두세요.

계정을 생성하는 관리자용 명령어이므로 일반사용자들은 사용하지 않는 명령어입니다.
서버관리자가 해야하는 계정생성 관련업무에는 다음과 같은 것들이 있습니다.
 - /etc/passwd 파일에 사용자의 계정(ID 및 패스워드)생성
 - /etc/shadow 파일에 계정 패스워드 등록
 - /etc/group파일에 사용자의 그룹생성
 - /home에 사용자의 홈디렉토리 생성
 - FTP사용을 위한 FTP사용 환경설정
 - 메일사용을 위한 메일환경설정
 - 사용자의 로그인정보 및 환경설정
 - 사용자의 디렉토리 및 파일 소유권 변경 및 확인
 - DB 사용을 위한 환경설정 및 응용프로그램사용을 위한 환경설정
 - 기타 응용 소프트웨어 사용을 위한 설정등

이외에도 여러가지 작업들이 있지만, 서버관리자는 새로운 계정사용자가 생성이 되면 기본적으로 위와 같은 작업을 해야합니다.

이런 업무중에 계정생성에 관련된 작업을 useradd를 이용하여 작업합니다.

useradd [-u uid(사용자 아이디)] [-o]] [-g 그룹명][-G 그룹,...]
           [-d 홈디렉토리][-s 쉘][-c 적요사항][-m [-k template]]
           [-f 비활성화] [-e 만기] [-p passwd] [-M] [-n] [-r] [-l] name
useradd -D [-g 그룹명][-b 초기디렉토리][-s 쉘][-f 비활성화] [-e 만기]

# useradd -u 사용자고유번호 -g 그룹명 -d 홈디렉토리 -s 쉘 -p 비밀번호 사용자이름
-d : 홈디렉토리를 지정
-g : 그룹을 지정해서 사용자를 생성한다. 해당그룹이 존재하는 상태에만 가능
-G : 기본그룹이외에 추가로 지정그룹에 속하게 한다.
-c : 사용자에 대한 설명을 추가한다.
-s : 사용자 쉘을 지정하여 생성
-D : /etc/default/useradd에 설정된 유저추가에 대한 기본설정을 보여준다.


[ 사용가능한 쉘을 확인하는 방법 ]
# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin

참고자료
http://milvus.tistory.com/32


[ 사용예 1 ]
# cd /home      홈디렉토리로 이동
# useradd happyjung    아이디 생성
# passwd happyjung    비밀번호 변경

# grep happyjung /etc/passwd
happyjung:x:500:501:해피정:/home/happyjung:/bin/bash
# grep happyjung /etc/shadow
happyjung:********:::
# grep happyjung /etc/group
happyjung:x:501:
# ls -al /home/happyjung
# ls -al /home/happyjung2
total 24
drwx-----x   3  happyjung happyjung  4096  Feb 23 07:23 .
drwxr-xr-x.  5  root          root          4096  Feb 23 07:34  ..
-rw-r--r--   1  happyjung  happyjung     18  Jan 12 03:29 .bash_logout
-rw-r--r--   1  happyjung  happyjung   176  Jan 12 03:29 .bash_profile
-rw-r--r--   1  happyjung  happyjung   124  Jan 12 03:29 .bashrc


[ 사용예 2 ]
# useradd -u 502 -d /home/happyjung2 -s /bin/csh happyjung2
즉, UID를 502으로 지정하였으며, 홈디렉토리위치를 /home/happyjung2로 지정하였고, 기본사용쉘을 C Shell로 지정하였습니다.

# grep happyjung2 /etc/passwd
happyjung2:x:502:502::/home/happyjung2:/bin/csh
# grep happyjung2 /etc/group
happyjung2:x:502:
# ls -al /home/happyjung2
total 20
drwx-----x   3  happyjung2 happyjung2  4096  Feb 23 07:23 .
drwxr-xr-x.  5  root           root            4096  Feb 23 07:34  ..
-rw-r--r--   1  happyjung2  happyjung2     18  Jan 12 03:29 .bash_logout
-rw-r--r--   1  happyjung2  happyjung2   176  Jan 12 03:29 .bash_profile
-rw-r--r--   1  happyjung2  happyjung2   124  Jan 12 03:29 .bashrc

이렇게 옵션을 직접 지정하면 기본설정값에 우선하여 생성됩니다.


[ 사용예 3 ]
# useradd -u 503 -d /home/happyjung3 -s /bin/ksh -c 해피정 -e 2004-12-12 -p 12345 happyjung3
    . -u 503          : UID 503로 지정
    . -d /home/happyjung3 : 홈디렉토리 위치
    . -s /bin/ksh      : 사용할 기본쉘을 Korn Shell로 지정
    . -c 해피정        : 계정사용자의 간단한 설명
    . -e 2007-12-31    : 계정사용 종료일자
    . -p 12345    : 패스워드를 12345로 지정
    . happyjung3    : 생성할 계정명
# grep happyjung3 /etc/passwd
happyjung3:x:501:501:해피정:/home/happyjung3:/bin/ksh
# grep happyjung3 /etc/shadow
happyjung3:12345:12314:0:99999:7::12764:
# grep happyjung3 /etc/group
happyjung3:x:503:
  

[ usermod ]
계정에 설정된 내용을 변경합니다.

사용법: usermod  [-u uid [-o]] [-g group] [[-a] -G group,...] [-d 홈 디렉토리 [-m]] [-s 쉘] [-c 적요사항] [-l 새_이름]
                [-f 비활성화] [-e 만기] [-p 패스워드] -L|-U] 사용자계정이름
 . -u    : 사용자 계정의 uid 값을 변경
 . -g    : 계정의 활동 그룹을 변경
 . -h    : 홈페이지 디렉토리 변경
 . -d    : 사용자 홈 디렉토리 경로를 변경
 . -f 0  : 사용자 계정의 이용을 중지
 . -e    : 사용자 계정의 유효기간을 지정
 . -p    : 비밀번호 변경

usermod -f 0 happyjung    ... happyjung 의 계정을 중지합니다.
주의) 정지한 유저가 ~/.rhosts 파일을 기술했던 경우에는 다른 호스트 등으로부터 rlogin 커맨드로 로그인되어 버릴 수도 있습니다.


유저의 비밀번호를 변경하고자 하는경우
https://www.happyjung.com/lecture/341 참고

 
 

[ userdel ]
기존에 존재하는 계정정보를 삭제합니다.
즉, /etc/passwd내의 계정내용, /etc/shadow내의 패스워드 내용, /etc/group파일내의 그룹정보내용, 그리고 -r옵션을 사용하여 계정을 삭제하면 /var/spool/mail/디렉토리에 있는 메일파일과 홈디렉토리의 내용모두를 삭제합니다.

사용법: userdel [-r] login
userdel은  -r옵션을 사용했을 때와 사용하지 않았을 때의 차이점을 분명히 알고 있어야 합니다.


[ 사용예 1 ]
먼저 -r옵션없이 happyjung이라는 계정을 삭제하겠습니다.

# userdel happyjung
위의 결과로 /etc/passwd, /etc/shadow, /etc/group파일내에 happyjung에 대한 설정값들이 모두 삭제되었습니다.
하지만 아래와 같이 happyjung의 홈디렉토리와 메일파일은 그대로 존재하고 있음을 알 수 있습니다.

# ls -al /home/happyjung
합계 36
drwx-----x  2  500 500 4096 10월  3 16:20 .
drwxr-xr-x  29 root root 4096 10월  3 18:11 ..
-rw-r--r--  1  500  500  24  7월 12 19:14 .bash_logout
-rw-r--r--  1  500  500  191  7월 12 19:14 .bash_profile
-rw-r--r--  1  500  500  124  7월 12 19:14 .bashrc
-rw-r--r--  1  500  500 5619  7월 12 19:14 .canna
-rw-r--r--  1  500  500  383  7월 12 19:14 .emacs
-rw-r--r--  1  500  500  120  7월 12 19:14 .gtkrc
# ls -l /var/spool/mail/happyjung
-rw-rw----    1 500      500            0  9월 19 11:46 /var/spool/mail/happyjung
이 경우에는 홈디렉토리와 메일파일을 확인하고 관리자가 직접 찾아서 삭제해야 합니다.


[ 사용예 2 ]
이번에는 -r옵션을 사용하여 happyjung2이라는 계정을 삭제합니다.
설명드린 바와 같이 /etc/passwd, /etc/shadow, /etc/group내의 happyjung2에 관한 설정행들과 /var/spool/mail에 있는 메일파일, 그리고 happyjung2의 홈디렉토리내용이 모두 삭제됩니다.

# userdel -r happyjung2
# ls -al /home/happyjung2
ls: /home/happyjung2: 그런 파일이나 디렉토리가 없음



참고자료
http://blog.naver.com/jochanyang/22287530
http://blog.naver.com/jupsoklove/120043010002
http://naompine.blogspot.kr/2015/07/8-centos.html 

댓글목록

등록된 댓글이 없습니다.


Total 124건 6 페이지
  • RSS
기술자료 목록
24
Linux   15933  2007-10-05 19:34 ~ 2007-10-05 00:00  
23
Linux   31115  2007-10-05 15:38 ~ 2018-01-31 00:42  
22
Linux   140587  2007-10-04 09:41 ~ 2013-05-01 00:00  
21
Linux   24728  2007-10-04 06:18 ~ 2019-04-17 02:22  
20
Linux   15604  2007-10-04 05:34  
19
Linux   17429  2007-10-03 21:25  
18
Linux   12480  2007-10-03 21:04 ~ 2007-10-03 00:00  
17
Linux   11606  2007-10-03 20:52 ~ 2016-03-29 00:00  
16
Linux   24144  2007-10-03 20:44 ~ 2007-10-04 00:00  
15
Linux   23776  2007-10-03 20:14 ~ 2017-02-22 00:00  
14
Linux   14348  2007-10-03 19:20 ~ 2017-02-22 00:00  
열람
Linux   16641  2007-10-03 18:14 ~ 2018-01-09 18:36  
12
Linux   14207  2007-10-03 16:02  
11
Linux   10924  2007-07-30 11:00  
10
Linux   57685  2007-04-20 13:14 ~ 2008-05-27 00:00  
9
Linux   21354  2007-04-12 10:35 ~ 2017-03-21 00:00  
8
Linux   27820  2007-03-31 18:29 ~ 2010-10-20 00:00  
7
Linux   23960  2007-02-07 23:40  
6
Linux   15585  2006-08-04 19:25  
5
Linux   14972  2006-06-29 19:16  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.