shell 스크립트를 실행하려고 하는데 sh: 0: Can't open이라는 오류가 발생했다.
나에게 이 파일을 실행할 권한이 없다는 뜻이다.
이때 chmod를 이용하여 파일 권한 설정을 바꿀 수 있다.
파일 권한은 크게 1. 읽기(read) = 4
2. 쓰기(write) = 2
3. 실행하기(execute) = 1 세가지이다.
(당연히 세 자리 이진수를 사용하기 때문에 000(0)~111(7) 중 값을 갖게된다.)
7(1+2+4)은 이 3가지 권한을 모두 부여한다는 의미이다.
777에서 첫 번째 7은 소유자(나), 두 번째 7은 그룹사용자, 세 번째 7은 기타 사용자이다.
즉 777은 나를 포함한 모든 사용자에게 모든 권한을 부여한다는 의미이다.
-R은 recursive의 약자로 파일뿐만아니라 chmod -777 {directory name} 을 입력해도 해당 디렉토리 내부의 모든 파일을
recursive하게 처리해준다.
즉 chmod -R 777 {directory name or file name} 은
모드를 바꾼다.(change mode) 재귀적으로. 읽기, 쓰기, 실행하기의 모든 권한을 모든 사용자에게 허용하도록.
이라는 의미이다.
'Error' 카테고리의 다른 글
ModuleNotFoundError : 상위 디렉토리 모듈 불러오기 (0) | 2023.01.19 |
---|---|
FileNotFoundError: [Errno 2] No usable temporary directory found in ['/tmp', '/var/tmp', '/usr/tmp', ...] (0) | 2023.01.16 |