1. 리눅스
서버용으로 만들어진 운영체제이기에, 여러 사용자가 들어와 사용하는 멀티유저 시스템이다
->여러 사용자가 들어오면 서버에 올려진 자료를 마음대로 변조, 수정, 삭제를 할 우려가 높아짐
2. 퍼미션 (permission)
특정 파일이나 디렉토리에 대하여 읽기, 쓰기, 실행하기 등의 권한을 설정해 놓은 것
- r : 읽기 권한 (파일 읽기)
- w : 쓰기 권한 (파일 저장, 삭제)
- x : 실행 권한 (파일 실행)
- 실제 퍼미션 확인해보기
: ls -l을 입력
한 줄씩 보자면,
파일에 대한 퍼미션 / 파일에 연결되어 있는 파일의 수 / 파일의 사용자 (생성자) / 파일을 생성한 계정이 속해 있는 그룹
그 뒤로는,
용량 / 생성날짜 / 파일이름
여기서 중요한 건, "파일에 대한 퍼미션"
맨 위의 buf를 예로 들면,
r | w | x | r | w | x | r | - | x |
소유자 권한 | 그룹 소유자 권한 | 일반 사용자 권한 |
소유자는 읽고 쓰고 실행할 수 있으며, 그룹 소유자도 읽고 쓰고 실행이 가능하고, 일반 사용자는 읽고 실행만 가능하다
- 그룹 소유자? 해당 파일을 소유한 그룹, 특별한 변경이 없으면 소유자가 속한 그룹이 소유그룹으로 지정된다
(ex. 파일 소유자 syj1198은 그룹 syj1198로 생성이 되었다 && 특별한 변경은 없었다 )
위의 예로는, 파일의 그룹에 속하는 사용자들은 rwx이 가능하다는 의미
- Crypto의 퍼미션 맨 앞의 'd'는 디렉토리를 뜻한다
(l은 링크파일, s는 소켓파일 등)
3. 퍼미션 변경
파일이 생성될 때 기본적인 퍼미션이 부여되지만, 파일을 다른 사용자에게 공개하는 등의 경우가 생기면
퍼미션을 변경해야 한다
<chmod 명령어>
chmod [변경될 퍼미션 값] [변경할 파일]
(변경될 퍼미션 값 앞에 옵션이 추가될 수도 있다)
- 옵션
-c : 실제로 파일의 권한이 바뀐 파일만 자세히 기술한다
-f : 파일의 권한을 바꿀 수 없는 경우에도 에러 메시지 출력 X
-v : 변경된 권한에 대해서 자세히 기술
-R : 디렉터리와 그 하위 파일들의 권한을 모두 바꾼다 (제일 많이 사용)
-권한(문자모드)
Class | 연산자 | 권한 |
u : user | = : 권한 설정 | r : read |
g : group | + : 권한 추가 | w : write |
o : other | - : 권한 삭제 | x : execute |
a : all |
예를 들어, chmod g+w bof.c --> 그룹 소유자 권한에 w를 더해라!라는 의미
chmod u+x,g+rw,o+rwx bof.c --> 유저에 실행권한, 그룹에 읽기쓰기, 일반 사용자에 읽기쓰기실행권한을!
- 권한(숫자모드)
소유자 | 그룹 소유자 | 일반 사용자 | ||||||
r | w | x | r | w | x | r | w | x |
400 | 200 | 100 | 40 | 20 | 10 | 4 | 2 | 1 |
700 | 70 | 7 |
예를 들어, chmod 777 bof.c --> 모두에게 모든 권한을! 이라는 의미
나중에 퍼미션을 계속 다루면 익숙해질 것 이라는...말이 있다...
제발 그러길
'System' 카테고리의 다른 글
ㅂ ㅏ ㅁ ㄹ ㅐ ㅂ 0+1 (0) | 2019.10.08 |
---|---|
16진수 (0) | 2019.10.03 |
리눅스 권한3 (보충) (0) | 2019.10.01 |
sudo와 root (0) | 2019.09.28 |
리눅스 권한 2 (0) | 2019.09.26 |