본문 바로가기
📔개발자 일기 | | TIL

[20220316] 개발자 일기 & TIL

by 캔 2022. 3. 16.

어제는 개인적인 사정으로 인해 글을 쓰지 못했다. 그와 별개로 최근 들어 유지보수 업무가 많아지면서 바빠졌다. 이미지가 안뜨기도 하고 리스트 순서를 바꾸기도 하고... datepicker를 추가하기도 하고 여러 가지 업무들을 겪고 있다. 개발 업무와는 별개로 서버 작업에 대한 지식도 많이 필요해지고 있다. 특히 리눅스 사용법이나 서버 재시작 같은 작업에 대해 알아야 할 경우가 생기는데, 오늘 같은 경우 리눅스의 디렉터리 권한을 다뤄야 했다. 파일질라로는 권한 변경이 불가능해서 서버에 접속해 chmod 명령어로 권한을 변경하였다.

 

 

chmod [option] [mode] [file]

option에는 하위 디렉터리에도 재귀(recursive)적으로 적용하는 -R 옵션을 대부분 준다. mode는 이제 리눅스의 디렉터리 및 파일 권한을 설정하는 부분인데 사용자('u'ser), 그룹('g'roup), 그 외 사용자('o'ther)에게 읽기('r'ead), 쓰기('w'rite), 실행(e'x'ecute) 권한을 준다. 따라서 세 가지 3비트로 이루어진다. 모든 사용자에게 모든 권한을 준다면 111 111 111이 된다. 이를 십진수로 변환하면 777이 된다. u+rwx와 같이 영문으로도 mode를 설정할 수 있는데 이는 필요시에 찾아보도록 하자. example이라는 디렉터리에 모든 사용자가 모든 권한을 갖도록 설정하고 싶다면, chmod -R 777 example과 같이 사용하면 된다.

 

디렉터리를 최초 생성 시에 권한을 어떻게 줄지를 설정할 때는 umask라는 명령어를 사용한다. 이진 연산에 대해 지식이 없다면 조금 어려울 수 있는데 디렉터리 기본 권한(파일은 110 110 110, 디렉터리는 111 111 111)에 umask값과 배타적 논리합(xor) 연산을 수행하면 새로 생성되는 파일 또는 디렉터리에 기본값을 변경할 수 있다. 디렉터리 기본 권한인 777, 즉 111 111 111에 umask 값으로 002(000 000 010)를 주면 111 111 101, 즉 775가 된다. 이는 사용자와 그룹 사용자에게 모든 권한을, 그리고 그 외 사용자에게 읽기와 쓰기 권한을 준다는 것이 된다. bashrc나 bash_profile, .bashrc에 umask가 설정되어 있으니 디렉터리 생성 시 기본 권한을 설정하려면 해당 설정들을 변경해주자.

'📔개발자 일기 | | TIL' 카테고리의 다른 글

[20220321] 개발자 일기 & TIL  (0) 2022.03.21
[20220317] 개발자 일기&TIL  (0) 2022.03.17
[20220314] 개발자 일기& TIL  (0) 2022.03.14
[20220311] 개발자일기 & TIL  (0) 2022.03.11
[20220310] 개발자 일기 & TIL  (0) 2022.03.10