상세 컨텐츠

본문 제목

파일 시스템 소유권과 권한 바꿔주기 chown/chmod

terminal

by Riella 2021. 3. 23. 16:16

본문

728x90

Reference: 링크 1, 링크 2, 링크 3, 링크 4, 링크 5

 

[디렉토리 안 파일들 소유권 확인]

ls -l

 

l: list in long format

[options]

d: list directories

a: include hidden files

h: file size printed in human readable size

ls -lh

사진처럼 리스트가 쭉 나온다.

ls -l 명령 수행시 나오는 것

순서대로 파일 타입/권한, 하드 링크 개수(3), 파일 소유자, 그룹(admin), 사이즈(96/32), 마지막 수정된 시간(3 16 xx:xx), 파일 이름이다.

 

[파일 소유권 변경: chown]

해당 디렉토리 소유권만 변경

chown [소유권자]:[그룹] [소유권 변경이 적용되는 디렉토리]

예시: 현재 있는 위치에 airplane/test라는 디렉토리가 있는 상황

chown user:user airplane/test

하위 디렉토리 파일의 소유권까지 전부 변경

chown -R [소유권자]:[그룹] [소유권 변경이 적용되는 디렉토리]

예시: 현재 있는 위치에 airplane이라는 디렉토리가 있고 하위 파일들의 모든 권한들 바꿔주고 싶은 상황

chown -R user:user airplane/

 

[파일 권한 변경: chmod]

파일 타입 같은 경우는 d로 시작하면 디렉터리, l로 시작하면 심볼릭링크, -로 시작하면 일반 파일이다.

오늘 우리는 그 뒤에 rwxrwxr-x 이렇게 오는 파일 권한을 바꾸는 방법에 대하여 알아볼거다.

 

9개의 칸중 3개는 파일 소유자, 3개는 그룹, 3개는 다른 사용자의 권한을 나타내는데

r은 읽기 원한 w는 쓰기 권한, x는 실행 가능한지에 대한 권한을 나타낸다.

이거를 세자리 숫자로 바꿀 수 있는데 각 자리마다 r=4, w=2, x=1로 바꾸어 합한 수를 적어주면 된다.

예를 들면 rwxrwxr-x 같은 경우

7(r+w+x=4+2+1)7(앞에와 같음)5(r+x=4+1) 이렇게 바꿀 수 있다.

 

해당 파일 접근 권한 변경

chmod [숫자 세자리] [파일_이름]

예시: airplane_0001_0000.npy 파일 접근 권한을 -rw-rw-r--로 변경 (4+2, 4+2, 4)

chmod 664 airplane_0001_0000.npy

해당 디렉토리와 하위 파일까지 접근 권한 변경

chmod -R [숫자_세자리] [파일_이름]

예시: doc라는 폴더와 하위 폴더까지 권한을 -rwxrwxr-x로 변경 (4+2+1, 4+2+1, 4+1)

chmod -R 775 doc

하지만 현재 있는 디렉토리는 제외하고 하위 폴더들만 권한을 바꿔주고 싶을때가 있다.

현제 디렉토리 안의 모든 파일의 권한을 (rw-rw-r--)로 변경

find ./ -type f -exec chmod -v 664 {} \;

현제 디렉토리 안의 모든 디렉토리의 권한을 (rwxrwxr-x)로 변경

find ./ -type d -exec chmod -v 755 {} \;

현제 디렉토리 안의 모든 파일과 디렉토리 권한을 (rwxrwxr-x)로 변경

chmod 755 ./*

 

마침 권한을 바꿔줄 일이 있어서 사용 예를 첨부하면 아래와 같다.

 

zsh 원래 권한은 775 -> 755

바꾸기전 zsh 권한
바꾸기 전 site-functions 권한

 

바꾼 후 zsh와 site-functions 권한

관련글 더보기

댓글 영역