본문 바로가기

IT/리눅스

리눅스 파일과 디렉토리의 접근 권한

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

안녕하세요. 오늘은 기초 지식들을 설명한 뒤에 문제들을 풀어보도록 하겠습니다.


접근권한(퍼미션)이란? 사용자(User), 그룹(Group), 기타(Other) 별로 나누어서 읽기(Read), 쓰기(Write), 실행(eXecute)를 개별적으로 설정하는 것을 말합니다. 또한 ls -l을 사용하면 파일이나 디렉토리에 설정된 접근 권한을 확인할 수 있습니다. 



소유자(User)

그룹(Group) 

그 외 사용자(Other) 


보통 접근 권한은 ls -l로 확인할 때 두번 째 줄의 형태로 나타나게 됩니다. 



접근 권한을 바꾸는 방법에는 두가지 방법이 있는데 하나는 기호모드이고 나머지 하나는 8진수 모드가 있습니다. 그리고 공통적으로 chmod라는 명령어를 사용하는데 형태는 이러합니다.


chmod [옵션] [파일 및 디렉터리명]


① 기호모드

- 기호모드 사용법

chmod [계정][권한 추가 및 제거][허가 종류] [파일 및 디렉터리명]

계정은 한번에 두개씩 사용 가능


 계정

권한 추가 및 제거 

허가 종류 

User 

Group 

Other 

All 

Append 

Delete 

All Cancle 

Read 

Write 

eXecute 


ex) chmod u+x install.log


② 8진수 모드

- 8진수 모드 사용법

chmod [8진수 표기] [파일 및 디렉터리 명]


여기서 8진수란 사용자, 그룹, 기타마다 3개씩 끊어 8진수화 시키는 것을 말합니다.

예를 들어 rwxr--r-- 이면 744 라고 표기할 수 있습니다.

ex) chmod 744 install.log



그리고 파일의 소유권을 변경하는 방법(사용자를 변경하는 법)이 있는데 chown 명령어를 사용하면 됩니다.



chown 새로운사용자명[.새로운그룹명] 파일명


ex) chown fedora install.log

ex) chown fedora.fedora install.log



그런데 사용자를 변경안하면서 그룹만 바꾸고 싶을때는 chgrp 명령어를 사용하면 됩니다.



chgrp 새로운그룹명 파일명


ex) chgrp fedora install.log



그럼 선행 지식들을 모두 학습해 보았으니 문제를 풀어봅시다.


1. 다음 내용에 맞게 파일을 생성하고 허가권(Permission)을 조정(8진수 모드)하는 수행과정 및 결과 캡쳐



 -> 다음 내용이 들어가도록 파일 생성 ( 파일명 intro ) ( 사실 내용은 상관없으니 그냥 넘기세요)

Sunrin Internet High School

information communication 10OOO Name OOO

Boys, be ambitious!


-> 파일허가권은 소유자 rw- 그룹 r-- 그 외 ---로 설정



위의 chmod [8진수] [파일명] 을 사용하시면 됩니다.




2. intro 파일의 허가권을 소유자와 그룹에게 실행할 수 있는 권한을 주는 과정 및 결과 캡쳐(기호 모드)


실행할 수 있는 권한이니까 소유자와 그룹에게 각각 x를 플러스해주면 되겠네요.




3. intro 파일의 허가권을 소유자와 그룹에게 모든 권한을 주고, 그 외 사용자에게는 읽기 권한을 주는 과정 및 결과 캡쳐(8진수 모드)


중복되는 문제네요. 가볍게 풀어줍시다.




4. Zdir라는 디렉토리를 생성하고, 그 디렉토리로 이동하시오.


디렉토리를 생성하는 명령어는 mkdir [디렉토리 이름] 입니다.




5. zzz.txt 라는 파일을 생성하고, 접근 권한을 확인한 뒤 실행해보시오.


파일을 실행하려면 그 파일의 경로를 쳐주면 됩니다. 




6. zzz.txt 파일의 접근권한을 8진수를 이용해 다음과 같이 변경하고 실행해보시오.


① 소유자에게 파일을 실행할 수 있는 권한 부여

② 그룹에게 파일을 수정할 수 있는 권한 부여

③ 모든 사용자에게 실행 권한을 부여하지 않는다.


어떻게 풀어야 할지 짐작 가시죠?







이렇게 해서 문제도 전부 끝났습니다.  저번 사용자 계정관리 때는 문제마다 필요한 설명을 그 때 그 때 해드렸는데 이번에는 약간 방식을 바꿨습니다. 어느게 더 괜찮은지 덧글 남겨주시면 감사하겠습니다. ^^