Linux 파일과 권한 관리

Linux 파일과 권한 관리입니다. ls -l 출력, 파일 종류, rwx 권한, chmod, chown, 디렉터리 권한과 umask 확인을 정리했습니다.

Linux 파일과 권한 관리

Linux에서는 파일과 디렉터리마다 소유자, 그룹, 권한이 있다. ls -l 출력의 첫 글자는 파일 종류를, 뒤의 9자리는 소유자/user, 그룹/group, 기타/other 권한을 나타낸다.

ls -l 출력 읽기

mkdir -p ~/permission-lab
cd ~/permission-lab

touch app.log
mkdir logs
ln -s app.log app-link

ls -l
-rw-r--r-- 1 user user 0 Jun 23 10:00 app.log
drwxr-xr-x 2 user user 4096 Jun 23 10:00 logs
lrwxrwxrwx 1 user user 7 Jun 23 10:00 app-link -> app.log

파일 종류

문자의미
-일반 파일
d디렉터리
l심볼릭 링크
b블록 디바이스
c문자 디바이스
s소켓
pFIFO pipe

권한 의미

권한파일디렉터리
r내용 읽기목록 조회
w내용 수정파일 생성/삭제
x실행디렉터리 진입

chmod 숫자 권한

chmod 644 app.log
ls -l app.log

chmod 755 logs
ls -ld logs

숫자는 r=4, w=2, x=1 합계다. 예를 들어 755는 user rwx, group r-x, other r-x다.

소유자와 그룹 변경

sudo chown root:root app.log
ls -l app.log

sudo chown -R root:root logs
ls -ld logs

디렉터리 권한 테스트

mkdir private
chmod 700 private
ls -ld private

umask 확인

새 파일과 디렉터리의 기본 권한은 umask 영향을 받는다.

umask
touch umask-file
mkdir umask-dir
ls -ld umask-file umask-dir

마무리

Linux 권한을 볼 때는 파일 종류, user/group/other 권한, 소유자, 그룹을 함께 읽어야 한다. 파일의 x는 실행 권한이고, 디렉터리의 x는 진입 권한이라는 차이를 이해하면 권한 문제를 훨씬 빠르게 해결할 수 있다.

BGM EVER