0. 사용자 계정
# 사용자 계정에 관련된 파일
1) /etc/passwd : 사용자의 일반적인 정보가 들어있는 파일
* 파일 내용 보는 방법
itbank:x:1000:1000:itbank:/home/itbank:/bin/bash
itbank : 사용자명, 뒤의 정보들이 어느 사용자의 정보인지 표시
x : 암호, 보안상의 이유로 passwd 파일에는 암호를 표시하지 않는다
1000(왼쪽) : UID, 이 사용자의 고유 번호
1000(오른쪽) : GID, 이 사용자가 소속된 주요 그룹의 고유 번호
itbank : 사용자 별칭(계정명 혹은 ID로 사용 X, 화면에 표시되는 이름)
/home/itbank : 사용자의 홈 디렉토리가 절대경로로 저장
로그인 할 때나 ~ 기호를 사용할 때 이 정보를 보고 사용자의 홈디렉토리로 찾아간다.
/bin/bash : 사용자 계정이 사용하는 shell
** UID, GID
UID : User ID, 사용자에게 부여되는 고유 번호
GID : Group ID, 그룹에게 부여되는 고유 번호
0 : root
1 ~ 999: system or service accounts
1000 : 일반 사용자 & 그룹
*** shell
명령어 해독기, 운영체제에 명령을 전달해주는 역할
현재 시스템에 설치된 shell은 /etc/shells 파일에서 확인 가능 4가지 존재
passwd 파일에 저장된 정보 중 shell 위치에 /sbin/nologin이 있을 수 있다
> 명령어 사용 shell X, 로그인을 하지 못하게 만드는 shell(system or service 계정에 부여)
2) /etc/shadow : 사용자의 고급 정보가 들어 있는 파일
* 파일 내용 보는 방법
itbank:$6$kgVNDIBZIetj39TW~~~~~~~~ml/g6SqrCIa.:19103:0:99999:7:::
itbank : 사용자명, 뒤의 정보들이 어느 사용자의 정보인지 표시
$6$kgVN ~~: 암호, 사용자가 로그인 시 사용하는 비밀번호를 암호화하여 저장
19103 : 암호생성일자(1970년 1월 1일 기준으로 며칠째에 생성된 암호인지 표시)
(운영체제 설치 시 저장된 암호는 생성 일자가 표시 X)
0 : 암호최소 사용일자
99999 : 암호 최대 사용일자
7 : 암호 만료전 경고 일자
** 사용자의 암호를 설정하는 명령어
passwd : 명령어를 입력한 사용자의 암호 변경
passwd 계정명 : 해당 사용자의 암호바꾸는 명령어 (관리자 전용)
3) /etc/login.defs : 사용자 & 그룹 계정의 생성 및 삭제와 관련된 몇몇 정보들이 들어있는 파일
1. 사용자 계정에 관련된 명령어들과 옵션
# 사용자 생성
- 형식
useradd [옵션] [값] ... [옵션] [값] 사용자명
* 옵션
-u : UID 지정
-g : 사용자의 주요 그룹 지정
-c : 별칭 지정
-s : shell 지정, 절대 경로로 입력
-d : home 디렉토리 지정, 경로와 이름 전체를 절대경로로 입력
(홈 디렉토리가 만들어질 경로는 미리 생성)
> 사용자 생성 시 홈 디렉토리에 /etc/skel에 있는 숨김파일 3개,
디렉토리가 홈 디렉터리 생성 때 같이 들어가게 됨
/etc/skel : 사용자 홈 디렉토리의 뼈대가 되는 디렉토리
사용자 생성 시 홈 디렉토리 내부에 /etc/skel 안에 있는 파일/디렉토리들을 복사한다.
/etc/login/defs 파일에 CREATE_HOME 설정이 없더나 no로 지정되어 있으면 -m 옵션과 함께 사용
-m : make directory
-k : 기본 디렉토리인 /etc/skel이 아닌 다른 디렉토리를 skel로 지정, 반드시 -m 옵션과 함께 사용
-D [옵션] : 사용자 생성 시 적용되는 기본 정보 확인
추가 옵션을 함께 사용하여 기본 정보 변경
-b : 기본 홈디렉토리 생성위치 변경
/etc/default/useradd
: 사용자 생성 시 적용되는 기본 정보가 저장된 파일
이 파일의 내용을 변경하면 useradd의 옵션을 사용하지 않아도 같은 효과 확인 가능
cp -r 과 /.*은 같이 쓰지 말자
# 사용자 계정 정보 수정
- 형식
usermod 옵션 값 [옵션] [값] ... [옵션] [값] 사용자명
* 옵션은 useradd의 옵션을 대다수 사용 가능
-k 옵션의 경우 이미 홈 디렉토리가 만들어졌기 때문에 추가적인 skel 복사가 불가능하여 사용 X
-D 옵션의 경우 이미 사용자가 만들어졌기 때문에 생성 시 적용되는 기본 정보는 필요 X
-m 옵션은 move directory로 사용
# 사용자 계정 삭제
- 형식
userdel [옵션] 사용자명
* 옵션
- r : 사용자 소유의 파일 / 디렉토리 함께 삭제
2. 그룹
- 사용자 계정을 그룹에 소속시켜서 사용
> 그룹에 권한을 부여하여 그룹에 소속된 모든 사용자가 동일한 권한을 적용 받음
- 그룹에 관련된 파일
: /etc/group : 그룹의 일반 정보가 들어 있는 파일
* 파일 내용 보는 방법
itbank:x:1000:itbank
itbank : 그룹 이름
x : 암호
1000 : GID 고유번호
<마지막필드> : 그 그룹에 일반 소속된 사용자들의 목록 출력
# 그룹 생성
- 형식
groupadd [옵션] [값] ... [옵션] [값] 그룹명
# 그룹 정보 수정
- 형식
groupmod [옵션] [값] ... [옵션] [값] 그룹명
* 옵션
-g : GID 지정
-n : 그룹 이름 지정
# 그룹 삭제
- 형식
groupdel 그룹명
* 사용자가 주요그룹(GID)로 사용 중인 그룹은 삭제 X
# 사용자 + 그룹
- 사용자가 그룹에 소속되는 방식을 두 가지로 분류
1) 사용자가 그룹을 자신의 주요 그룹으로 사용 (GID사용)
2) 사용자가 그룹에 일반 소속되어 사용
- 사용자를 만들면 같은 이름의 그룹이 생성
> 사용자는 기본적으로 함께 만들어진 그룹을 주요그룹(GID)으로 사용
- 사용자의 주요 그룹과 사용자가 일반 소속된 그룹은 언제든지 변경
1) 주요 그룸 (GID) 변경
usermod -g
2) 그룹에 일반 소속된 사용자 목록 변경
usermod 명령의 -G옵션을 사용(가급적 사용 x)
gpasswd 명령어 사용
gpasswd
- 그룹에 일반 소속된 사용자 목록 변경
- 형식
gpasswd 옵션 값 그룹명
* 옵션
-a : 값에 사용자명을 입력하여 그룹에 사용자를 일반 소속
-d : 값에 사용자명을 입력하여 그룹에 일반 소속된 사용자 목록에서 특정 사용자 제거
** id
- 사용자의 UID, GID, 일반 소속된 그룹의 목록 출력
- 형식
id 사용자명
'Base > Linux(CentOS)' 카테고리의 다른 글
7. 응용프로그램 설치 tar/ rpm/ yum (0) | 2022.06.20 |
---|---|
6. 권한 (허가권, 소유권, 특수권한) (0) | 2022.06.20 |
4. VI(M) 에디터 (0) | 2022.06.18 |
3. 기본 명령어 모음 (0) | 2022.06.18 |
2. Shell 정보, 기본 디렉토리, 경로와 기본 명령어 (0) | 2022.06.10 |
댓글