SPACE LOGBOOK

OCEAN LOGBOOK

윈도우즈의 파일 소유자

2026.09.14

윈도우즈의 파일 소유자

2026.09.14

리눅스 서버 권한 오류 하나를 고치다가 시작된 대화가, “그럼 윈도우즈 서버는?”이라는 질문으로 이어졌다. 검색해봐도 이 둘을 나란히 놓고 설명하는 글은 잘 보이지 않았다. 그래서 직접 정리해 기록으로 남긴다.

윈도우즈에도 “소유자”가 있을까

결론부터 말하면 있다. 오히려 개념적으로는 리눅스보다 더 정교하다. 리눅스 얘기를 하면서 “이건 여러 사람이 컴퓨터 하나를 같이 쓴다는 전제에서 나온 구조”라고 했었는데, 이 전제 자체는 운영체제를 가리지 않는다. 윈도우즈 서버도 회사에서 여러 부서, 여러 계정이 파일 서버 하나를 같이 쓰는 게 기본 전제이기 때문에, 파일마다 “누가 만들었고 누가 손댈 수 있는가”를 기록해두는 구조가 처음부터 필요했다.

다만 개인용 윈도우즈 PC에서 관리자 계정 하나로만 쓰다 보면 이 구조가 표면에 드러날 일이 없다는 것도 리눅스와 똑같다. “나 혼자 관리자”인 동안은 잠금장치가 있는지조차 모르고 지나가는 것이다.

리눅스 rwx vs 윈도우즈 ACL — 근본적인 차이

윈도우즈 서버(NTFS)의 권한 체계는 ACL(Access Control List, 접근 제어 목록)이라고 부른다. 이름부터 리눅스의 rwx 표기와는 결이 다른데, 실제로 구조도 많이 다르다.

리눅스 (rwx)윈도우즈 서버 (NTFS ACL)
권한 대상소유자 · 그룹 · 기타, 딱 3부류원하는 만큼 계정/그룹을 개별 등록
권한 종류읽기 · 쓰기 · 실행, 3가지읽기 · 쓰기 · 수정 · 삭제 · 권한변경 · 소유권변경 등 세분화
표기 방식rwxr-xr-x 처럼 고정 3자리씩계정별로 허용/거부 목록을 줄줄이 나열
세밀함정해진 틀 안에서 단순 명료계정마다 완전히 다른 조합을 자유롭게 부여 가능

리눅스는 “소유자 1명 / 그룹 1개 / 나머지”로 딱 3분류만 되는데, 윈도우즈 ACL은 예를 들어 “A계정은 읽기만, B계정은 읽기+쓰기, C그룹은 전체 거부, D계정은 쓰기는 되지만 삭제는 안 됨” 이런 식으로 계정마다 원하는 만큼 다른 권한을 붙일 수 있다. 아래는 같은 파일 하나를 두 방식으로 표현했을 때의 차이를 나란히 놓은 것이다.

리눅스 방식 (복습)

– rwx r-x r-x 1  your-user  http  4096  page.php
타입 소유자 그룹 기타

3개의 고정된 칸 안에서만 권한을 정할 수 있다

윈도우즈 방식 — 탐색기 보안 탭을 옮기면

계정 / 그룹 읽기 쓰기 수정 삭제 모든 권한
your-user (소유자) ✓ ✓ ✓ ✓ ✓
다른-계정 ✕ ✕ ✕ ✕ ✕
회계팀 (그룹) ✓ ✕ ✕ ✕ ✕
Administrators ✓ ✓ ✓ ✓ ✓

계정·그룹을 원하는 만큼 줄로 추가하고, 항목별로 각각 체크한다

같은 정보를 표현하는 방식이 이렇게 다르다. 리눅스는 “정해진 3칸 안에서 압축해서” 표현하고, 윈도우즈는 “필요한 만큼 줄을 늘려가며 나열해서” 표현한다. 둘 다 결국 “누가 뭘 할 수 있는가”라는 같은 질문에 답하는 것뿐이다.

계정마다 완전히 다른 방을 쓴다

윈도우즈에 계정을 여러 개 만들면, 다운로드·문서·바탕화면 같은 폴더가 계정 수만큼 통째로 복제되는 게 아니라 애초에 계정별로 완전히 별개의 폴더로 존재한다. “다운로드”라는 이름이 같아서 하나의 공간을 공유하는 것처럼 느껴지지만, 실제 디스크 경로 자체가 다르다.

C:\Users\
  +-- your-user\
  |     +-- Downloads\    (your-user 전용)
  |     +-- Documents\
  |     +-- Desktop\
  |
  +-- other-account\
  |     +-- Downloads\    (other-account 전용, 완전히 별개)
  |     +-- Documents\
  |
  +-- Public\
        +-- Public Downloads\   (모든 계정 공용)
        +-- Public Documents\

그래서 your-user 계정으로 로그인해서 브라우저로 뭔가 내려받으면 C:\Users\your-user\Downloads에 저장되고, other-account로 로그인해서 다운로드 폴더를 열어보면 그 계정 소유의 완전히 다른(대개 비어있는) 폴더가 나타난다. 파일이 사라진 게 아니라, 애초에 안 보이는 게 정상인 구조다.

이 격리는 기본적으로 NTFS 권한(ACL)이 만들어준다. 각 계정 폴더는 “본인 계정과 관리자만 접근 가능”하도록 기본값이 설정되어 있어서, 다른 표준 계정으로는 아예 열람 자체가 막힌다.

예외가 있다. 두 계정이 모두 관리자(Administrator) 권한이면 이 격리가 무력화될 수 있다. 관리자는 원래 권한이 없는 폴더도 “소유권 가져오기(Take Ownership)”로 강제로 열 수 있기 때문이다. 완전히 막고 싶다면 보호할 계정은 관리자로, 상대 계정은 표준 사용자로 역할을 나누는 게 먼저다.

다 함께 볼 수 있는 공간도 있다 — Public 폴더

격리가 기본값이라고 해서 공유가 불가능한 건 아니다. 윈도우즈는 계정 폴더들과 같은 위치에 Public이라는 특수 폴더를 기본으로 마련해뒀다. 이 폴더는 “이 PC의 모든 계정(Users 그룹)”에게 접근이 열려 있도록 처음부터 ACL이 설정되어 있다.

상황방식
같은 PC, 모든 계정이 공통으로C:\Users\Public 활용
같은 PC, 원하는 폴더만 공유직접 만든 폴더 + 보안 탭에서 Users 그룹 권한 부여
여러 PC/서버 간 공유네트워크 공유 + 공유 권한·NTFS 권한 이중 설정

상속(Inheritance) — 폴더의 권한이 파일로 복사되는 이유

Public 폴더 안에 새 파일을 만들면, 그 파일도 자동으로 모든 계정에게 열람이 가능해진다. 이건 폴더의 ACL이 파일에 “적용되는” 게 아니라, 파일이 생성되는 순간 부모 폴더의 ACL을 그대로 복사해서 자기 것으로 저장하기 때문이다. 이 자동 복사 과정을 상속이라고 부른다.

C:\Users\Public\                 ACL: Users 그룹 = 허용   (원본)
    └── 자료.hwp                  ACL: Users 그룹 = 허용   (Public에서 상속받음)
재밌는 함정 하나. ACL(접근 권한)과 소유자(Owner, 누가 만들었나)는 서로 다른 정보다. your-user 계정이 Public 폴더에 파일을 만들면, 그 파일의 소유자는 여전히 “your-user”로 기록되지만(이건 상속되지 않는다), ACL은 Public 폴더에서 상속받아 “Users 그룹 전체 허용”이 붙는다. 그래서 “your-user가 만든 파일인데 다른 계정도 열람 가능”한 상태가 자연스럽게 만들어진다.

폴더 속성 → 보안 탭 → 고급에 들어가면 “상속 사용 안 함”이라는 버튼이 있는데, 이게 바로 이 자동 복사를 끊는 스위치다. 여기서 끊고 나면 그 폴더(와 그 안에서 새로 만들어질 파일들)는 더 이상 부모 폴더를 따라가지 않고 독립적인 권한을 갖게 된다.

세분화된 권한 — “읽기만” vs “수정도 가능”

보안 탭에서 체크할 수 있는 권한 항목들을 정리하면 다음과 같다.

권한의미
읽기파일 내용 열람, 목록 보기
쓰기내용 수정, 새 파일 생성
읽기 및 실행읽기 + 프로그램 실행
수정읽기 + 쓰기 + 삭제 포함
모든 권한 (전체 제어)권한 자체를 바꿀 권한까지 포함

“읽기 및 실행”만 체크하고 “쓰기”·”수정”은 빼면, 그 계정은 열어보기만 되고 고치거나 지울 수는 없는 상태가 된다 — 이론상으로는.

삭제는 파일 권한만으로 안 끝난다. 파일 자체에는 삭제 권한을 안 줬어도, 그 파일이 들어있는 부모 폴더에 “하위 폴더 및 파일 삭제(Delete Subfolders and Files)”라는 특수 권한이 걸려 있으면 삭제가 가능해질 수 있다. 이 특수 권한은 폴더의 “수정” 체크박스 안에 기본 포함되어 있어서, 폴더 쪽에 쓰기 권한을 열어둔 상태라면 개별 파일 권한과 무관하게 뚫릴 수 있다. 확실한 읽기 전용을 원한다면 파일 자체뿐 아니라 부모 폴더의 고급 권한도 함께 확인해야 한다.

애초에 이게 다 “파일 시스템” 안에 내장된 기능이다

여기서 한 가지 짚고 넘어갈 게 있다. NTFS는 원래 FAT32, exFAT과 같은 층위의 개념 — 즉 파일을 디스크에 저장하는 방식(파일 시스템)이다. 그런데 NTFS는 파일을 저장하는 기본 기능에 더해, 각 파일·폴더마다 소유자와 ACL을 기록하는 자리를 파일 시스템 구조 자체에 마련해뒀다. FAT32는 애초에 그런 정보를 저장할 공간 자체가 없다.

파일 시스템소유권/ACL 지원주 용도
FAT32 / exFAT없음 — 누가 꽂든 그냥 다 열림USB, SD카드 등 이동식 저장장치, 기기 간 호환성 중시
NTFS있음 — 파일마다 소유자·ACL 기록윈도우즈 시스템 드라이브, 다중 사용자·서버 환경

그래서 리눅스의 rwx가 ext4라는 파일 시스템 자체에 내장된 기능인 것처럼, 윈도우즈의 ACL도 NTFS라는 파일 시스템 자체에 내장된 기능이다. FAT32 드라이브를 NTFS로 바꾸고 싶으면 관리자 권한 명령 프롬프트에서 아래처럼 변환할 수 있다.

convert D: /fs:ntfs
이 명령어는 기존 데이터를 유지한 채 파일 시스템 구조만 바꾸는 제자리 변환이다. 이론상 안전하지만 변환 중 오류가 나면 손상 위험이 있어 사전 백업이 권장되고, 되돌리기(NTFS → FAT32)는 지원되지 않는 단방향 작업이다. 반대로 완전히 새로 포맷하는 방식은 데이터가 전부 지워지는 대신 더 확실하다.

일반 가정용 윈도우즈(10, 11 등)의 C드라이브도 기본적으로 NTFS다. 그러니 “서버용 파일 시스템을 가져다 썼다”기보다, 원래 윈도우즈가 기본으로 쓰는 방식을 이동식 저장장치에도 똑같이 적용한 것에 가깝다. 다만 개인 PC에서 관리자 혼자 쓸 때는 그 안에 내장된 ACL이 딱히 어떤 제약도 걸지 않을 뿐이다.

이 문에는 원래 자물쇠(ACL)가 달려 있다. 근데 집에 나 혼자 살면(관리자 혼자 쓰면) 잠글 일이 없어서 자물쇠 존재 자체를 잊고 지내는 것과 같다. 서버는 여러 사람이 같이 사는 집이라 그 자물쇠가 실제로 쓰이는 것이다.

정리

리눅스든 윈도우즈든, 파일에 소유자와 권한이라는 개념이 붙는 이유는 결국 하나다 — 여러 사용자가 하나의 시스템을 함께 쓸 때, 누가 무엇을 볼 수 있고 손댈 수 있는지를 파일 하나하나에 명시해둬야 하기 때문이다. 그 구현 방식이 다를 뿐이다.

  • 리눅스는 소유자·그룹·기타 3칸에 rwx를 압축해서 표기한다
  • 윈도우즈는 계정·그룹별로 원하는 만큼 줄을 늘려가며 세밀하게 나열한다(ACL)
  • 개인 PC에서 안 보이던 게 서버로 가면 드러나는 이유도 똑같다 — “혼자 쓰는 컴퓨터”라는 전제가 깨지는 순간 이 구조가 필요해지기 때문이다

Permission denied 한 줄에서 시작한 질문이, 결국 두 운영체제가 “공유”라는 같은 문제를 서로 다른 방식으로 풀어온 이야기로 이어졌다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 기록은 여기까지지만,
생각은 아직 이동 중이다