본문 바로가기
시스템/시스템보안

(3) Permission

by 주황딱지 2024. 7. 11.

 

Linux file system

  • 리눅스 파일 시스템은 파일들과 디렉토리들의 계층적 모음집이다.
  • 파일 시스템은 어떻게 파일들이 저장되고 관리되고 접근하는 지를 정한다.
  • Ext2, Ext3, Ext4, XFS, BtrFS 등등의 리눅스 파일 시스템들이 있다.

리눅스 파일 명령어

  • / : 루트(root) 디렉토리
  • /root: 루트 유저의 홈 디렉토리
  • /home: 유저의 개인 디렉토리들
  • /bin: 바이너리(실행 파일)을 위한 디렉토리
  • /sbin: 루트 유저가 사용하는 관리 시스템을 위한 바이너리들을 포함한 디렉토리
  • /etc: 시스템 구성을 포함하고 있다.
  • /media: usb같은 탈부착 가능한 미디어들을 위한 보조 디렉토리들을 보유한다.
  •  /mnt: 파일 시스템의 마운팅 지점
  • /lib: 공유된 객체들과 라이브러리들을 위한 디렉토리
  • /usr: 유저가 실행할 프로그램이 저장됨. 위의 그림처럼 하위 디렉토리를 갖고 있다. 
  • /dev: 디바이스 파일들을 갖고 있다.
  • /proc: 프로세스 파일들을 갖고 있다.
  • /tmp: 임시 파일들을 갖고 있다.

 

Linux User Management

 

계정 시스템은 사용자/ 그룹 계정을 기반으로 구성된다.

  • 주로 파일과 디렉토리들의 보유와 접근을 관리하고 리소스로부터 유저가 접근하는 것을 조종한다. 

유저:

  • 시스템에 로그인하는 실제 유저 계정
  • 각 유저는 특이한 이름 UID(User ID), 하나 이상의 GID(Gruop ID)와 연결되어 있다.
  • 모든 유저 이름은  /etc/passwd 에 저장되어 있다.
  • 모든 유저의 암호화된 비밀번호들은 /etc/shadow 에 저장되어 있다.

그룹:

  • 사용자와 사용 권한을 논리적으로 그룹화하는 데 사용된다.
  • 각 그룹은 특이한 이름GID(Gruop ID)를 갖는다.

 /etc/passwd

/etc/paawd를 치면 이렇게 나옴

 

각 줄은 하나의 유저와 콜론(:)으로 구분되어있는 필드의 구성에 대한 정보를 나타낸다.

username:x:UID:GID:full_name:home_directory:shell
  • username: 유저 이름
  • x: 비밀번호를 위한 장소 
  • UID: 유저의 유니크 아이디
  • GID: 유저의 그룹 아이디
  • home_directory: 유저의 홈 디렉토리
  • shell: 로그인 쉘(bash 같은 거)

 /etc/shadow

/etc/shadow를 치면 이렇게 나옴

 

각 줄은 하나의 유저와 콜론(:)으로 구분되어있는 필드의 구성에 대한 비밀번호 정보를 나타낸다.

username:encrypted_password:last_pw_change:min_days:max_days:warning_days:inactive_days:expiration_date:reserved
  • username: 유저 이름
  • encrypted_password: 해시된 비밀번호
  • min_days: 암호 변경까지의 최소 일수
  • max_days: 암호 변경까지의 최대 일수
  • warning_days: 비밀번호 만료하기 전의 일수
  • inactive_days: 비밀번호 만료 후 계정이 비활성화되기 전까지의 일수 
  • reserved: 사용하지 않음

Linux permission

 

접근 허가는 유저와 그룹의 파일/디렉토리로부터의 접근을 관리하는데 사용된다.

유저가 파일/디렉토리에 할 수 있는 것에 제한을 둔다.

ls-al/etc

위 사진의 왼쪽부터

  1. 파일을 위한 접근하가
  2. 링크된 파일들 수
  3. 파일의 주인
  4. 파일의 그룹

-file type: 

 d = 디렉토리

 - = 기존파일

 l = 상징 링크

 c = 특수 파일

 b = 특수 파일

 s = 소켓 파일

 p = 파이프 파일

 

파일 권한:

-rwx rwx rwx = 주인/ 그룹/ 나머지 = 421 421 421 (4=읽기, 2= 쓰기 1= 실행)

 

주인: 파일주인에게 접근 허가

그룹: 그룹에게 접근허가 

나머지: 파일과 관련 없는 사용자 접근 허가  

 

umask: 새로 생성되는 디렉토리나 파일 권한을 제어하는 명령어

777이 디폴트 = 421 421 421

$ umask
0002
$ umask 200
$ umask
0200

 

umask가 022면 777 -022 = 755(421 41 41) rwx r-x r-x

 

 

 


Linux user ID

 

- UID: 시스템에서 사용자 식별, 파일 접근 관리

- EUID: 파일이 실행되는 동 일시적으로 파일 소유자의 권한 획득

- RUID: 프로세스를 시작한 유저의 UID(ID 안 변함)

- SUID: 프로세스 실행 전에 EUID를 받는다.

 

반응형

'시스템 > 시스템보안' 카테고리의 다른 글

(2) Linux basic  (0) 2024.07.08
(1-5) OS  (0) 2024.07.08
(1-4) OS  (0) 2024.07.07
(1-3) OS  (0) 2024.07.06
(1-2) OS  (1) 2024.07.05