[Linux]리눅스 사용자 관리, 홈 디렉터리 구성, 패스워드 정보, 그룹 관리
사용자 계정 관리
사용자 계정을 생성, 정보 변경, 삭제할 땐 sudo로만 가능하다.
su root로 들어가면 관리자 권한으로 실행할 수 있다.
1. 생성
useradd [옵션][계정명]
useradd -s //로그인쉘 설정
useradd -d //홈디렉터리 설정
useradd -u //UID 설정
useradd -m //홈디렉터리 생성
useradd -m -d //홈디렉터리를 생성 후 설정
useradd -g //UID 설정
useradd -D //사용자 추가 기본사항
2. 정보 변경
usermod [옵션][계정명]
usermod -s //로그인쉘 설정
usermod -d //홈디렉터리 설정
usermod -u //UID 설정
usermod -g //GID 설정
usermod -l //계정명 변경
3. 삭제
userdel [옵션][계정명]
userdel -r //홈 디렉터리, 메일 디렉터리도 같이 삭제
userdel -f //강제 삭제, 현재 로그인 상태여도 강제 삭제
4. 전환
su
➡️현재 계정을 로그아웃하지 않고 계정을 전환한다.
su [바꿀 계정명]
5. 확인
cat /etc/passwd
/etc/passwd 디렉터리의 역할
➡️ 계정 정보 확인
❗(1)계정명: (2) 패스워드: (3) UID: (4) GID: (5) 설명: (6) 홈디렉터리: (7) 로그인쉘 ❗
(3) UID
- 시스템이 사용자를 구별하는 식별 번호
- 0 ~ 999 : 시스템 사용자 / 1000 ~ 65533 : 일반 사용자 => 계정명이 달라도 uid가 같으면 같은 사용자로 인식
(4) GID
- 시스템이 그룹을 구별하는 식별 번호
(5) 홈디렉터리
- 사용자의 바탕화면
(7) 로그인쉘
- 로그인을 통해 접근하는 쉘
☑️예제
UID가 1000, GID 1001, 홈디렉터리 home/test2, 로그인쉘 bin/bash 인 user2 사용자계정 생성하기
useradd -s /bin/bash -u 1100 -g 1001 -m -d /home/test2 user2
홈 디렉터리 구성 방법
/etc/skel
/etc/skel 디렉터리의 역할
➡️홈 디렉터리를 생성할 때 기본적으로 홈 디렉터리에 포함될 파일이 정의된 디렉터리
홈 디렉터리를 생성할 때 /etc/skel 파일에 있는 모든 폴더나 파일을 같이 복사해서 만든다.
윈도우의 기본 옵션인 휴지통 등을 생각하면 된다.
기본적인 홈 디렉터리에 포함하고 싶은 폴더나 파일을 /etc/skel 폴더에 생성해 놓으면 된다.
패스워드 정보
/etc/shadow
/etc/shadow 디렉터리의 역할
➡️ 계정의 암호화된 패스워드 정보 확인
❗(1)사용자명: (2) 비밀번호: (3) 최종 변경일: (4) MIN: (5) MAX: (6) WARNINIG: (7) INACTIVE :(8) EXPIRE: (9) FLAG ❗
ℹ️비밀번호 정보
(2)암호화된 패스워드
해시함수와 솔트로 암호화
! => 비밀번호 설정되지 않음
(3) 최종 변경일
리눅스 날짜로 표현(1970년1월1일 기준으로 1씩 더해짐)
ℹ️ 패스워드 에이징
(4) MIN
암호 변경 후 재변경 불가 일수
(5) MAX
암호를 사용할 수 있는 최대 기간
(6) WARNING
암호가 만료(MAX)되기전 경고를 시작하는 기간
(7) INACTIVE
암호 만료 후 유예 기간
(8) EXPIRE
사용자 계정 만료 기간
(9) FLAG
향후 개발할 목적으로 비워둔 항목
☑️패스워드 에이징 수정
chage [계정명]
chage -m : MIN 수정
chage -M : MAX 수정
chage -W : WARNING 수정
chage -I : INACTIVE 수정
chage -E : EXPIRE 수정 (날짜로 적어야함)
☑️패스워드 수정
자신 또는 관리자만 수정 가능
passwd [계정명]
그룹 관리
사용자 계정을 생성, 정보 변경, 삭제할 땐 sudo로만 가능하다.
1. 생성
groupadd [그룹명]
groupadd -g : GID 설정
2. 정보 변경
groupmod [그룹명]
groupmod -g : GID 설정
3. 삭제
groupdel [그룹명]
4. 확인
/etc/group 디렉터리
➡️ 그룹 정보 확인
소유자, 소유 그룹 변경
소유자 변경은 무조건 관리자만 가능하다.
자신의 파일이여도 변경 불가(sudo)
chown
➡️소유자와 소유 그룹 등을 변경하는 명령어
//소유자만 변경
chown [소유자][파일명]
//소유 그룹만 변경
chown [:소유그룹][파일명]
//둘 다 변경
chown [소유자]:[소유그룹][파일명]
chown -R [소유자]:[소유그룹][파일명]
디렉터리 소유자나 소유 그룹을 바꾸어도 기본적으로 하위 파일 소유자나 소유그룹은 바뀌지 않는다.
chown -R을 사용하면 하위 파일 소유자까지 변경할 수 있다.
chgrp
➡️소유 그룹을 변경하는 명령어
chgrp [그룹명] [변경할 파일]
chgrp-R : 하위 소유 그룹까지 변경
소유자, 소유 그룹 확인
ls -l [파일명]