Linux

[Linux]리눅스 사용자 관리, 홈 디렉터리 구성, 패스워드 정보, 그룹 관리

바켠주 2024. 5. 26. 16:54
728x90

사용자 계정 관리

사용자 계정을 생성, 정보 변경, 삭제할 땐 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 디렉터리의 역할

➡️ 계정 정보 확인

/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 디렉터리의 역할

➡️ 계정의 암호화된 패스워드 정보 확인

/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 [파일명]