Study/System Engineer
KDT - Linux 권한
jxx_yxjx
2024. 1. 12. 10:25
리눅스를 사용하다보면 Permission denied를 접하는 경우가 생긴다.
리눅스에서 파일이나 디렉터리 관련 권한들은 한 사용자가 다른 사용자의 개인 파일에 접근하지 못하게 하거나
중요한 파일들을 함부로 제어하지 못하도록 하기 위해 고안되었다.
권한은 -rwxrwxrwx 형식으로, 10자리 비트로 확인할 수 있다.
첫 자리는 -(일반파일), d(디렉터리), l(심볼릭링크), b(블록장치), c(문자장치), s(소켓), p(이름 있는 파이프)를 나타낸다.
이 외 9자리의 알파벳은 3자리씩 묶어보면 되는데 첫 3비트는 소유자, 중간 3비트는 그룹, 마지막 3비트는 다른 사용자 및 그룹 권한이다.
r - 읽기(4) , w - 쓰기(2), x - 실행(1) 형식이며 각 숫자는 해당 권한이 있는지를 나타낸다.
1,2,4 세 숫자의 합의 경우가 겹치지 않고 0~7을 구분할 수 있기 때문에 숫자로 권한을 제어한다.
특정 파일의 권한은 $ chmod 숫자3자리 파일명 형식으로 바꿀 수 있다.
-R 옵션으로 디렉터리 전체에 대해 권한 변경을 유발할 수도 있다.
파일 소유권은 root 계정만 변경할 수 있으므로
$ su - 로 루트계정으로 이동한 다음 chown을 이용해 소유주를 변경할 수 있다.
# chown 유저명 파일명 -> 소유주가 적힌 유저명으로 변경
+ # chown 유저명:그룹명 파일명 -> 그룹명 같이 변경 가능