[SK shieldus Rookies 16기][Linux] 리눅스 파일관리와 계정관리

Jina·2023년 11월 21일
0

SK shieldus Rookies 16기

목록 보기
21/59
post-custom-banner

파일관리

정리한 내용이 날라가서 추후 업데이트 예정


계정관리

useradd

계정 추가 관리 명령어

useradd [option] 계정명
옵션설명
-p사용자 암호 추가
-d홈디렉토리 지정
(예시) useradd user02 -d /home/TEST
-g그룹 지정
-e계정 만료일 지정
-u계정 UID지정
-g계정 GID지정
-s기본 쉘 지정
-f계정 유효일 지정

usermod

이미 만들어져있는 계정 수정 명령어

usermod [option] 계정명
옵션설명
-d사용자의 홈디렉터리 변경
(예시) usermod –d /home/TEST –m user01
-m홈디렉터리 변경 시 기존 사용했던 파일 및 디렉터리를 이동
-g그룹 변경
(예시) usermod –g terran drone
-s사용자 shell qusrud
(예시) usermod –s /bin/sh user01
-u사용자 UID 변경
-e계정 만료일 변경
-f계정 유효일 변경
-l계정명 변경

userdel

사용자 계정 삭제해주는 명령어

userdel [option] 계정명
옵션설명
-r사용자의 홈 디렉터리와 메일 관련 파일까지 삭제
# 사용자 계정 확인
$ ls -l /home
합계 8
drwx------.  3 hong hong   74 1121 09:48 hong
drwx------.  5 test test 4096 1121 15:27 test
drwx------. 14 user user 4096 1121 10:03 user
# 계정이 완전히 삭제되지 않은 경우

계정이 완벽하게 삭제가 되지 않은 경우
소유자가 불분명한 계정은 삭제해줘야 한다.

uid, gid가 직접적으로 나타나면 안된다.

groupadd

새로운 그룹을 생성하는 명령으로 root만 사용 가능한 명령어

groupadd [option] 그룹명

gpasswd

groupdel

사용자 그룹을 삭제하는 명령어

 groupdel 그룹명

/etc/shells

시스템에서 사용할 수 있는 쉘 종류 확인

# cat -n /etc/shells
     1	/bin/sh
     2	/bin/bash
     3	/sbin/nologin
     4	/usr/bin/sh
     5	/usr/bin/bash
     6	/usr/sbin/nologin
     7	/bin/tcsh
     8	/bin/csh

passwd

passwd [option] 계정명
옵션설명
-l계정 비밀번호 잠금(lock)
-u계정 비밀번호 잠금해제(unlock)
-d계정 비밀번호 제거(delete)
-e계정 비밀번호 만료(expire)
로그인할 때 패스워드 변경 유도

/etc/passwd

계정정보 관리 디렉토리
파일구조

계정명:패스워드:UID:GID:주석:홈디렉토리(저장소):login_shell
test:x:1002:1002::/home/test:/bin/bash

root UID/GID : 0/0
시스템 계정 UID/GID : 1~999
일반 사용자 계정 UID/GID : 1000

/etc/shadow

  • 사용자의 패스워드가 저장되어 있는 디렉토리
  • root만 접근 가능
  • 패스워드 만기일, 계정 만기일 등을 설정
  • 총 9개 필드로 구성(마지막 필드는 사용 X)

패스워드 관리 정책
관리자는 패스워드 보안 정책에서 제외된다.

일반 패스워드 정책shadow 패스워드 정책
$ pwunconv

$ pwconv

패스워드
암호화된 패스워드 필드 구성

$ID$Salt$Encrypted_password:비밀번호변경일:0:최대사용일수:만료예고일
종류설명
ID해시 알고리즘 명시
1 : MD5 / 2 : BlowFish / 5 : SHA-256,6 / 6 : SHA-512
Salt- 패스워드 암호화 강도를 높이기 위한 임의 값
- 운영체제에서 랜덤하게 만들어내는 값
Encrypted_password사용자의 패스워드+Salt 조합 후 해시한 해시값
- * : 패스워드가 잠긴 상태(로그인 X)
-! : Lock이 걸려있거나 패스워드 X
user:$6$5ncSHaX5BOM8jdrK$3eCZi/Bb6C0zQmPKemOK0z6MkNwshM5Lob2JVU0p93I98yc5GIw8LyCH8trfJEUgsCeh43bk.rn5HNJ59Bldu/:19682:0:99999:7:::

charge

  • 사용자의 비밀번호에 대한 정보를 출력하고 설정하는 명령어
  • /etc/shadow의 날짜 관련 필드 설정
$ chage [option] 계정명
옵션설명
-l사용자 비밀번호 정보를 보여줌
-m최소 사용 날짜
-M최대 사용 가능한 날
-W패스워드만기일 n일전에 경고메세지 보냄
$ tail -3 /etc/passwd
test:!!:19682:0:99999:7:::

$ chage -l test
마지막으로 암호를 바꾼 날			:11월 21, 2023
암호 만료						:안함
암호가 비활성화 기간				:안함
계정 만료						:안함
암호를 바꿀 수 있는 최소 날 수		: 0
암호를 바꿔야 하는 최대 날 수		: 99999
암호 만료 예고를 하는 날 수		: 7
$ chage -m 10 -M 100 -W 5 test
$ chage -l test
마지막으로 암호를 바꾼 날			:11월 21, 2023
암호 만료						: 229, 2024
암호가 비활성화 기간				:안함
계정 만료						:안함
암호를 바꿀 수 있는 최소 날 수		: 10
암호를 바꿔야 하는 최대 날 수		: 100
암호 만료 예고를 하는 날 수		: 5

명령어를 모르는 경우 파일 직접 편집 가능

/etc/group

계정 그룹지정

리눅스 배포판마다 명령어가 다르다. 만약 명령어를 모르면 직접 그 파일을 편집해도 된다.

$ nano /etc/group

profile
공부 기록
post-custom-banner

0개의 댓글