티스토리 뷰
권한이란?
리눅스에서 ls -l 명령어를 실행하면 파일에 관한 여러 정보들이 나옵니다. 그 중 가장 앞에 있는 것 "-r--r--r--" 같은 10자리의 기호가 권한과 관련된 정보입니다.
Adobe 폴더는 [ drwxr-xr-x ] 의 권한을 가지고 있고, datamodeler.log 같은경우는 [ -rw-r--r-- ] 의 권한을 가지고 있습니다. 맨 앞자리가 폴더는 d 파일은 - 로 시작하는 것을 알 수 있습니다.
권한에서 맨 앞자리를 뺀 9자리는 3개로 구별해서 읽어야합니다. Adobe 폴더를 예로 들면 [ drwxr-xr-x ] 인데, 첫번째 소유자의 권한은 rwx, 두번째 그룹의 권한은 r-x, 세번째 그외 기타사용자의 권한은 r-x 인 것을 알 수 있습니다. 소유자는 읽고 쓰고 실행할 수 있다는 것을 말하고 그룹은 읽고 실행하는 것이 가능하다는 것을 말하며 기타사용자는 읽고 실행하는 것이 가능하다는 것을 말해주고 있습니다.
표에 있는 것 처럼 파일과 폴더의 경우에 각각 다르게 권한이 작용한다는 점을 알아두셔야 합니다.
권한에 관한 명령어 - chmod (change mode)
chmod 를 사용하는 방법에는 두가지가 있습니다.
첫번째는 numeric method 입니다.
r = 2^2 = 4, w = 2^1 = 2, x = 2^0 = 0 으로 계산해서 이 숫자들을 사용하는 방법입니다.
chmod 731 fname # fname 에 rwx, wx, x 의 권한을 부여
두번째는 symbolic method 입니다.
소유자의 권한 : u (user) , 그룹의 권한 : g (group) , 기타사용자의 권한 : o (other) 입니다. 각각의 부분에서 빼고 더할 권한을 지정해주는 방법으로 진행됩니다.
chmod u=rwx,g+r,u-x fname
위의 코드는 fname에서 소유자의 권한 u 를 rwx 로 지정하고 그룹의 권한 g 에 r 기능을 추가하고 기타사용자의 권한 o 에서 x 기능을 제거하는 코드입니다. 권한 관련 명령 중에 띄어쓰기가 없어야 실행이 된다는 점을 명심하세요.
권한에 관한 명령어 - chattr (change attributes)
chattr 의 명령어 중 attr 은 attributes 의 약자로 속성, 특성, 계수 등의 뜻을 가지고 있습니다. 같이 사용하는 명령어는 lsattr 로 파일에 걸려있는 속성을 보여주는 명령어가 있습니다. chattr 은 파일들의 보안을 위해 익숙해져야 하는 명령어 입니다.
chattr [-RV] [-v version] [+-=option] : 옵션의 경우는 추가할 경우 +, 제거할 경우 -를 사용하면 됩니다.
-R : 서브디렉토리 이하까지 그 속성을 변경할 수 있습니다.
-V : 자세한 출력모드를 제공합니다.
-v version : 지정된 파일에 버전을 설정할 수 있습니다.
option
a : 해당 파일에 추가만 할 수 있습니다. 당연히 root만이 속성변경이 가능합니다. 파일보안을 위해 주로 사용하는 속성입니다.
c : 이 속성이 설정된 파일은 커널에 의해 디스크상에 자동적으로 압축 된 상태로 저장이 되어 있습니다. 파일을 읽을 경우에는 압축을 해제한 상태로 되돌려주며 쓰기시에는 디스크에 저장하기 전에 파일을 압축합니다.
d : 이 속성이 설정된 파일은 dump로 백업이 되지않습니다.
i : 이 속성이 지정되어 있다면 해당파일의 변경, 삭제, 이름변경뿐 아니라 파일추가및 링크파일도 만들 수 없게 됩니다. 변경추가가 거의 없는 부팅관련 파일들에 설정하면 부팅이 되지않는 문제로 인한 시스템장애를 줄일 수 있습니다.
s : 이 속성이 설정된 파일은 파일삭제가 될 경우에 해당블럭이 모두 0으로 되어 버리고 디스크에 다시 쓰기가 발생합니다.
S : 이 속성이 설정된 파일은 변경이 될 경우에 디스크동기화가 일어나는 효과를 그대로 누릴 수 있습니다.
u : 이 속성을 가진 파일이 삭제가 되었을 경우에는 그 내용이 저장이 되며 삭제되기 전의 데이터로 복구가 가능해집니다.
chattr +i fname
- fname 을 읽기 전용으로 변경해서 삭제, 이름 변경, 파일추가 등을 불가능하게 만듭니다. chattr 명령어에선 다른 옵션보다 i 옵션이 가장 많이 사용됩니다.
- i 옵션이 있는 파일을 삭제하려거나 변경하려 한다면 다음과 같은 오류 메시지가 출력됩니다. (다음 메시지는 test.txt 에 대한 오류 입니다.)
chmod: changing permissions of `test.txt': Operation not permitted
- 이를 해결하기 위해선 다음과 같은 chattr 에 -i 옵션을 주어 i 속성을 해제해주신 후 진행하시면 됩니다.
chattr -i fname
소유권 관련 명령어 - chown (change ownership)
ls -l 을 실행했을 때 나오는 화면 중 파란색 부분이 파일 혹은 폴더의 소유주이고 노란색은 속한 그룹을 의미합니다. 이 소유권을 변경하는 명령어가 chown 입니다.
chown owner fname # 소유자만 변경하고 싶을 때chown owner:group fname # 소유자와 그룹을 변경하고 싶을 때chown .group fname # 그룹만 변경하고 싶을 때
리눅스는 여러사용자가 이용 가능한 시스템이기 때문에 보다 편하고 안정적으로 파일들을 관리하기 위해선 사용자 개념과 그룹 개념을 잘 알아두는 것이 중요합니다.
'Linux' 카테고리의 다른 글
[노트패드++] Install Notepad++ in ubuntu (0) | 2021.03.24 |
---|---|
Tip. vi 에디터로 여러 파일의 내용들을 일괄 변경 하는 방법 (0) | 2017.12.01 |
02. 꼭 알아야 할 리눅스 기본 명령어 10가지 (1) | 2017.11.30 |
Tip. cd 를 실행시켰을 때 바로 ls 가 실행되게 하기 (1) | 2017.11.29 |
01. vi, vim 정의 및 명령어 정리 (0) | 2017.11.29 |
- Total
- Today
- Yesterday
- 계곡캠핑
- 여름휴가
- python
- SeoulTravel
- Koreancuisine
- 가족캠핑
- 커플여행
- 캠핑초보
- 영월여행
- 여름휴가추천
- 백준
- 자연힐링
- 글램핑
- Oracle
- 반려견캠핑
- 캠핑장추천
- 가평여행
- 서울근교캠핑
- 영월캠핑
- 강원도캠핑
- 파이썬
- bukhansannationalpark
- sql
- 가족여행
- 머신러닝
- 가평캠핑
- 강원도여행
- 알고리즘
- 여름캠핑
- 카카오
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |