본문 바로가기

리눅스

파일 권한 관리

분명 권한을 한번 공부했었는 데, 어느새 700 또는 777 만 기억하고 있는 날 발견했다.
ls -al 해서 보는 데, 권한 읽는 것도 헷갈리고..
linux biginner tutorial을 참고해 권한을 다시 정리해보았다.
(사실 테스트는 mac 에서 했지만, 둘 다 Unix 기반이라 기본적인 권한 내용이 다르지 않았다)


 ls -l (path) 로 해당 위치의 자세한 파일목록을 보면 이렇게 파일이 표시된다.

권한 파일개수 유저 그룹 크기(바이트) 날짜시간 파일이름

그중 권한은 맨 앞자리를 제외하고 rwx로 표현되는데,
r 은 읽기(4), w는 쓰기(2), x는 실행 권한(1)을 의미한다.
맨 앞자리를 제외하고 세 자리씩 끊어서 읽으면 되는 데,
각각 유저, 그룹, (유저와 그룹을 제외한) 누구나의 권한이다.


예를 들어 내가 자주 사용하는 700 은
유저라면 읽고, 쓰고, 실행 가능하고 같은 그룹이나 다른 유저들은 아무 권한이 없다는 뜻이고,
777 은 누구나 읽고, 쓰고, 실행 가능하다는 뜻이다.
700 은 앱에서 읽고 써야 하는 파일을 만들 때(->600 이면 충분할 것 같다. 반성),
유저 권한이 다른 파일을 임시로 실행해 테스트해볼 때 sudo chmod 777 파일 이름을 사용했다.

파일을 생성하면 기본적으로 644 권한으로 생성된다.
(만약 생성하는 권한을 설정하고 싶으면 umask (7-원하는 권한)(7-원하는 권한)(7-원하는 권한)으로 하면 된다)
 
작업할 때 보통 같은 시스템끼리 같은 유저, 같은 그룹을 사용해서 유저 권한만 주의해서 설정하면 문제가 없었다.
즉 파일들의 소유권이 주어진 유저:그룹인지, 권한이 읽고 쓰는 파일이라면 6-- 인지, 실행도 해야 하는 파일이라면 7-- 인지만  확인하면 된다. (물론 운영서버에 넣을 땐 그룹, 누구나 권한도 잘 체크해야 한다..)


끝! 별로 어려운 내용은 아닌데 4가 읽기 권한인지 실행 권한인지 매번 헷갈린다. 이번엔 좀 오래 기억해야지.

'리눅스' 카테고리의 다른 글

계정 별 SSH 설정  (0) 2022.03.20