리눅스를 처음 접하는 사용자에게 가장 혼란스럽고 답답하게 느껴지는 개념 중 하나가 바로 파일 시스템 권한입니다. 예전에는 리눅스 시스템에서 파일 권한을 변경하려면 터미널에 난해한 명령어를 직접 입력해야 했지만, 요즘은 GNOME이나 KDE Plasma 같은 데스크톱 환경 덕분에 이러한 설정을 손쉽게 확인하고 조정할 수 있습니다.
이 글에서는 각 파일 권한 설정이 어떤 의미를 가지는지 설명하고, 네 가지 주요 리눅스 데스크톱 환경인 GNOME, Plasma, Cinnamon, XFCE에서 이를 조정하는 방법을 소개합니다.
리눅스 파일 권한의 기본
리눅스 파일 시스템에는 기본적으로 네 가지 권한 옵션이 있습니다. 다음 권한 설정을 활용하면 디렉터리와 개별 파일 모두에 대한 접근을 제한하거나 허용할 수 있습니다.
- 권한 없음(None)
- 읽기 전용
- 읽기 및 쓰기
- 실행 가능
이러한 권한은 세 가지 유형의 사용자에게 개별적으로 부여할 수 있습니다. 첫째는 파일 소유자, 둘째는 특정 그룹에 속한 사용자, 셋째는 소유자도 아니고 권한이 정의된 그룹에도 속하지 않는 나머지 모든 사용자입니다. 이 글에서는 마지막 유형을 '공개 사용자'라고 부르겠습니다.
다음은 각 권한 설정의 효과에 대한 간단한 설명입니다.
권한 없음(No Permission)
'권한 없음'은 그룹과 공개 사용자에게만 설정할 수 있습니다. 소유자는 자신이 소유한 모든 파일에 대해 최소한 읽기 전용 권한을 항상 갖습니다.
사용자가 파일이나 디렉터리에 접근할 권한이 없으면 해당 항목은 사용자에게 보이지 않습니다. 디렉터리 목록에 표시되지 않으며, 설령 존재를 알고 있다 하더라도 직접 접근할 수 없습니다.
읽기 전용 파일 권한
이름 그대로, 읽기 전용 권한을 가진 사용자는 지정된 파일이나 디렉터리를 읽을 수만 있고 쓰기, 수정, 삭제는 할 수 없습니다.
소유자의 권한이 읽기 전용으로 설정되어 있으면 항목을 수정하거나 삭제하려고 할 때 시스템이 경고를 표시합니다. 다만 필요하다면 읽기 전용 상태를 무시하고 진행할 수는 있습니다.
읽기 및 쓰기 파일 권한
읽기 및 쓰기 권한이 있으면 사용자나 그룹이 해당 항목에 접근하고, 생성하고, 수정하고, 삭제할 수 있습니다. 누군가에게 디렉터리에 대한 쓰기 권한을 부여해 새 파일을 만들 수 있게 하면서도, 보호가 필요한 디렉터리 내부의 개별 파일에는 쓰기 권한을 제한하는 식의 세부적인 설정도 가능합니다.
실행 가능 파일 권한
실행 권한은 사용자가 스크립트나 바이너리 파일을 프로그램으로 실행할 수 있게 해주는 특수 설정입니다. 예를 들어 애플리케이션을 실행하는 파일들은 파일 시스템에서 실행 가능으로 설정되어 있습니다.
GNOME에서 리눅스 파일 권한 변경하기
GNOME 데스크톱에서 파일 권한을 변경하려면 GNOME 파일 관리자를 연 뒤, 수정하려는 파일이나 디렉터리를 마우스 오른쪽 버튼으로 클릭하고 속성(Properties)을 선택합니다.
그러면 선택한 파일이나 디렉터리에 대한 정보를 보여주고 일부 속성을 수정할 수 있는 대화상자가 나타납니다.
파일 속성 대화상자에서 상단의 권한(Permissions) 탭으로 전환합니다. 권한 탭에서는 소유자, 그룹, 기타 사용자(소유자나 접근 권한이 있는 그룹의 구성원이 아닌 모든 사람)에 대한 파일 권한을 변경할 수 있습니다.
대화상자 하단의 실행(Execute) 확인란을 체크하면 접근 권한이 있는 사용자가 해당 파일을 프로그램이나 스크립트로 실행할 수 있습니다.
KDE Plasma에서 파일 권한 변경하기
Plasma에서 권한 설정에 접근하는 방법은 위와 동일합니다. 파일 관리자를 열고 수정하려는 파일이나 디렉터리를 찾은 뒤 아이콘을 마우스 오른쪽 버튼으로 클릭합니다.
열린 컨텍스트 메뉴에서 목록 맨 아래의 속성(Properties)을 클릭하면 아래와 같은 대화상자가 나타납니다.
대화상자 상단의 권한(Permissions) 탭을 클릭하면 소유자, 그룹, 기타 사용자에 대한 권한을 설정할 수 있는 옵션이 제공됩니다.
Plasma는 약간 다른 용어를 사용하지만 권한의 의미는 모두 같습니다. 접근 불가(No Access), 보기 전용(Can Only View), 보기 및 수정 가능(Can View & Modify) 중에서 선택할 수 있습니다. 세 가지 권한 옵션 아래에는 필요한 경우 파일을 실행 가능하게 만드는 확인란도 있습니다.
Cinnamon에서 파일 권한 변경하기
대부분의 다른 리눅스 데스크톱 환경과 마찬가지로, Cinnamon에서 파일 권한 설정에 접근하려면 파일 관리자를 열고 설정하려는 파일이나 디렉터리를 찾아 마우스 오른쪽 버튼으로 클릭해야 합니다.
속성(Properties) 옵션을 클릭하면 Cinnamon이 아래와 같은 설정 대화상자를 표시합니다.
Cinnamon은 GNOME을 기반으로 만들어졌기 때문에 파일 권한 구성 대화상자가 GNOME과 거의 동일합니다. 상단 중앙의 권한(Permissions) 탭을 클릭하기만 하면 됩니다. 이후 세 가지 사용자 유형 각각에 대해 없음(None), 읽기 전용(Read-only), 읽기 및 쓰기(Read and write) 중에서 선택할 수 있습니다. 하단에는 항목을 실행 가능하게 설정하는 확인란도 마련되어 있습니다.
XFCE에서 파일 권한 변경하기
XFCE 데스크톱에서도 파일 관리자를 열고 작업하려는 파일이나 디렉터리를 찾아 해당 항목을 마우스 오른쪽 버튼으로 클릭한 후, 나타나는 컨텍스트 메뉴에서 속성(Properties)을 선택하면 파일과 디렉터리 권한을 변경할 수 있습니다.
아래와 같이 속성 대화상자가 열리고, 작업 중인 항목의 권한 설정을 변경할 수 있습니다.
먼저 대화상자 상단의 권한(Permissions) 탭을 클릭해 파일 및 디렉터리 권한 설정을 불러옵니다. 앞서 소개한 모든 데스크톱 환경과 마찬가지로 없음(None), 읽기 전용(Read-only), 읽기 및 쓰기(Read & Write) 중에서 선택할 수 있습니다. 여기에 XFCE는 쓰기 전용(Write-only)으로 권한을 설정할 수 있는 네 번째 옵션까지 제공합니다.
이 파일을 프로그램으로 실행 허용(Allow this file to run as a program)을 체크하면 해당 파일에 실행 권한을 부여할 수 있습니다.
리눅스 파일 권한을 이해하면 시스템을 완벽하게 통제할 수 있습니다
파일 권한을 확인하고 변경하는 방법을 알면 리눅스 시스템의 프로그램과 정보에 대해 누가 무엇을 할 수 있는지 완벽하게 통제할 수 있습니다. 데스크톱 파일 관리자를 활용하면 가장 일반적으로 사용되는 파일 권한을 손쉽게 설정할 수 있습니다.
다만 파일 시스템 권한에 대해 더욱 세밀한 제어가 필요하다면 명령줄에서 더 많은 옵션을 활용할 수 있습니다. 다행히 리눅스 명령줄 활용 능력을 한 단계 끌어올리는 데 도움이 되는 글도 많이 준비되어 있으니 참고해 보시기 바랍니다.