본문 바로가기

NetWork

Linux(리눅스) 계정 관리(추가,수정,삭제)

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[사용자, 그룹 관리와 관련된 파일들]

  • /etc/passwd : 사용자 계정 정보 파일.
  • /etc/shadow : 암호화된 사용자 비밀번호 저장파일.
  • /etc/group : 사용자 그룹 정보 저장파일.
  • /etc/skel : 사용자 등록시 홈디렉토리에 복사되는 원본파일이 저장된 디렉토리
  •                  (사용자 추가시 홈 디렉토리에 복사됨).
  • /etc/default/useradd : 새 사용자 등록시 기본 설정정보 파일(홈 디렉토리 기본 위치, 기본 쉘 종류, 기본 그룹 등).
  • /etc/login/defs : 기타 사용자 생성 옵션들이 정의된 파일.


 

※ /etc/passwd 의 파일 저장 형식
- 사용자계정:암호:UID:GID:사용자이름:홈디렉토리위치:사용쉘

# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
※ /etc/shadow 의 파일 저장 형식
- 사용자계정:암호:암호 파일 최종 수정일:암호 변경 최소일:암호 변경 최대일:암호 만료 경고기간:암호 파기기간:계정만료기간:예약필드

# cat /etc/shadow
root:$1$qsotdQm.$uic0TlSBIBqC6VX9WUCl9.:14651:0:99999:7:::
bin:*:14581:0:99999:7:::

[사용자 계정 관리 명령어]

■ 사용자 정보 조회

▷ 명령어 : id

▷ 사용형식 : id [옵션] 사용자계정

-g : 기본 그룹의 GID 출력
-G : 모든 그룹의 GID 출력
-u : 사용자의 uid 출력
-n : 위 옵션과 함께 사용, 숫자대신 이름 출력()

▷ 사용예
# id -Gn user1


■ 현재 로긴하고 있는 사용자 목록 조회 : users

# users
root

■ 사용자 계정 추가

▷ 명령어 : useradd

▷ 사용형식 : useradd [옵션] 로그인 계정
 -c comment : 사용자 이름 또는 정보
 -d home_directory : 사용자 계정 홈 디렉토리
 -e expire_date : 사용자 계정 유효 기간
 -f inactive_time : 비활성 기간
 -g initial_group : 기본 그룹
 -G groups : 기본그룹외에 추가로 소속될 그룹
 -s shell : 기본 로그인 셀
 -u uid : 사용자 계정 uid
 -k skel SKEL_DIR : skel 디렉토리를 기본을 사용하지 않고 특정 디렉토리로 지정
 -m create-home : 새 사용자를 위한 홈디렉토리 생성

▷ 사용예 (사용자 계정 : user1)
# useradd -m -k /etc/common user1    <--- /etc/skel 이 아닌 /etc/common 디렉토리의 환경 설정 파일을 이용하여 계정 생성.
# useradd -g admin -G group1 -s /bin/bash user1  <<--- 기본 그룹 : admin, 추가로 소속될 그룹 : group1 , 기본 쉘: /bin/bash.

※ useradd 명령어를 통해서 사용자를 추가하게 되면 아래와 같은 작업들이 진행됩니다.
a) "/etc/passwd" 파일에 사용자 정보 설정
b) "/etc/group" 파일에 그룹정보 설정
c) "/home/사용자명/" 위치에 홈 디렉토리가 생성
d) "/var/spool/mail/" 디렉토리에 사용자명의 메일 파일 생성

■ 사용자 계정 변경
▷ 명령어 : usermod
▷ 사용형식 : usermod [옵션] 로그인 계정
 -c comment : 사용자 이름 또는 정보
 -d home_directory : 사용자 계정 홈 디렉토리
 -e expire_date : 사용자 계정 유효 기간
 -f inactive_time : 비활성 기간
 -g initial_group : 기본 그룹
 -G grous : 추가 그룹 변경
 -s shell : 기본 로그인 셀
 -u uid : 사용자 계정 uid
 -m move-home : 홈디렉토리 변경시, 새 홈딩렉토리로 파일 이동(-d 옵션하고만 사용할 수 있음)
-l : 사용자명 변경
-L : 사용자의 패스워드에 Lock을 걸어 로그인 제한

▷ 사용예
# usermod –d /home/user1 user1         <--- user1 계정의 홈디렉토리를 /home/user1 으로 설정
# usermod –e 2010-04-05 user1             <--- user1 계정의 만기일을 2010-04-05 일로 설정
# usermod –f 3 user1                            <--- user1 계정의 비봘성 기간을 3일로 설정
# usermod –g group1 user1                   <--- user1 계정의 기본 그룹을 group1 으로 설정
# usermod -u 508 user1                        <--- user1 계정의 UID를 508로 설정
# usermod -s /bin/csh user1                <--- user1 계정의 기본 쉘을 c쉘로 설정
※ 모든 일반 사용자들에 대해 일시적인 서버접속 금지(telent 만 해당, ssh 는 제외)하기 위해서는 /etc/nologin 파일을 생성해 두면 됩니다..

■ 사용자 계정 삭제

▷ 명령어 : userdel

▷ 사용형식 : userdel [옵션] 계정
 -r  : 해당 계정자의 홈디렉토리까지 모두 삭제

▷ 사용예
# userdel -r user1

■ 사용자의 비밀번호 설정

▷ 명령어 : passwd

▷ 사용형식 : passwd 사용자계정

▷ 사용예
# passwd  user1
Changing password for user user1.
New UNIX password:

 [그룹 관리 명령어들]

■ 사용자가 속해있는 모든 그룹정보 조회
- 그룹들의 정보는 /etc/group 파일에 존재.
#cat –n /etc/group

▷ 명령어 : groups

▷ 사용형식 : groups 사용자계정

▷ 사용예
# groups  user1
user1 : admin group1

■ 사용자 그룹 추가

▷ 명령어 : groupadd

▷ 사용형식 : groupadd [옵션]  그룹명           
 -g : 그룹의 GID(Group ID) 설정
 -o  : GID 499이하 값으로 지정
 -f  : 강제로 그룹 생성
 
▷ 사용예
# groupadd -g 1000  group1                   <--- GID가 1000으로 지정하여 group1의 그룹을 추가

■ 사용자 그룹 변경

▷ 명령어 : groupmod

▷ 사용형식 : groupmod [옵션]  그룹명           
 -g : 그룹의 GID 변경
 -o  : GID 499이하 값으로 변경
 -n  : 그룹명 변경
 
▷ 사용예
# groupmod -g 800  group1                     <--- 그룹명 group1 의 GID를 800 변경
# groupmod –n newgroup1 group1           <--- 그룹명 group1 의 그룹명을 newgroup1 으로 변경


■ 사용자 그룹 삭제

▷ 명령어 : groupdel

▷ 사용형식 : groupdel 그룹명           

▷ 사용예
# groupdel group1                      <--- 그룹명 group1 삭제

'NetWork' 카테고리의 다른 글

Ubuntu에 JDK 설치하기  (0) 2013.10.29
리눅스 SFTP만 되는 계정 설정  (0) 2013.10.15
우분투(Ubuntu) 서버 네트워크 설정  (0) 2013.09.27
UBUNTU server 설치  (0) 2013.09.22
REST  (0) 2013.05.06