嘗試使用 rwx 權限在已安裝的磁碟機上寫入時被拒絕

嘗試使用 rwx 權限在已安裝的磁碟機上寫入時被拒絕

我在 /etc/fstab 中使用以下命令安裝網路磁碟機:

$ sudo nano /etc/fstab
//XXX.XXX.XXX.XXX      /mnt/bilder     cifs    auto,username=XXXX,password=XXXX,vers=3.0,uid=1000,gid=1000,file_mode=0777,dir_mode=0777 0 0

效果完美。當我現在檢查 /mnt 上的權限時

$ ls -la /mnt
total 8
drwxr-xr-x  3 root root 4096 Jun 23 13:37 .
drwxr-xr-x 22 root root 4096 Jul 12 14:16 ..
drwxrwxrwx  2 pi   pi      0 Aug  1 15:04 bilder

那麼 pi 使用者(我登入的使用者)似乎擁有作為所有者的 rwx 權限。事實上每個人都應該有rwx。

但當我現在嘗試觸摸 /mnt/bilder 時,我被拒絕了

$ touch /mnt/bilder/test
touch: cannot touch '/mnt/bilder/test': Permission denied

這是如何以及為何如此?

答案1

當您掛載 SMB 共用時,不會顯示真實的 Windows 檔案權限。您看到的只是 fstabfile/dir_mode選項告訴 CIFS 客戶端的內容展示,但這些選項不允許您繞過安全性。

(Windows/SMB 檔案權限比普通檔案權限更廣泛rwx,需要不同的工具(例如「getcifsacl」)才能正確顯示。)

然而,實際的存取檢查仍然由伺服器根據透過 Windows 設定的檔案權限來完成,並且根據username=您用於裝載共用的使用者帳戶 ( ) 進行檢查。

即使伺服器在 Linux 上運行 Samba,同樣的情況也適用:所有存取檢查都是基於帳戶的,儘管客戶端可以顯示真實的 Linux 檔案權限(如果它有足夠新的核心支援此 SMBv3 擴充功能),它無法覆蓋它們。

相關內容