console.log("daily coding")
리눅스 사용자 생성 및 계정 내용 (2) 본문
사용자관련파일
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급
'false의 잡학다식 > 리눅스 공부 관련' 카테고리의 다른 글
리눅스 기타 명령어 내용 (2) | 2021.05.23 |
---|---|
리눅스 디렉터리 및 파일 내용 (2) | 2021.05.18 |
리눅스 사용자 생성 및 계정 내용 (1) (0) | 2021.05.14 |
리눅스 부트 매니저 내용 (2) | 2021.05.13 |
리눅스 파티션 상세 내용 (2) (0) | 2021.05.12 |