* 사용자 계정 관련 파일
- /etc/passwd 파일
사용자 계정 정보가 저장되어 있음.
형식 < 로그인 ID : x : UID : GID : 설명 : 홈 디렉토리 : 로그인 셸 >
┌
로그인 ID: 사용자 계정의 이름
x : 초기 유닉스 시스템에서 사용자 암호를 저장하던 항목 (현재는 /etc/shadow에 암호 저장)
UID : 사용자ID 번호로 시스템이 사용자를 구별하기 위해 사용하는 번호
+ 일반적으로 0~999번과 65534번은 시스템 사용자를 위한 UID로 예약
+ 일반 사용자는 UID 1000번부터할당(root 계정은0번)
GID : 그룹ID를 나타낸다. 리눅스에서 사용자는 무조건 한 개 이상의 그룹에 소속
설명 : 사용자의 실명이나 부서명, 연락처 등 사용자에 대한 일반적인 정보를 기록
홈 디렉터리 : 사용자 계정에 할당된 홈 디렉터리의 절대경로
로그인 셸 : 사용자의 로그인 셸을 지정
└
- /etc/shadow 파일
사용자 암호에 관한 정보를 별도로 관리함.
root 사용자만 읽고 쓸 수 있으며 shadow 그룹은 읽기만 가능함.
형식 < 로그인 ID : 암호(패스워드) : 최종 변경일 : MIN : MAX : WARNING : INACTIVE : EXPIRE : Flag >
┌
로그인ID : 사용자 계정의 이름
암호(패스워드) : 실제 비밀번호가 암호화되어 저장
최종변경일 : 암호가 마지막으로 변경된 날짜 (1970년1월1일을기준으로 날 수를 지정)
MIN : 암호를 변경한 후 사용해야 하는 최소 기간
MAX : 암호를 사용할 수 있는 최대 기간
WARNING : 암호가 만료되기 전에 경고를 시작하는 날 수
INACTIVE : 암호가 만료된 후에도 이 항목에 지정한 날 수 동안은 로그인이 가능
EXPIRE : 사용자 계정이 만료되는 날짜 (1970년 1월 1일을 기준으로한 날 수로 표시)
Flag : 향후 사용할 목적으로 비워둔 항목
└
- /etc/login.defs 파일
사용자 계정의 설정과 관련된 기본값을 정의함.
- /etc/group 파일
그룹의 정보가 저장됨.
사용자가 속한 그룹 중 etc/passwd 파일의 GID 항목에 지정된 그룹이 기본 그룹이며, 사용자가 속한 2차 그룹은 /etc/group 파일에 저장됨.
형식 < 그룹 이름 : x : GID : 그룹 멤버 >
┌
그룹 이름 : 그룹의 이름
x : 그룹의 암호를 저장 (그룹 암호는 newgrp 명령으로 자신이 속하지 않은 그룹으로 전환할 때 필요함)
GID : 그룹을 식별하는 번호
그룹 멤버 : 그룹에 속한 멤버들의 사용자 계정이름 (쉼표(,)로 구분하여 사용자 계정을 등록함)
└
- /etc/gshadow 파일
그룹 암호가 저장됨.
형식 < 그룹 이름 : 그룹 암호 : 관리자 : 그룹 멤버 >
┌
그룹 이름 : 그룹의 이름
그룹 암호 : 암호화 된 그룹 암호
관리자 : 그룹의 암호나 멤버를 바꿀 수 있는 사용자 계정으로 여러개일 경우 쉼표로 구분함
그룹 멤버 : 그룹에 속한 멤버들의 사용자 계정 이름이며, 쉼표로 사용자를 구분함
└
* 사용자 계정 관련 명령어
useradd [옵션] [로그인 ID]
사용자 계정을 생성함. 옵션 없이 사용하면 홈 디렉토리가 생성되지 않고 기본 쉘은 본 쉘로 지정됨. passwd 명령어로 암호도 만들어야 로그인이 가능함.
ㄴ 옵션 : -u (UID 지정), -D (기본값 확인)
adduser [옵션] 로그인 ID
사용자 계정을 생성함. 생성 과정에 암호 입력이 있어서 passwd 명령어가 필요없음.
※ /etc/skel 디렉토리에 파일을 넣어두면 사용자 계정을 생성할때 홈 디렉토리에 자동으로 복사됨. 홈 디렉토리에 공통으로 배포해야 할 파일을 지정 가능함.
usermod [옵션] [로그인 ID]
사용자 계정 정보를 수정함.
ㄴ 옵션 : -u (UID 수정), -g (기본 그룹 수정)
userdel [옵션] [로그인 ID]
사용자 계정을 삭제함.
ㄴ 옵션 : -r (홈 디렉토리까지 삭제), -f (사용자가 로그인 중이어도 강제로 삭제)
groupadd [옵션] [그룹명]
그룹 생성.
ㄴ 옵션 : -g (그룹 GID 지정), -o (GID 중복 허용)
groupmod [옵션] [그룹명]
그룹 정보 수정.
ㄴ 옵션 : -g (그룹 GID 수정), -o (GID 중복 허용), -n (그룹 이름 변경)
groupdel [그룹명]
그룹 삭제.
newgrp [그룹명]
작업할 때 현재 소속 그룹을 기본 그룹 외의 그룹으로 변경. 소속 그룹이 아닌 그룹으로 변경시 암호 필요.
who [옵션]
현재 시스템을 사용하는 사용자의 정보를 출력.
ㄴ 옵션 : -q (사용자수와 계정 이름만 출력), -m (사용자 계정의 정보 출력), -b (마지막 재부팅 날짜 시간 출력), -H (출력 항목의 제목도 출력(열 이름))
w [사용자명]
현재 시스템을 사용하는 사용자의 정보와 작업 정보를 출력.
last
시스템에 로그인, 로그아웃한 정보 출력
※ UID 와 EUID
UID : 실제 UID, 사용자가 로그인할 때 사용한 계정의 ID
EUID : 유효 사용자 ID, 현재 명령을 수행하는 주체의 UID를 의미함.
ex) user1에서 로그인한 후 su 명령어를 통해 user2로 바꾸었다면, UID는 그대로이고, EUID만 바뀜.
who am i (= who -m)
UID 출력
whoami (= id)
EUID 출력
- root 권한 사용방법
1. su 명령어로 root 계정으로 전환.
2. 명령어 앞에 sudo 붙이기.
- sudo 권한 사용방법
/etc/sudoers 파일에 설정하면 됨.
ex) user1 ALL=NOPASSWD ALL 사용시 모든 명령 권한 가짐.
passwd [옵션] [사용자계정]
사용자 계정의 암호를 수정함.
ㄴ 옵션 : -l (지정한 계정의 암호를 잠금), -u (암호 잠금을 해제함), -d (지정한 계정의 암호를 삭제함)
chown [옵션] [사용자계정] [파일(디렉토리)명]
파일과 디렉토리의 소유자와 소유그룹을 변경함.
ㄴ 옵션 : -R (서브 디렉토리의 소유자와 소유 그룹도 변경함)
'Major Review (학부) > Linux OS' 카테고리의 다른 글
03. 리눅스 활용 (1) | 2023.10.25 |
---|---|
02. 리눅스 이해(2) (0) | 2023.10.25 |
01. 리눅스 기초 (1) | 2023.10.25 |
댓글