Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

console.log("daily coding")

리눅스 사용자 생성 및 계정 내용 (2) 본문

false의 잡학다식/리눅스 공부 관련

리눅스 사용자 생성 및 계정 내용 (2)

LeeFalse 2021. 5. 17. 14:38

 사용자관련파일

 

  1) /etc/default/useradd

     - 명령어 useradd로 사용자 계정을 추가할 때 사용되는 정보를 읽어오는 파일

     - 옵션

옵션 설명
GROUP * 새로 생성되는 계정이 기본적으로 소속될 그룹의 GID를 지정
HOME * 새로 생성되는 계정의 홈 디렉토리 위치를 지정
INACTIVE * 새로 생성되는 계정의 패스워드 사용 기간이 만료된 후 계정이 사용 불가능해지는 날을 지정
* 0이면 바로 사용 불가능, -1이면 기능을 사용하지 않음
EXPIRE * 새로 생성되는 계정의 패스워드 만료일을 지정
* 지정 방식은 YYYY-MM-DD
SHELL * 새로 생성되는 계정의 기본 셸을 지정
SKEL * 새로 생성되는 계정 사용자의 홈 디렉토리로 복사될 초기 환경설정 파일들이 저장된 디렉토리를 지정
CREATE_MAIL_SPOOL 새로 생성되는 계정의 메일 파일 저장 여부를 지정
$ useradd [옵션]

 옵션 
   -g : 그룹 변경
   -b : 홈 디렉토리 변경
   -f : INACTIVE 변경
   -e : 계정 종료일 변경
   -s : 셸 변경

 

   2) /etc/default/passwd

     - 계정자의 정보를 가지고 있는 파일, 리눅스에 로그인할 때 사용

     - ':'(colon) 으로 필드 구분

username:password:uid:gid:comment:homedirectory:shell

username 사용자이름
password 암호화된 비밀번호
uid 사용자의 UID
gid 사용자의 GID (기본 그룹 : main 그룹)
comment 설명문
homedirectory 사용자의 홈 디렉토리 (사용자마다 /home이 존재)
shell 실행할 프로그램

 

  3) /etc/default/shadow

     - 계정자의 패스워드 정보가 암호화되어 있는 파일

     - 암호화 패스워드 및 계정의 유효 기간 등을 기록하고 있는 파일

 

username:password:lastchange:mindays:maxdays:warndays:inactive:expire:flag

username 사용자명
password 암호화된 비밀번호 (역으로 풀 수 없음)
lastchange 최근 비밀번호 변경일 (1970년 1월 1일 기준의 날짜 수 : timestamp )
mindays 비밀번호 변경 후, 재설정을 위한 대기일 수
maxdays 비밀번호 유효기간 (30이라면 30일마다 비밀번호를 변경해야 함)
warndays 비밀번호 변경 경고 시간
inactive 비밀번호 유예기간 (사용 기간이 만료된 뒤 실제 계정이 사용 불가능하기까지의 기간)
expire 비밀번호 만료와 상관없이 계정을 사용할 수 없게 되는 일 (1970년 1월 1일 기준의 날짜 수)
flag 나중에 사용하기 위해 예약으로 세팅되어 있고 현재는 사용되지 않으며, 0으로 지정

 

  4) /etc/login.defs

     - 사용자 계정 설정과 관련된 기본값을 정의한 파일

     - 새로운 계정을 생성할 때 반드시 참조하는 파일

    

옵션 설명
MAIL_DIR 메일 디렉토리 지정
PASS_MAX_DAYS 패스워드 변경 없이 사용할 수 있는 최대일자
PASS_MIN_DAYS 패스워드 설정 후 최소 사용기간
PASS_MIN_LEN 패스워드의 최소 바이트 수
PASS_WARN_AGE 패스워드 만료 경고일 지정
UID_MIN 생성할 수 있는 UID 시작번호
UID_MAX 생성할 수 있는 최대 UID qjsgh
GID_MIN 새로 생성되는 그룹의 GID 시작번호
GID_MAX 새로 생성되는 그룹에서 지정할 수 있는 최대 GID 번호
CREATE_HOME 홈 디렉토리를 생성할 것인가의 여부

 

 사용자계정관리

 

   1) 명령어 usermod

     - 디렉토리 /home에 위치한 사용자들의 정보를 변경하는 명령어

   

$ usermod [옵션] 계정명

옵션 설명
-u uid * 새로운 UID를 지정
* -o 옵션과 같이 사용하면 강제 설정이 가능
-g * 새로운 GID 지정
* 사용자 그룹을 지정 또는 변경
-G * 새로운 보조그룹 지정
* 기존 그룹에 포함되어 있는 상태에서 새로운 그룹에 추가 지정
-d 홈 디렉토리 * 새로운 홈 디렉토리를 지정
* -m 옵션과 같이 사용하면 새로 생성이 가능
-s 셸 * 새로운 셸 지정
-c 주석 *새로운 주석 지정
-I ID * 로그인 ID를 바꾸는 옵션으로 새로운 계정명으로 변경
    

 

  2) 명령어 userdel

     - 기존 계정 정보를 삭제하는 명령어

     - 옵션 없이 userdel을 사용하면 디렉토리 /etc/passwd, /etc/shadow, /etc/group에서 해당 계정의 정보가 삭제

 

$ userdel [옵션] 계정명

 옵션
  -r : 계정명의 /var/spool/mail의 메일 파일과 홈 디렉토리의 내용 모두를 삭제

 

   3) 명령어 chage

     - 패스워드의 만료 정보를 변경하는 리눅스 명령어

 

$ chage [옵션] [계정명]

옵션 설명
-l 사용자 계정 정보를 출력
-m 설정 암호 최소 사용 일자
-M 설정 암호 사용 가능 일자
-E 암호 만기일 지정
-W 만기 전 변경 요구 경고 날짜 지정

 

 그룹관리

 

   1) /etc/group

     - 사용자 그룹에 대해 정의되어 있는 파일

     - 모든 계정은 한 개 이상의 그룹에 포함.

     - 파일 /etc/group을 이용하여 계정의 그룹에 대한 변경을 직접 수정하거나 명령어를 통해 변경 가능

 

groupname:password:gid:members

groupname 그룹명
password 그룹 비밀번호 (x로 되어있음)
gid 그룹 번호 GID
members 그룹 멤버 리스트 (여러 멤버가 존재할 때 콤마(,)로 구분한다)

 

   2) /etc/gshadow

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

가:나:다:라

그룹명
그룹암호 ( ! = 부여되지 않음 ) 
그룹의 소유주
그룹 구성원

 

   3) 명령어 groupadd

     - 새로운 그룹을 생성하는 명령어

$ groupadd [옵션] 그룹명

 옵션
   -g gid : 그룹에[ gid를 지정
   -r : 시스템 그룹 생성시 사용, 500번 이하 값 지정

 

   4) 명령어 groupdel

     - 기존의 그룹을 삭제하는 명령어

     - 그룹 안에 소속되어 있는 계정명이 있을 경우 해당 그룹은 삭제되지 않음

 

 

   5) 명령어 groupmod

     - 그룹의 설정을 변경하는 명령어

 $ groupmod [옵션] 그룹명

  옵션
   -g gid : gid를 변경, 옵션 -o와 같이 사용해서 중복 설정을 해줌
   -n 그룹명 : 새로운 그룹명을 변경할 때 사용

 

 사용자명조회명령어

 

   1) 명령어 users

     - 시스템에 로그인한 사용자 정보를 출력하는 명령어

$ users
leefalse

 

   2) 명령어 who

     - 현재 시스템에 접속해 있는 사용자들을 조회하는 명령어

     - 사용자 계정명, 터미널 정보, 접속 시간, 접속한 서버 정보 등을 확인할 수 있음

     - 관리자 root와 일반 사용자 모두 사용 가능

     - 명령어 : 'whoami' 혹은 'who am i'

$ who [옵션]

 옵션
  -b : 마지막 시스템 부팅 시간 출력
  -q : 로그인한 사용자와 사용자 수를 모두 출력
  -r : 현재 시스템의 실행 레벨을 확인 가능

 

   3) 명령어 w

     - 현재 접속중인 사용자들의 정보를 나타내는 명령어

     - 확인 가능한 정보 : 서버의 현재 시간 정보, 서버 부팅 후 시스템 작동 시간, 서버 접속자의 총 수,
                                접속자별 서버 평균 부하율 등

     - JCPU : TTY 필드의 장치명에서 사용되는 모든 프로세스의 CPU 사용 시간

     - PCPU : WHAT 필드에 나타나는 프로세스명에서 사용하는 CPU 총 사용 시간

 

 

   4) 명령어 id

     - 사용자 계정의 uid, gid, group을 확인하는 명령어

$ id [옵션] [계정명]

 옵션
  -g : 사용자의 GID만 표시
  -G : 사용자가 포함되어 있는 모든 그룹 정보 표시
  -u : 사용자의 UID만 표시

 

  5) 명령어 groups

     - 사용자 계정d이 속한 그룹 목록을 확인하는 명령어

 


○ 내용 참고

 - 이기적 리눅스 마스터 2급

Comments