Linux
ls -la 未顯示 mount –bind 文件夾的正確權限
請閱讀以下步驟以了解我的問題,
執行以下命令
mkdir ~/src mkdir ~/destination sudo mount ~/src ~/destination --bind -o ro
src
文件夾已綁定安裝到destination
文件夾。當我destination
使用 nautilus 查看文件夾時,它是只讀的。但是該ll
命令為src
和destination
文件夾提供相同的文件權限。這是什麼原因?如何查看“destination”文件夾的實際權限?鸚鵡螺如何將其顯示為只讀?
這裡有兩件事在起作用:
- 目錄權限。
- 掛載選項。
目錄權限與安裝是只讀的這一事實無關。因此,
ls
仍然會列出分配給文件夾的權限,而不考慮它的安裝方式。同樣的,如果我掛載一個文件夾
noexec
,ls
會顯示裡面的執行檔仍然是可執行的。noexec
使用(或ro
在您的情況下)安裝文件夾不會更改文件和目錄的權限。文件管理器似乎更聰明,並且知道該目錄是只讀安裝的。它顯然不僅僅是查詢權限位來找出這一點。
來自評論:“在我的案例中,我想使用 shell 命令讀取掛載權限”。
該命令
mount
,不帶任何選項,將輸出所有目前掛載的分區及其掛載選項:$ mount sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) udev on /dev type devtmpfs (rw,nosuid,relatime,size=32841600k,nr_inodes=8210400,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=6572324k,mode=755) (etc.)
掛載選項列在括號中。
您還可以調查
/etc/mtab
目前掛載的文件系統。該文件具有與 相同的格式/etc/fstab
,因此您可以這樣做awk '{ print $2, $4 }' /etc/mtab
例如,僅獲取安裝點和安裝選項。