[펌] 리눅스의 퍼미션(권한)을 조정하기 (chmod, chown)
링크 : https://conory.com/blog/19194
리눅스는 여러사용자가 들어와 사용하는 멀티유저 시스템이지요.. 왜냐면 리눅스는 서버용으로 만들어진 운영체제이기때문입니다..
그런데 한가지 문제가 발생합니다.
여러 사용자가 들어오면 서버에 올려진 비밀자료 열람과 그것을 변조,수정,삭제를 할 우려가 높아집니다..
그리고 그 비밀자료는 일부 사용자에게만 공개하는 것이였습니다. 하지만 모든사용자들이 다 볼 수 있겠죠.. 왜냐면 여러사람들이 사용하는 컴퓨터이기때문이지요..
이 문제가 극복하기위해 리눅스에 한가지 기능을 추가합니다.
바로 퍼미션(권한)이라는 기능을 추가했습니다.. 퍼미션은 말그대로 시스템에서 유지되는 권한기능입니다..
참고로 윈도우도 퍼미션기능이 있긴하지만, 여러사용자들이 들어오는 서버용이 아니기에 리눅스처럼 활성화되어있지않습니다..
이 기능으로 사용자들은 자신한테 읽기퍼미션이 부여된 파일만 읽을 수 있고,쓰기퍼미션이 부여된 파일만 쓰기와 수정이 가능하고, 실행퍼미션이 부여된 파일만 실행이 가능하게 됩니다.
이로써 비밀자료는 퍼미션이 부여된 사용자들에게만 공개할 수 있게 되었습니다..
그리고 "이 파일은 누구꺼지?"라는 문제에서 소유자 개념도 생겨납니다.
앞에서 리눅스는 여러사용자들이 공동으로 사용하는 운영체제라고 말했습니다..
그러면 "이 파일은 내가 만들었어.. 그래서 내꺼야.. , 아니! 니가 만들었지만, 내가 대부분 수정했어.. 그래서 내꺼야 "라는 분쟁이 발생합니다.. 왜냐면 혼자쓰는 게 아니라 여러사람들이 같이 사용하는 컴퓨터이잖아요.
그래서 리눅스에서 "이건 니꺼다"라고 정해줍니다.. 리눅스 曰 "이 파일은 니가 만들었으니, 니가 소유자, 즉 이 파일의 주인이야!!"
1) 파일정보 보기
일단, 퍼미션 조정하려면 파일에 부여된 퍼미션부터 봐야겠지요?
먼저 "ls -al" 명령어는 다들 아시죠? 앞에서 배웠습니다. 현재위치에 있는 파일들을 자세히보여주는 명령입니다.
그리고 자세히 보면 맨 뒤부분은 파일이름이 표시된다는 건 아시겠나요?
그치만, 앞부분에 있는 "drwxr-xr ~~ 머시기" 이건 도대체 뭔지 모르겠네요..;;
차근차근 봅시다..
drwxr-xr-x 2 root root 4096 Apr 22 16:59 conory
파일Type 퍼미션정보 링크수 소유자 소유그룹 용량 생성날짜 파일이름
- 파일 Type : "d" -> 디렉토리 , "l" -> 링크파일 , "-" -> 일반파일 등등..
- 퍼미션정보 : 해당 파일에 어떠한 퍼미션이 부여되어있는 지 표시!
- 링크수 : 해당 파일이 링크된 수! 링크는 윈도우의 "바로가기"와 같습니다. "in [대상파일] [링크파일]" 명령으로 링크파일을 만듭니다.
- 소유자 : 해당 파일의 소유자이름! (누구껀지?)
- 소유그룹 : 해당 파일을 소유한 그룹이름! 특별한 변경이 없을 경우 소유자가 속한 그룹이 소유그룹으로 지정됩니다.
- 용량 : 파일의 용량!
- 생성날짜 : 파일이 생성된 날짜!
- 파일이름 : 파일이름이죠!
rwxr-xr-x
- 읽기 ( r ) : 파일의 읽기권한
- 쓰기 ( w ) : 파일의 쓰기권한
- 실행 ( x ) : 파일의 실행권한
- 소유자 : 소유자에 대한 퍼미션지정
- 그룹 : 소유그룹에 대한 퍼미션지정
- 공개 : 모든사용자들에 대한 퍼미션지정
rwxr-xr-x
chmod [변경될 퍼미션값] [변경할 파일]
- 각 퍼미션 기호를 숫자로 변환 합니다. ( r = 4 , w = 2 , x = 1 )
예) r - x 인 경우 4 0 1
- 변환한 숫자를 합산합니다.
예) 4 0 1 인 경우 4+0+1 = 5
chown [변경할 소유자] [변경할 파일]