본문 바로가기

Error

sh: 0: Can't open / chmod -R 777 파일 권한 설정

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) 재귀적으로. 읽기, 쓰기, 실행하기의 모든 권한을 모든 사용자에게 허용하도록.

 

이라는 의미이다.