본문 바로가기
C.W.K.
Stream
Lesson 12 of 12 · published

파일 권한: rwx, chmod, chown

~15 min · chmod, chown, permissions, umask

Level 0창 구경꾼
0 XP0/95 lessons0/14 achievements
0/100 XP to next level100 XP to go0% complete

권한을 나타내는 아홉 비트

Unix 파일은 소유자, 그룹, 그 밖의 사용자에게 각각 읽기(r), 쓰기(w), 실행(x) 권한을 기록해. ls -lrwxr-xr--라면 소유자는 세 권한을 모두 갖고, 그룹은 읽기와 실행, 나머지는 읽기만 할 수 있어.

기호로 chmod 사용하기

  • chmod u+x file: 소유자에게 실행 권한을 더해.
  • chmod g-w file: 그룹의 쓰기 권한을 없애.
  • chmod o= file: 그 밖의 사용자 권한을 모두 없애.
  • chmod a+r file: 모든 범주에 읽기 권한을 더해.

숫자로 chmod 사용하기

읽기 4, 쓰기 2, 실행 1을 더해 범주별 8진수 한 자리를 만들어. rwx는 7, rw-는 6, r-x는 5, r--는 4야. 그래서 chmod 755 script.shrwxr-xr-x, chmod 644 file.txtrw-r--r--를 뜻해. SSH 개인 키에는 chmod 600 ~/.ssh/id_ed25519, SSH 디렉터리에는 chmod 700 ~/.ssh을 사용해.

디렉터리에서는 의미가 달라져

디렉터리의 실행 권한은 그 경로 안으로 들어갈 수 있다는 뜻이고, 읽기 권한은 항목 이름을 나열할 수 있다는 뜻이야. 쓰기 권한은 항목을 만들거나 지울 수 있게 해. 그래서 디렉터리에는 일반 파일에 흔한 644가 아니라 실행 권한을 포함한 755가 필요한 경우가 많아.

chown으로 소유자 바꾸기

chown alice file은 소유자를 alice로 바꾸고, chown alice:staff file은 소유자와 그룹을 함께 바꿔. -R은 하위 항목에 재귀 적용해. 다른 사용자에게 파일 소유권을 넘기는 작업은 보통 관리자 권한이 필요해.

umask로 기본 권한 정하기

파일을 만들 때는 0666 & ~umask, 디렉터리는 0777 & ~umask가 적용돼. umask 022라면 새 파일은 644, 디렉터리는 755가 되고, umask 077은 새 파일을 소유자만 읽을 수 있게 해. 비공개 데이터가 들어갈 닷파일을 만들 때 유용한 기본값이야.

Code

자주 쓰는 chmod 패턴·bash
chmod +x script.sh                # 모든 사용자에게 실행 권한 추가
chmod 755 script.sh               # 권한 결과: rwxr-xr-x
chmod 644 README.md               # 권한 결과: rw-r--r--
chmod 600 ~/.ssh/id_ed25519       # SSH 개인 키는 600으로 제한
chmod 700 ~/.ssh                  # SSH 디렉터리는 700으로 제한
chmod -R u+rwX,go-w project/      # 재귀 적용하되 디렉터리와 기존 실행 파일에만 실행 권한 추가
rwx → 8진수·text
rwx = 4+2+1 = 7
rw- = 4+2   = 6
r-x = 4+1   = 5
r-- = 4     = 4
rwxr-xr-x = 755
rw-r--r-- = 644

External links

Exercise

script.sh를 만들고 ls -l script.sh로 초기 모드를 확인해. chmod +x script.shchmod 755 script.sh를 차례로 실행하며 권한 표시가 어떻게 바뀌는지 봐. 실제 SSH 키를 다룰 때는 현재 권한을 먼저 읽고, 필요한 개인 키에만 chmod 600을 적용해.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.