사용자 계정과 관련된 파일과 디렉터리
/etc/login.defs
- 사용자 계정과 그룹 생성 관련 설정파일
/etc/passwd
- 사용자 게정 및 시스템 계정 정보 파일
/etc/shadow
- 사용자 계정 및 시스템 계정의 비밀번호 정보 파일
/etc/group
- 그룹 정보파일
/etc/gshadow
- 그룹의 비밀번호 정보 파일
/etc/default/uesradd
- 사용자 계정 생성시 기본 설정 파일
/home
- 사용자 계정의 홈 디렉터리가 생성되는 기본 디렉터리
/etc/skel
- 사용자 계정 생성 시 사용자 계정의 환경변수 파일들을 저장하고 있는 디렉터리(기본 뼈대)
/etc/passwd 파일
준비물
tail /etc/passwd
it bank -> 사용자 계정명
x -> 사용자 계정의 비밀번호(/etc/shadow 파일을 참고)
1000 -> UID(User ID : 사용자 고유 식별자)
1000 -> GID(Group ID : 그룹 고유 식별자)(etc/group 파일 참고)
dust -> 부연 설명, 코멘트, 주석
/home/itbank -> 사용자 게정의 홈 디렉터리 경로
/bin/bash -> shell(명령어 해석기)
shell(조개 껍데기)
- 사용자 계정과 커널이 상호작용 할 수 있도록 도와주는 유틸리티
- 사용자 계정이 입력한 명령어를 커널이 이해할 수 있도록 도와주는 역할
현재 사용하고 있는 셀 확인
echo $SHELL
셸의 종류
1) chsh [option]
option
-l : 셸의 종류 출력
2) /etc/shells (파일)
/bin/sh -> Bourne Shell
- 가장 오랜기간동안 모든 유닉스 시스템의 표준 구성요소
- 강력한 명령 프로그래밍 언어 기능을 가지고 있음
- 상호 대화형 방식은 취하고 있지 않음
- 복구모드에서 사용
/bin/bash -> Bourne Again Shell
- Bourne Shell + C Shell의 유용한 특징들을 통합한 셸(복합 셸)
- 리눅스에서 가장 많이 사용되고 있는 셸
- 리눅스의 표준적인 명령어 라인 인터페이스(상호연결, 명령어 줄 편집기능)
- 처음으로 로그인 하면 주어지는 셸
/bin/ksh -> Korn Shell
- 유닉스에서 가장 많이 사용되고 있는 셸
- Bourn Shell + C Shell의 기능들을 확장시킨 셸
- 명령어 줄 편집기능
/sbin/nologin
- 시스템 셀
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
- C Shell(95%) + Korn Shell(5%)을 합친 셸
- C Shell의 확장형
/bin/csh -> C Shell
- 프로그래밍 언어 C를 기반으로 만들어진 셸
- 상호 대화형 방식을 취하고 있음
- 크기가 커지고 처리속도가 느리지만 편리한 기능을 제공함
/etc/shadow 파일
준비물
tail /etc/shadow
itbank -> 사용자 계정명
:$6$gicHu56 ~ JiXrKblHG6IF. -> 사용자 계정의 비밀번호
(SHA512 알고리즘을 사용하여 암호화 시킴) (참고로 비밀번호가 없으면 :!!: )
공백 -> 비밀번호 생성 일 자(참고로 현재 날짜 - 1970년 1월 1일 = 값 )
0 -> 비밀번호 최소 변경 일 자
99999 -> 비밀번호 만료일
7 -> 비밀번호 만료일 되기 전 경고 일 수
공백(첫번째) -> 유예기간(만료된 후)
공백(두번째) -> 사용자 계정이 불가능 하게 되는 날
공백(세번째) -> 예약된 공간
/etc/group 파일
준비물
tail /etc/group
itbank -> 그룹명
x -> 그룹의 비밀번호(/etc/gshadow 파일 참고)
1000 -> GID (Group ID : 그룹 고유 식별자)
공백 -> 2차 그룹
/etc/gshadow 파일
준비물
tail /etc/gshadow
itbank:!::
itbank -> 그룹명
! -> 그룹의 비밀번호(로그인은 사용자 계정으로 하기 때문에 기본적으로 그룹의 비밀번호없음)
공백(첫번째) -> 그룹의 소유주
공백(두번째) -> 그룹의 구성원
사용자 계정 생성
사용형식
useradd 계정명
-> 사용자 계정을 생성할 때 기본 값으로 생성
useradd [option] [argument] 계정명
-> 사용자 계정을 생성할 때 기본값이 아닌 별도의 값으로 생성
option
-u : UID를 지정
-g : GID를 지정(그룹을 배운 후에)
-c : comment를 지정
-s : shell을 지정
-d : 사용자 계정의 홈 디렉터리명을 지정하거나 사용자 계정의 홈 디렉터리 생성 경로를 지정
/etc/skel
- 사용자 계정 생성시 사용자 계정의 홈 디렉터리 하위에 환경 변수 파일들을 저장하고 있는 디렉터리
숨김파일들
.bash_logout
-> 각 사용자 계종이 로그아웃시 기록이 저장되는 파일
.bash_profile
-> 각 사용자 계정의 환경변수 파일(path(경로)를 설정하고자 할때)
.bashrc
-> 각 사용자 계정의 환경변수 파일(alias를 설정하고자 할때)
사용형식
useradd [opyion] [argument] 계정명
option
-m -k 또는 -mk : 기본 /etc/skel 디렉터리가 아닌 별도의 skel 디렉터리를 지정할 때
(반드시 옵션의 위치를 바꾸면 안됨)
사용자 계정 비밀번호 생성
1) useradd [option] [argument] 계정명
option
-p : 사용자 게정 비밀번호 지정
ex)
useradd -p `openssl passwd 비밀번호`
2)passwd
- 사용자 계정의 비밀번호 생성, 수정, 삭제, 잠금 등 작업
사용형식
passwd [option] 계정명
passwd
-> 현재 로그인 되어 있는 사용자 계정의 비밀번호를 생성하거나 수정할때
passwd 계정명
-> 지정한 사용자 계정의 비밀번호를 생성하거나 수정할 때 (단! 관리자만 사용가능)
useradd -D 와
/etc/default/useradd 설명
useradd -D
-> 사용자 계정 생성시 기본설정 정보를 출력
사용형식
useradd -D [option] [argument]
항목
GROUP=100
-> 사용자 계정 생성시 사용자 계정이 기본적으로 소속될 그룹의 GID를 지정
option
-g
HOME=/home
-> 사용자 계정 생성시 사용자 계정의 홈 디렉터리가 생성되는 경로(위치)를 지정
option
-b
INACTIVE=-1
-> 사용자 계정 생성시 사용자 계정의 비밀번호 사용 기간이 만료된 후 사용자 계정의 사용이 불가능하게 되는 날을
지정
값
-1 : 비활성화
0 : 사용 불가능
1 이후 : 지정한 날 이후
option
-f
EXPIRE=
-> 사용자 계정 생성시 사용자 계정의 비밀번호 만료일
값이 없으므로 무제한
option
-e
-e 옵션을 사용하고 인자값 YYYYMMDD 식으로 지정(ex] 20180423)
SHELL=/bin/bash
-> 사용자 계정 생성시 사용자 계정의 셸을 지정
option
-s
SKEL=/etc/skel
-> 사용자 계정 생성시 사용자 계정의 홈 디렉터리로 복사될 초기환경설정파일이 저장된 디렉터리를 지정
- /skel/test 디렉터리가 존재하는 경우
cp -r /etc/skel/. /skel/test
-/skel/test 디렉터리가 존재하지 않는 경우
-cp -r /etc/skel /skel/test
option이 없음
CREATE_MAIL_SPOOL=yes
-> 사용자 계정 생성시 사용자 계정의 메일파일 생성여부(참고로 사용자 계정의 메일파일 생성 경로는 /var/spool/mail 디렉터리)
option이 없음
사용자 계정 수정
사용형식
usermod [option] [argument] 계정명
useradd 사용형식과 동일함
option
-u : UID를 수정
-g : GID를 수정(그룹을 배운 후)
-G : 2차 그룹 추가(그룹을 배운 후)
-c : comment를 수정
-s : shell을 수정
-ㅣ : 사용자 계정명을 수정
-d : 사용자 계정의 홈 디렉터리명을 수정하거나 사용자 계정의 홈 디렉터리 생성경로를 수정(-m 옵션과 함께사용)
-mk : Skel 지정한 후 생성하는 것
사용자 계정 삭제
사용형식
userdel 계정명
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
위 4개의 파일에 지정한 사용자 계정의 정보가 삭제
삭제한 사용자 계정의 홈 디렉터리가 남아있음
삭제한 사용자 계정의 메일파일이 남아있음 나중에 복구 할 수 있음
userdel [option] 계정명
option
-r : 사용자 계정의 모든 것들 삭제
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
위 4개의 파일에 지정한 사용자 계정의 정보가 삭제(단! 사용자 계정명과 그룹명이 다르다면 그룹은 삭제 안됨
별도로 그룹 삭제해야함)
삭제한 사용자 계정의 홈 디렉터리가 삭제됨
삭제한 사용자 계정의 메일파일이 삭제 됨
복구 할 수 없음
Group(그룹)
- 함께 공통의 목적이 있어 행동하거나 묶일 수 있는 사람들의 무리
그룹생성
사용형식
groupadd 그룹명
-> 기본값으로 그룹 생성
groupadd [option] [arggument] 그룹명
-> 기본값이 아닌 별도의 욥션을 사용하여 그룹 생성
option
-g : GID를 지정
그룹 수정
사용형식
groupmod [option] [argument] 그룹명
option
-g : GID를 수정
-n : 그룹명 수정
그룹 삭제
사용형식
groupdel [option] 그룹명
그룹을 배우지 못해 하지 못했던 설명들
1) useradd [option] [argument] 계정명
option
-g : GID를 지정
2) usermod [option] [argument] 계정명
option
-g : GID를 수정 (즉! 기본그룹을 수정)
-G : 2차 그룹 추가(-a 옵션을 함께 사용)
'Linux' 카테고리의 다른 글
리눅스 CentOS - 보관, 압축, 해제 (1) | 2024.01.12 |
---|---|
리눅스 CentOS - 권한 (1) | 2024.01.11 |
리눅스 CentOS - VI 편집기 (3) | 2024.01.09 |
리눅스 CentOS - FTP (1) | 2024.01.08 |
리눅스 CentOS - 기본 명령어 (1) | 2024.01.07 |