Linux에서의 마운트 권한

Linux에서의 마운트 권한

Linux Fedora에 마운트하는 것에 대해 질문이 있습니다. 내 홈 디렉토리에 마운트 지점이 있습니다. 마운트 지점은 /home/user/project에 있고 fstab에 다음 줄을 추가했습니다.

/dev/mapper/fedora-proj /home/user/project ext4 defaults 1 2

/home/user/project 디렉토리의 파일 권한은 0755이며 사용자가 소유합니다. 그러나 "mount -a"를 수행하면 디렉토리 소유자가 루트로 변경되고 권한은 777입니다. ext2/3/4에는 uid= 및 gid= 옵션이 없다는 것을 알고 있지만 파일 설치 중에 마운트 지점이 하드코딩된 권한을 받는 이유와 이를 변경하는 방법은 무엇입니까?

폴리스티렌

본 테스트는 Fedora 25에서 진행되었습니다. Fedora 23에서 똑같은 절차를 수행하면 다른 동작이 나타납니다. 마운트 디렉터리 권한이 755로 변경됩니다(마운트하기 전에는 0777이었습니다).

답변1

마운트 지점의 루트에 대한 권한은 마운트된 파일 시스템에 저장됩니다(실제로는 의미가 있습니다. 그렇지 않으면 /루트에 대한 권한이 어디에 저장됩니까?). 일반적인 방법으로 변경할 수 있습니다: chmod, chown등.

마운트하기 전에 상위 파일 시스템의 마운트 지점 디렉터리에 대한 권한을 볼 수 있습니다. 설치 후에는 마운트된 파일 시스템의 루트 디렉터리에 대한 권한이 표시됩니다.

예: 두 개의 파일 시스템이 있습니다.

FS-A             FS-B
/                /
  /mnt             /file1
    /foo           /file2
  /etc           

/모든 (Unix) 파일 시스템과 마찬가지로 이들은 모두 최상위/루트 디렉토리( )를 가지고 있습니다 . FS-A에는 두 개의 하위 디렉터리(그림 참조)( /mnt/etc) 가 있고 /mnt하나의 하위 디렉터리가 있습니다 /mnt/foo. FS-B에는 두 개의 파일 /file1도 있습니다 /file2. Unix 파일 시스템이므로 이러한 모든 디렉토리와 파일에는 사용자, 그룹 및 권한이 있습니다. 이제 FS-A를 루트 파일 시스템으로 설정하고 여기에 FS-B를 마운트해 보겠습니다 /mnt/foo. 그러면 우리는 다음을 얻습니다:

/                   # FS-A /
  /mnt              # FS-A /mnt
    /foo            # FS-A /mnt/foo *or* FS-B /
      /file1        # FS-B /file1
      /file2        # FS-B /file2
  /etc              # FS-A /etc

무엇인지 선택하는 방법에 유의하세요 . FS-A에서 /mnt/foo가져올 수도 있고 FS-B에서 가져올 수도 있습니다. 둘 다 정확히 같은 경로를 가지고 있습니다. Unix 설계자들은 FS-B를 선택했습니다./mnt/foo/

추신: fstab 줄에 파일 시스템 유형이 없습니다. 옵션( ) 앞에 와야 합니다 defaults.

관련 정보