리눅스 사용자라면 패키지를 설치하거나 명령을 실행할 때 다음과 같은 메시지를 본 적이 있을 것입니다.
$ apt install vim
E: Could not open lock file /var/lib/dpkg/lock-frontend - open (13: Permission denied)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
이는 패키지를 설치할 권한이 없기 때문입니다. 이 게시물에서는 리눅스에서 파일과 폴더 권한을 관리하는 방법에 대해 설명하겠습니다.
권한이 필요한 이유
리눅스는 다중 사용자 운영 체제입니다. 즉, 여러 사용자가 동시에 같은 컴퓨터를 사용할 수 있습니다.
가정 내에 단 하나의 컴퓨터가 있고 가족들과 함께 공유한다고 가정해봅시다. 경우에 따라서는 가치 있는 파일에 대한 다른 사람들의 접근을 제한하고 싶을 수 있습니다. 여기서 권한이 필요합니다.
권한은 파일이나 폴더에 접근할 수 있는 사용자를 결정하는 규칙의 집합입니다.
권한의 종류
권한에는 세 가지 종류가 있습니다.
- 읽기 (r)
- 쓰기 (w)
- 실행 (x)
권한 표기법
예를 들어, 파일이 읽기 전용이면 r--
으로 표시됩니다.
파일이 읽고 쓰기가 가능하다면 rw-
로 표시됩니다.
파일이 읽기, 쓰기, 실행이 가능하다면 rwx
로 표시됩니다.
숫자로 표현된 권한
권한은 숫자로 나타낼 수도 있습니다.
각 권한은 이진수로 된 숫자로 할당됩니다.
예를 들어, rwx
는 이진수로는 111
이며, 이는 십진수로는 7
입니다.
rw-
는 이진수로는 110
이며, 이는 십진수로는 6
입니다.
r--
는 이진수로는 100
이며, 이는 십진수로는 4
입니다.
권한 관리하기
파일이나 폴더의 권한은 소유자(owner), 그룹(group), 다른 사용자(others) 에 의해 관리됩니다.
소유자, 그룹, 다른 사용자 확인하기
파일이나 폴더의 소유자, 그룹, 다른 사용자를 확인하려면 ls -l
명령을 사용합니다.
$ ls -l example.txt
-rw-r--r-- 1 tux parents 0 Jan 9 14:00 example.txt
이 예에서 소유자는 tux
이고, 그룹은 parents
입니다.
그리고 파일의 권한은 rw-r--r--
입니다.
조금 무섭게 보일 수 있지만, 실제로는 간단합니다.
권한을 세 부분으로 나눌 수 있습니다.
rw-
, r--
, 그리고 r--
입니다.
첫 번째 부분은 소유자의 권한, 두 번째 부분은 그룹의 권한, 세 번째 부분은 다른 사용자의 권한입니다.
따라서 이 권한은 644
로도 표시할 수 있습니다.
소유자 변경하기
파일이나 폴더의 소유자를 변경하려면 chown
명령을 사용합니다.
$ chown [owner] [file]
그룹 변경하기
파일이나 폴더의 그룹을 변경하려면 chgrp
명령을 사용합니다.
$ chgrp [group] [file]
권한 변경하기
파일이나 폴더의 권한을 변경하려면 chmod
명령을 사용합니다.
$ chmod [permission] [file]
예를 들어, 파일을 소유자에게 읽기, 쓰기, 실행 가능하게 만들고, 그룹에게 읽기 가능하게, 다른 사용자에게는 읽기만 가능하게 하려면 chmod 744 example.txt
를 사용할 수 있습니다.
더 간편하게 수정하려면 +
와 -
를 사용하여 권한을 추가하거나 제거할 수 있습니다.
$ chmod u+x example.txt # 소유자에게 실행 권한 추가
$ chmod g-w example.txt # 그룹의 쓰기 권한 제거
$ chmod o-r example.txt # 다른 사용자의 읽기 권한 제거
결론
이 게시물에서는 리눅스에서 파일과 폴더 권한을 관리하는 방법을 설명했습니다. 질문이나 제안 사항이 있으시면 아래 댓글을 남겨주세요.
이 게시물은 2024 동계 모각소 활동을 위해 작성되었습니다.