Post

리눅스 파일모드 변경 CHMOD

#naver-import

원문: https://blog.naver.com/qoxmfaktmxj/222763069560

서버를 재시작하려고 하는데 갑자기 catalina.sh 파일이 권한이 없다고 나오는 경우가 발생했다

오류 로그를 보니 catalina.sh 파일만 해당 계정 권한으로 접근하지 못하도록 되어 있었다. 이 부분을 chmod

( chmod란 change mode의 줄임말이다.)를 통해서 권한을 수정해서 해결이 가능하다.

was 시작 시 start를 할 때 catalina 파일 물고 가게끔 설정되어 있기 때문에 해당 부분 변경해야 was 실행이 가능했던 부분.

$ 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

이렇게 변경이 아닌 UMASK 설정을 통해 수정을 하려면 우선 알아야 할 것 Tomcat에서는 기본 보안설정이 정해져 있다.

폴더 : 777 rwx

파일 : 666 rwx

tomcat 에서 구동되는 Web application에서 파일을 생성했는데 permission이

기본 설정인 -rw- r-- --- 으로 생성되어 해당 파일을 읽을 수가 없는 현상 발생.

이미지 파일업로드라던지 기타 tomcat 어플리케이션을 통해 업로드된 파일에 대한 접근권한을 주기위해서는

권한을 변경해주어야함.

catalina.sh 파일에서 UMASK설정을 수정하면 된다.

vi catalina.sh # Set UMASK unless it has been overridden if [ -z “$UMASK” ]; then UMASK=“0027” fi umask $UMASK

위구문의 UMASK=“0027” 을 “0022”로 바꿔줘야 한다.

tomcat 버전에 따라 원래는 UMASK가 0이라 신경안써도 되었던 부분을 tomcat 버전 9인가 부터 설정이 되게끔 되어있다.

저 부분은 원래 기본인 777에서 UMASK의 숫자만큼을 빼서 예를 들어 777 - 027 = 750 , 777 - 022 = 755 이런식으로 권한이 설정되게끔 해준다.

*이미생성된 파일이 있다면 날리고 다시 재기동해야한다

ex) ROOT 삭제

댓글