리눅스 권한

2025. 4. 16. 22:09·Linux

 


리눅스의 권한 🛠️

권한이란?

리눅스에서 존재하는 파일이나 데이터, 자원에 대하여 사용자나 프로그램이 어떤 일을 할 수 있는 지 제한, 지정하는 개념을 권한이라고 한다.

결국은 사용자나 프로그램은 권한에 따라 할 수 있는 작업, 할 수 없는 작업 구분

관리자는 적절하게 권한을 부여하거나 권한을 회수하여 특정 사용자가 잘못된 권한을 갖지 않도록 잘 조절해야 한다 (권한 관리)

1. 소유권(Ownership) 🏠

소유권은 특정 자원(파일이나 디렉터리)의 주인이 누구인지 결정하는 권한이다.
자원을 생성한 사람은 기본적으로 그 자원의 소유자가 되며, 그 사람이 속한 그룹은 소유 그룹이 된다.

소유권은 3가지로 나뉜다:

  • 소유자: 해당 자원의 주인 (계정) -> user -> u
  • 소유그룹: 주인은 아니지만, 자원을 관리하는 역할을 하는 그룹 -> group -> g
  • 나머지 사용자: 소유자도 아니고, 소유그룹도 아닌 모든 계정 -> other -> o

기본 구성:

  • 파일이나 디렉터리를 생성한 사용자는 소유자가 되며,
  • 그 사용자가 속한 기본 그룹은 소유그룹이 된다.

소유권 확인 명령어

  • ls -l 파일명 → 파일 소유권 확인 🧐
  • ls -ld 디렉터리명 → 디렉터리 소유권 확인

소유권 변경 명령어

  • chown 계정명:그룹명 파일명
    예시) chown root:root hello.txt
    • 소유자만 변경: chown root hello.txt
    • 소유그룹만 변경: chown :root hello.txt
  • 특정 디렉터리 하위 모든 파일의 소유권 변경:
    chown -R root:root /root/dir1

2. 허가권(Permission) 📂

허가권은 파일이나 디렉터리에서 무엇을 할 수 있는지를 결정하는 권한이다.
즉, 파일을 읽을 수 있는지, 쓸 수 있는지, 실행할 수 있는지가 정해지는 것이다. 🙌

허가권의 종류:

  • 읽기 권한(r): 파일을 읽을 수 있는 권한 📖
  • 쓰기 권한(w): 파일을 수정하거나 삭제할 수 있는 권한 ✍️
  • 실행 권한(x): 파일을 실행할 수 있는 권한 ▶️

허가권 구성:

  1. 소유자의 권한 (rwx)
  2. 소유그룹의 권한 (rwx)
  3. 나머지 사용자의 권한 (rwx)

예시:

  • rwxrwxrwx: 모든 사용자가 모든 권한을 가짐 👥
  • rwxrw-r--: 소유자는 모든 권한, 소유그룹은 읽기/쓰기, 나머지 사용자는 읽기 권한만 있음 👍
  • rw-r--r--: 소유자는 읽기/쓰기, 나머지 사용자는 읽기만 가능 👀

허가권 확인 명령어

  • ls -l 파일명
  • ls -ld 디렉터리명

리눅스 권한을 확인하는 방법 🤔

  1. 사용자가 파일에 접근하면, uid(사용자 ID)와 파일 소유자의 uid를 비교한다.
  2. uid가 같으면 소유자 권한을 부여한다.
  3. uid가 다르면 소유그룹의 gid와 사용자의 gid를 비교한다.
  4. gid가 같으면 소유그룹 권한을 부여한다.
  5. gid가 다르면 나머지 사용자 권한을 부여한다.

허가권 변경 명령어: chmod 🔄

절대모드, 상대모드

1. 절대모드(Absolute Mode)

  • 기존 권한과 관계없이 숫자로 권한을 설정할 수 있다.
    • r → 4, w → 2, x → 1
    • 숫자 합산으로 권한을 설정:
      • rwx = 7, rw- = 6, r-- = 4, --- = 0
    예시:
    • chmod 755 파일명: 소유자는 모든 권한, 소유그룹과 나머지 사용자는 읽기/실행 권한만 부여한다 📄
    • chmod 644 파일명: 소유자는 읽기/쓰기 권한, 소유그룹과 나머지 사용자는 읽기 권한만 부여한다 📝

2. 상대모드(Relative Mode)

  • 기존 권한에서 추가하거나 회수할 수 있다.
    • 권한 추가: +
    • 권한 회수: -
    • 소유권: u(소유자), g(소유그룹), o(나머지 사용자)
    예시:
    • u+x: 소유자에게 실행 권한을 추가한다 🎬
    • g+r: 소유그룹에게 읽기 권한을 추가한다 📖
    • o-w: 나머지 사용자에게 쓰기 권한을 회수한다 ✂️

-상대모드 :기존 설정 신경 씀
절대모드: 기존 설정 상관없음

절대경로,상대경로가 우위가 없듯이 이것도 어떤게 더 좋은지는 없음


기본 권한 설정: umask ⛔

  • umask는 파일이나 디렉터리 생성 시 기본 권한을 설정하는 값이다.
    • 기본적으로 파일은 644, 디렉터리는 755 권한이 부여된다.

umask 값 확인 명령어

  • umask: 현재 기본 권한을 확인할 수 있다! 🧐

umask 값 변경

  • umask 033: 새로 생성되는 파일은 633, 디렉터리는 744 권한을 갖게 된다! 🔧

특수 권한(Special Permissions) 💡

리눅스에서 특수한 상황에 권한을 설정하는 방법이다.

1. setuid 🎭

  • 실행 파일을 실행할 때 소유자의 권한을 부여받는 특수 권한이다.
  • 예시: passwd 명령어는 일반 사용자도 패스워드를 변경할 수 있게 해준다. (setuid 덕분이다) 🔑

2. setgid 🛠️

  • 실행 파일이나 디렉터리를 소유 그룹의 권한으로 실행하게 해준다.
  • 예시: 파일을 실행할 때 소유 그룹의 권한으로 실행하도록 설정할 수 있다.

3. Sticky Bit 🧩

  • 디렉터리에만 설정 가능하다. 해당 디렉터리 하위 파일을 삭제할 수 있는 권한은 소유자만 갖고 있다.
  • 예시: 여러 사용자가 공유하는 디렉터리에서 다른 사용자의 파일을 삭제하지 못하도록 설정한다 🔒

 

'Linux' 카테고리의 다른 글

find 명령어를 사용하여 다양한 조건에 맞는 파일이나 디렉터리를 찾는 방법  (0) 2025.04.16
리눅스 파일 다운로드,패키지 관리 프로그램 (RPM, DNF)  (0) 2025.04.16
리눅스의 확장 권한, 파일 속성, 프로세스 관리, 백그라운드 실행 방식  (0) 2025.04.16
DNS 이름 해석 구조부터 Zone 파일 구성까지 정리  (0) 2025.04.16
DNS 서버 종류 & 영역 전송 정리  (0) 2025.04.16
'Linux' 카테고리의 다른 글
  • find 명령어를 사용하여 다양한 조건에 맞는 파일이나 디렉터리를 찾는 방법
  • 리눅스 파일 다운로드,패키지 관리 프로그램 (RPM, DNF)
  • 리눅스의 확장 권한, 파일 속성, 프로세스 관리, 백그라운드 실행 방식
  • DNS 이름 해석 구조부터 Zone 파일 구성까지 정리
햅삐root
햅삐root
happyroot 님의 블로그 입니다. IT 보안 정리💛
  • 햅삐root
    햅삐한 root
    햅삐root
  • 전체
    오늘
    어제
    • 전체보기 IT (123)
      • Linux (21)
      • Network (23)
      • packet tracer& GNS3 (10)
      • Cryptology (7)
      • WEB (16)
      • DB (16)
      • Hacking (28)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    injectionvector
    sqlinjection
    Hack
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
햅삐root
리눅스 권한
상단으로

티스토리툴바