Linux

ls -la 未顯示 mount –bind 文件夾的正確權限

  • June 9, 2017

請閱讀以下步驟以了解我的問題,

執行以下命令

mkdir ~/src
mkdir ~/destination

sudo mount ~/src ~/destination --bind -o ro

src文件夾已綁定安裝到destination文件夾。當我destination使用 nautilus 查看文件夾時,它是只讀的。但是該ll命令為srcdestination文件夾提供相同的文件權限。

這是什麼原因?如何查看“destination”文件夾的實際權限?鸚鵡螺如何將其顯示為只讀?

這裡有兩件事在起作用:

  1. 目錄權限。
  2. 掛載選項。

目錄權限與安裝是只讀的這一事實無關。因此,ls仍然會列出分配給文件夾的權限,而不考慮它的安裝方式。

同樣的,如果我掛載一個文件夾noexecls會顯示裡面的執行檔仍然是可執行的。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

例如,僅獲取安裝點和安裝選項。

引用自:https://unix.stackexchange.com/questions/370164