일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- webhacking.kr
- sql injection
- 웹해킹
- writeup
- 넘파이
- 인공지능
- 어셈블리어
- 리버싱 워게임
- 자바스크립트
- 회귀 수식
- 리버싱 문제
- abex crackme
- 워게임
- CodeEngn
- 보안
- php
- 리버싱
- 백준
- 해킹
- C언어
- html
- 컴퓨터 구조
- 알고리즘
- 리액트
- webhacking
- MySQL
- 백준 알고리즘
- 웹
- 머신러닝
- 리눅스
- Today
- Total
인공지능 개발일지
[Linux] 리눅스 접근권한 관리 본문
안녕하세요! 이번 시간에는 리눅스의 권한관리에 관해서 깔끔하게 끝내봅시다.
1. 대상의 종류
리눅스의 모든 것들은 디렉터리와 파일로 나뉘고 기호는 아래와 같습니다.
기호 | 의미 |
d | 디렉터리 |
- | 파일 |
사용자의 권한은 가지로 나눌 수 있습니다.
권한 종류 | 의미 |
r (read) | 읽는 권한(4) |
w (write) | 쓰는 권한(2) |
x (excute) | 실행 권한(1) |
- | 권한 없음 |
권한 옆의 숫자는 각각의 권한 종류를 구분하는 숫자입니다.
2. 읽는 법
ls명령어 중 자세히 보기 옵션(-l)을 사용하면 아래와 같이 권한을 볼 수 있습니다.
위 사진 중에서 drwxr-xr-x를 예제로 알아봅시다.
이를 읽는 방법은 1 3 3 3 자리씩 끊어서 읽으면 됩니다.
제일 첫 번째 자리에는 디렉터리와 파일을 구분하는 자리입니다.
그렇다면 위 예제에서는 첫 번째 자리가 d니까 디렉터리임을 알 수 있습니다.
다음으로 3 3 3 의 의미는 아래와 같이 세자리씩 끊어서 보란 뜻입니다.
d/rwx/r-x/r-x
왼쪽부터 차례로 소유자 그룹 기타사용자의 권한을 나타낸 것이지요.
그렇다면 예제에서는 rwx(소유자) r-x(그룹) r-x(기타 사용자)로 소유자는 모든 권한을 갖고
그룹과 기타사용자는 읽고 실행할 수 있는 권한을 가진다는 뜻입니다.
이와 같이 1 3 3 3 으로 끊어서 해석하면 됩니다.
3. 변경하는 방법
chmod [바꿀 설정] [대상]
위와 같이 정말 간단하게 사용할 수 있습니다.
이를 위에서 배운 rwx와 같이 기호로 나타낼 수도 있고,숫자로 나타낼 수도 있습니다.
1)기호
이를 사용하기 위해 간단하게 사용자를 분류합니다.
사용자 유형 | 의미 |
u (user) | 소유자의 권한 |
g (group) | 그룹의 권한 |
o (others) | 기타 사용자의 권한 |
a (all) | 전체 사용자의 권한 |
위 기호와 관리자 종류(rwx)를 이용하여 아래와 같이 [바꿀 설정]을 표현할 수 있습니다.
chmod [(사용자유형)±권한 종류] [대상]
(단,사용자 유형은 생략할 수 있고 사용자 유형과 권한 종류 둘다 여러개를 사용하고 싶을 땐
ug,rwx등과 같이 붙여서 사용하면 됩니다)
예시로는 exam.c라는 파일이 있을 때 실행과 읽을 권한을 주고 싶다면 chmod +rx exam.c 를 하면 됩니다.
2)숫자
숫자로 환산하기를 이해하기 위해서 알아야할 것은 간단한 숫자 정의인데요.
위에서 r(4),w(2),x(1)를 소개 했는데 이와 관련된 것입니다.
모든 대상은 디렉터리와 파일로 나뉜다고 했는데요.디렉터리와 파일의 기본 값은 아래와 같습니다.
+ 디렉터리에서 "실행" 권한은 디렉터리 내에 있는 파일을 열고 접근할 수 있는 권한을 의미한다.
+ 보안적인 이유로 리눅스에서 파일의 기본 권한은 읽기와 쓰기만 허용되고, 실행 권한은 명시적으로 추가해야만 주어진다.
+ 디렉터리에 실행 권한이 있으면, 그 디렉터리로 들어가거나 (cd 명령) 그 디렉터리 내의 파일을 열 수 있다.
- 디렉터리 : 777 (rwxrwxrwx)
- 파일 : 666 (rw-rw-rw-)
위의 777 666 이라는 숫자의 의미는 rwx에 각각 정의된 값을 더한 것입니다.
그래서 디렉터리는 기본 값이 모두 rwx=4+2+1=7이 되는 것이죠.
그럼 이 권한을 숫자로 바꾸려면 위의 기본 값에서 없앨 권한 숫자를 뺀 값을 입력하면 됩니다.
chmod ( 소유자권한 )( 그룹권한 )( 기타사용자권한 ) (파일/폴더명)
4. UMASK
기본 권한을 설정하는 명령어로, 새로운 파일이나 디렉터리가 생성될 때 디폴트 권한에서 어떤 권한을 제거할지 결정합니다. umask는 파일이나 폴더의 권한을 직접 변경하지는 않고, 그 기본값에서 어떤 권한을 없앨지 설정하는 역할.
- umask의 적용 범위: 현재 세션/현재 사용자의 환경에만 적용된다. 즉, umask는 시스템 전체가 아니라 현재 쉘 세션 또는 사용자의 로그인 환경에서만 유효합니다. . 쉘을 새로 시작하면, 이전에 설정한 umask 값은 다시 기본값으로 돌아간다.
umask (소유자에게 없앨 권한)(그룹에게 없앨 권한)(기타 사용자에게 없앨 권한) (대상)
1)특수 권한
특수 권한들은 보안과 관련된 중요한 기능을 제공, 주로 시스템 관리자가 파일/디렉터리에 세밀한 접근 제어를 설정할 때 사용
추가적으로 권한을 숫자로 표기하는 chmod나 umask나 권한은 모두 "세 자리"의 숫자로 표기했는데
사실 이 앞에는 특수 권한을 설정할 수 있는 한 자리가 생략되어 있습니다.
한 마디로 기존 세 자리 앞에 아래의 숫자를 붙여 특수 접근 권한을 설정할 수도 있다는 것입니다.
특수 권한 종류 | 해당 숫자 |
Set UID(유저 아이디) | 4 |
Set GID(그룹 아이디) | 2 |
스티키 비트 | 1 |
감사합니다.
'개발 지식 > 운영체제(OS)' 카테고리의 다른 글
[Linux] 파일 시스템과 디스크 관리 (0) | 2021.06.20 |
---|---|
[LINUX] 기본 명령어 총정리 (0) | 2021.05.24 |
[Linux] 프로세스 명령어와 사용법 (0) | 2021.05.19 |
[우분투 리눅스]기본 명령어 사용법 Part.2 (0) | 2021.05.19 |
[우분투 리눅스]기본 명령어 사용법 Part.1 (0) | 2021.05.18 |