I have a question about mount in Linux Fedora. I have a mount point inside my home directory. The mount point is at /home/user/project and in fstab I have added the line:
/dev/mapper/fedora-proj /home/user/project ext4 defaults 1 2
The directory /home/user/project has the file permissions 0755 and it is owned by user. But when I do 'mount -a', the directory owner gets changed to root and the permissions are 777. I know ext2/3/4 do not have uid= and gid= options, but why is the mounting point receives hard coded file permissions during mount and how can I change it?
P.S
The test was made on Fedora 25. When I am doing the exact same procedure on Fedora 23 I see a different behavior: the mount directory permissions are changing to 755 (before mount it is 0777)
答え1
マウントポイントのルートの権限は、マウントされたファイルシステムに保存されます (実際にはこの方法では意味があります。そうでなければ、ルート ディレクトリの権限はどこに/
保存されるのでしょうか?)。権限は通常の方法で変更します: chmod
、、chown
など。
マウントする前は、親ファイルシステム上のマウントポイント ディレクトリの権限が表示されます。マウント後は、マウントされたファイルシステムのルートの権限が表示されます。
例: 2 つのファイルシステムがあります。
FS-A FS-B
/ /
/mnt /file1
/foo /file2
/etc
⋮
両方のファイルシステムには、/
他のすべての (Unix) ファイルシステムと同様に、最上位/ルート ディレクトリ ( ) があることに注意してください。FS-A には、2 つのサブディレクトリ (/mnt
と/etc
) があり、/mnt
サブディレクトリ があります/mnt/foo
。FS-B には、2 つのファイル/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
/
PS: fstab 行にファイルシステムの種類がありません。オプション ( defaults
) の前に記述する必要があります。