OS/Linux

adduser 사용법

아르비스 2011. 8. 12. 14:33

출처 : http://sir.co.kr/bbs/board.php?bo_table=pl_linux&wr_id=409

 

사용자 계정

*adduser 명령을 실행하면 변화가 나타나는 폴더들 (즉, 유저를 생성하려면)
1. /home 아래에 유저명의 폴더생성
2. /etc/passwd 정보 추가
3. /etc/group 정보 추가
4. /etc/skel
사용자 계정 생성 
# adduser jslover (생성)
# passwd jslover (패스워드 설정 및 변경 )

사용자 계정 삭제
# userdel -r ljs
( adduser 옵션) 
사용자 설명을 부가하여 생성 
# adduser -c 01190722595 ljs
디렉토리를 지정하여 사용자 걔정 생성 (디폴트로 /home에 생성) 
# adduser ljs -d /users/ljs
   → /users 폴더 아래 /ljs 사용자 폴더를 만들고 ljs 계정을 생성
UID 
- 기본적으로 UID는 500부터 시작하여 자동증가하며 자동적으로 부여된다

UID를 특별한 값으로 지정하기 
# adduser ljs -u505
사용자 정보 보기
# cat /etc/passwd
사용자 쉘(shell) 지정해주기 
# adduser ljs -s /bin/tcsh
※ /etc/login.defs 파일의 역활 : UID,GID 시작값은 최소 500인데 이파일에서 수정할수 있다
※ /etc/skel : 새로운 계정을 추가할 때 먼저 /etc/skel 디렉토리 내에 있는 파일들이 
                    사용자 홈 디렉토리로 복사되어서 사용자 홈 디렉토리가 만들어지는것이다.
                   : 이 폴더내에 추가된 계정 이용자에게 어떤 메세지를 주고자 할때 파일을 만들어 넣어두면 유용하다(message, readme)
useradd 명령의 기본 설정값 변경하기 
1. useradd -D 옵션 기본 설정값 확인
[root@H200 home]# useradd -D
그룹=100
홈디렉토리=/home
비활성화=-1
만기=
쉘=/bin/bash
SKEL=/etc/skel

2. 사용자 기본 홈 디렉토리를 /home 에서 /users로 변경해보자
# adduser -D -b /users
3. 기본 쉘을 /bin/bash에서 /bin/tcsh로 변경하기
# adduser -D -s /bin/tcsh
※ 실계정은 발급하되 로그인 불가능하게 하기
– /etc/passwd  파일에서  /bin/bash 부분을 /bin/false 나 /bin/nologin 으로 바꿔준다
계정 패스워드 관리
# chage -M 15 -E 2005/05/30 ljs1
  → 유효만기일 15일 전부터 패스워드 변경요구(-M)
  → 2005년 5월 30일까지 계정 사용 만료(-E)
패스워드 유효기간 설정 확인
[root@H200 home]# chage -l ljs1
최소:   0
최대:   15
경고:   7
유효하지 않음:  -1
마지막 변경:             5월 24, 2005
패스워드 만기:   6월 08, 2005
패스워드가 유효하지 않음:       불가
계정 만기:       5월 30, 2005

계정 사용자 정보 변경 
# usermod -s /bin/tcsh ljs (옵션은 adduser 옵션 내용과 같음)

사용자 계정 바꾸기(su) 
*일반 사용자 추가 : # adduser ljs
*일반 사용자로 바꾸는것 : #su – ljs 
*다시 root 사용자로 바꾸는것 : $ su – (패스워드를 다시 물어본다)
   ※ su 다음에 – 를 넣어야만 로그온한것과 같은 효과를 가지게 된다 
   ※ 이전상태 계정으로 되돌아올때는 exit 명령. 
환경변수 $PATH 
[root@H200 home] # su ljs
[ljs@H200 home] $ su
Password:
[root@H200 home] # echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin

[root@H200 home]# su – ljs 
[ljs@H200 ljs] $ su -
Password:
[root@H200 root]# echo $PATH
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/root/bin

로그인 관리 
1. 쉘 변경
→ 유저 로그인 못하게 하기 
#usermod -s /sbin/nologin jongsuck

→ 다시 로그인하게 하기

#usermod -s /bin/basn jongsuck

2. /etc/pam.d/login 수정
  → /etc/pam.d/login 파일을 vi로 열어  파일 첫줄에 다음 한줄을 추가한다
[ auth  required  /lib/security/pam_listfile.so   item=user    sense=allow   file=/etc/loginuser   onerror=succeed ] 
   → /etc/loginuser 파일 생성하고 로그인 가능한 계정 추가 
   → 로그인거부는 /etc/nologinuser 파일 생성하고  계정 추가하고, sense=deny 로, file=/etc/nologinuser 로 변경 
그룹 관리  
그룹 생성
# groupadd ljs
특정 GID 부여해서 그룹생성
# groupadd -g 801 ljs
그룹 삭제
# groupdel ljs
그룹 속성 변경
#groupmod -n ljs linux
→ linux 사용자 그룹을 ljs 그룹으로 변경하는 내용
*그룹 바꾸기
[root@H200 home]# chgrp jongsuck /home/ljsabc  (ljsabc 유저디렉토리 의 그룹을 jongsuck 그룹으로 바꾼다)
*그룹 권한 바꾸기
[root@H200 home]# chmod 770 /home/ljsabc/  — ljsabc 그룹 권한 바꾸기
(끝에 /를 꼭 붙여야 한다. 안그러면 전부다 권한이 바뀐다)
※ #id : 자신의 UID , GID 를 볼수있다
LS옵션
# ls -al /etc/ |  less : 한 페이지별로 출력하라
grep 
# grep root /etc/passwd : /etc /passwd 폴더내의 root와 관련된것을 출력하라
# ls -al /etc/|grep passwd : /etc 밑에 passwd와 관련된것을 출력하라

환경변수 $HOME (홈디렉토리)
*홈디렉토리 환경변수 보기 및 변경
[root@H200 etc]# echo $HOME (보기)
/root
[root@H200 etc]# cd ~ (보기)
[root@H200 root]# HOME= /tmp (변경)
[root@H200 root]# echo $HOME
/tmp
[root@H200 root]# cd ~
[root@H200 tmp]#
파티션 용량 및 파일갯수
# df : 파티션 용량 정보
# df -i : 파티션 내의 파일갯수 정보 (앞으로 생성할수 있는 파일갯수 정보)
1. 파티션 내 파일갯수
※ 수많은 파일 한꺼번에 만들기
– 쉘 프로그램 사용
[root@H200 test2]# touch a.sh
[root@H200 test2]# vi a.sh
      1 #!/bin/sh     – 쉘프로그램 만들때 써주는 주석
      2 i=0
      3 while:
      4 do
      5 touch ${i}
      6 i=$(( $i+1))
      7 done  
                             ….. 용량이 다 찰때까지 파일을 생성하라 
[root@H200 test2]# ls
a.sh
[root@H200 test2]# ls -al
합계 3
drwxr-xr-x    2 root     root         1024  5월 24 20:18 .
drwxr-xr-x    7 root     root         1024  5월 24 20:14 ..
-rw-r–r–    1 root     root           53  5월 24 20:18 a.sh 
*a.sh를 실행파일로 바꾸기 
[root@H200 test2]# chmod 755 a.sh 
[root@H200 test2]# ls -al
합계 3
drwxr-xr-x    2 root     root         1024  5월 24 20:18 .
drwxr-xr-x    7 root     root         1024  5월 24 20:14 ..
-rwxr-xr-x    1 root     root           53  5월 24 20:18 a.sh
[root@H200 test2]# ./a.sh – 실행 
[root@H200 test2]# df -i   를 실행해보면 더이상 파일을 만들수 없다. IFree : 0 , IUse% : 100%
[root@H200 test2]# df      를 실행해보면 용량은 넉넉하게 남아있는것을 볼수 있다 (즉, 파일갯수만 더이상 생성할수 없다는 말)

2. 파티션 내 용량
*/boot내의 모든 용량을 소비해보자
[root@H200 test2]# dd if=/dev/zero of=a.txt bs=1024 count=30000   -용량이 100%될때까지 파일명을바꾸어가며 반복실행해보자 
30000+0개의 레코드를 입력하였습니다
30000+0개의 레코드를 출력하였습니다
[root@H200 test2]# df -i   를 실행해보면 파일은 만들수 있다.
[root@H200 test2]# df      를 실행해보면 용량이 꽉차 있는것을 볼수 있다 
(보충해야할 부분) ㅡ.ㅡ;
*adduser 말고 골격으로 유저생성하는 법 책에서 정리할것~!!!!!!
*[root@H200 home]# tail -1 /etc/passwd
*/etc/passwd , /etc/group  개념정리할것~!