System

리눅스 권한 2

hololo 2019. 9. 26. 03:01

저번에 리눅스 권한은 무엇인지, 또 어떻게 보고, 어떻게 변경하는지를 보았다
이번엔 실제로 권한을 바꿔볼 예정이다
덧붙여 저번에 알게됐던 것들을 보충할 것이다

1. 명령어 정리
ls -l : 현재 디렉토리에 있는 파일들을 보여준다 (숨김 파일 제외)

ls -al : 현재 디렉토리에 있는 모든 파일들을 보여준다 (숨김 파일 포함)
chmod : 파일, 디렉토리의 권한을 변경
chown : 파일, 디렉토리의 사용자나 그룹을 변경 --> 파일의 소유권을 변경
            sudo chown user1 test.c
chgrp : 그룹 변경 (일반 사용자는 자신이 속한 그룹으로만 변경이 가능)
           sudo chgrp gr1 test.c


2. 퍼미션의 의미
말 그대로 '권한'
시스템을 만질 수 있는 권한
리눅스는 많은 사용자들이 사용하는 서버용 운영체제이기에 윈도우보다 퍼미션 기능이 많이 활성화 되어 있다
그러므로, 퍼미션은 중요한 기능
(시스템 해킹은 root권한의 획득을 목적으로 한다)


3. 왜 777인가?
chmod 777 test.c
숫자로 환산할 때, 권한이 있으면 1, 없으면 0으로 바꾼 후 이를 2진수 세자리로 간주하여 8진수로 환산
777은 곧 환산한 수들의 묶음!
rwx => 111 => 7
r-x  => 101 => 5


4. chmod 실습
먼저 pwnable.kr에 들어가 bof문제를 다운받았다
다운 받은 bof 파일을 드래그하면,

파일을 드래그 하면

다음과 같은 화면이 뜬다

실행을 하면,

Permission denied가 뜬다

ls -l을 해보니,

다음과 같은 화면이 뜬다
-rw-r--r-- : 파일의 소유자는 읽기와 쓰기, 그룹 소유자는 읽기만, 다른 사람은 읽기만
즉, 나는 소유자지만 x권한인 실행권한이 없으니 실행할 수 없다
라는 내 해석이 맞는지 확인해보기위해
chmod 문자모드로 해보았다
(chmod u+x 'bof_(1)')

오 실행이 된다
내 예상이 맞았다
ls -l로 확인을 해보니,

이렇게 초록색으로 변해있는 것을 확인할 수 있었다



이번 포스팅 : chmod실습과 permission 보충
다음 포스팅 : sudo와 root