run.sh와 같이 쉘스크립트 파일을 만들어 스크립트를 작성하고
./run.sh와 같이 실행을 해보면, 아래와 같은 에러메시지를 볼 수 있다.
zsh permission denied: ./run.sh
이는 해당 스크립트 파일에 권한 부여가 잘 안되어 있기 때문이다.
chmod 명령어를 통해, 실행권한을 부여해 주자.
필자는 아래처럼 그냥 777로 모든 권한을 부여해버렸지만,
chmod 777 ./run.sh
제대로 하고 싶다면 아래 부분을 참조하여 권한 부여를 해주자.(출처: 블로그)
$ chmod u+x FILE # 파일 소유 사용자에게 실행권한 추가.
$ chmod u+w FILE # 파일 소유 사용자에게 쓰기 권한 추가.
$ chmod u=rwx FILE # 파일 소유 사용자에게 읽기, 쓰기, 실행 권한 지정.
$ chmod u-x FILE # 파일 소유 사용자의 실행 권한 제거.
$ chmod g+w FILE # 파일 소유 그룹에 쓰기 권한 추가.
$ chmod g-x FILE # 파일 소유 그룹의 실행 권한 제거.
$ chmod o=r FILE # 파일 소유 사용자 및 그룹을 제외한 사용자는 읽기만 가능.
$ chmod a-x * # 현재 디렉토리의 모든 파일에서 모든 사용자의 읽기 권한 제거.
$ chmod a-w FILE # 모든 사용자에 대해 쓰기 권한 제거.
$ chmod u=rwx,g=r FILE # 파일 소유 사용자는 모든 권한, 그룹은 읽기만 가능.
$ chmod ug=rw FILE # 파일 소유 사용자와 그룹이 읽기, 쓰기 가능.
$ chmod g=rw,o=r FILE # 파일 소유 그룹은 읽기, 쓰기 가능, 그 외 사용자는 읽기만 가능.
$ chmod ug=rw,o=r FILE # 파일 소유 사용자 및 그룹은 일기, 쓰기 가능, 그외 사용자는 읽기만 가능.
$ chmod 000 FILE # 모든 사용자의 모든 권한 제거. = ---------
$ chmod 664 FILE # 사용자(읽기+쓰기), 그룹(읽기+쓰기), 그외 사용자(읽기) = rw-rw-r--
$ chmod 755 FILE # 사용자(읽기+쓰기+실행), 그룹(읽기+실행), 그외 사용자(읽기+실행) = rwxr-xr-x
$ chmod 777 FILE # 모든 사용자에 모든 권한 추가.
$ chmod -R g+x DIR # DIR 디렉토리 하위 모든 파일 및 디렉토리에 그룹 실행(x) 권한 추가.
$ chmod -R o-wx * # 현재 디렉토리의 모든 파일에서 그외 사용자의 쓰기, 실행 권한 제거
$ chmod -R a-x,a+X * # 현재 디렉토리 기준 모든 파일 읽기 권한 제거, 디렉토리 실행 권한 추가.
$ chmod -R a-x+X * # 위(chmod -R a-x,a+X *)와 동일.
$ chmod u=g FILE # FILE의 그룹 권한 값을 사용자 권한으로 적용.
$ ls -l
-rwxr--r-- 1 ppotta manager 23 Mar 26 04:13 FILE
$ chmod u=g FILE
-r--r--r-- 1 ppotta manager 23 Mar 26 04:13 FILE
$ chmod u+g FILE # FILE의 사용자 권한에 그룹 권한 값을 추가.
$ ls -l
-r-x-w--w- 1 ppotta manager 23 Mar 26 04:13 FILE
$ chmod u+g FILE
-rwx-w--w- 1 ppotta manager 23 Mar 26 04:13 FILE
'Linux' 카테고리의 다른 글
nc를 활용한 서버포트오픈(헬스체크) - 스크립트 작성 (0) | 2023.11.16 |
---|---|
[Linux] Linux tar, gz 압축 및 해제 (exclude 사용법) (1) | 2022.09.30 |
리눅스 서버에서 sudo 없이 docker 실행하기 (0) | 2022.05.31 |
[Linux] 계정 생성, 확인, 삭제 (0) | 2022.05.27 |