맥 터미널에서 ls -al 이란 명령어를 실행시켜보면
제일 앞 부분에 위와 같은 문자열이 나타납니다.
drwxr-xr--
구분을 해서 보면 아래와 같이 나눠볼 수 있습니다.
문자열 | 의미 |
d | d면 디렉터리, 하이픈(-)이면 파일 |
rwx | 소유자의 읽기(r), 쓰기(w), 실행(x) 권한 |
r-x | 그룹의 읽기(r), 쓰기(w), 실행(x) 권한 |
r-- | 모든 사용자의 읽기(r), 쓰기(w), 실행(x) 권한 |
파일이나 디렉터리를 보호하기 위해서 사용자 별로 권한을 부여할 수 있게 해놨습니다.
이제 권한을 변경해야 한다면 어떻게 해야 할까요?
chmod 명령어를 사용하면 됩니다.
앞에 디렉터리 및 파일 구분자를 제외하고 총 9자리에 대해서
권한을 부여하는곳은 이진수로 1, 그렇지 않은 곳에는 0을 주면 됩니다.
예를들어 test.txt 파일을 전체 권한을 주고 싶을때(-rwxrwxrwx 라고 부여되겠죠)
명령문을 적어보면
chmod 111111111 test.txt
라고 하면 될것입니다.
그런데 이렇게 실행을 해보면
chmod: Invalid file mode: 111111111: Result too large
라는 에러메시지만 뜹니다.
왜냐? chmod에는 10진수만 사용할 수 있기 때문이죠.
앞에 1이 9개인것을 3개씩 나눠서 10진수로 변환합니다.
111 / 111 / 111
7 / 7 / 7
그래서
chmod 777 test.txt
로 실행을 하면 누구에게나 읽기, 쓰기, 실행 권한이 부여됩니다.
물론 이렇게 해서는 안되겠죠.
보통 755라고 권한을 많이 줍니다.
2진수로 변환해보면
7 / 5 / 5
111 / 100 / 100
rwx / r-- / r--
최종적으로
-rwxr--r--
파일소유자에게는 읽기, 쓰기, 실행 권한
그룹과 모든 사용자에게는 읽기 권한만 부여됩니다.
나머지 권한도 0~7까지 적절한 숫자를 부여해주면 됩니다.
'IT' 카테고리의 다른 글
[Windows 10] 파일 확장자 표시 (0) | 2020.01.28 |
---|---|
[Firefox] 파이어폭스 마우스 우클릭 해제방법 (1) | 2020.01.17 |
[Javascript] 숫자 세자리마다 콤마(,) 찍기(정규표현식) (0) | 2020.01.14 |
오라클 테이블 컬럼 추가 SQL (0) | 2020.01.14 |
sql developer 고해상도 모니터에서 사용하기(글자가 너무 작게 나올때 해결책) (8) | 2020.01.13 |