Fstab

沒有權限 chown /mnt/hdd

  • July 9, 2021

我無權 chown 掛載目錄 /mnt/hdd。我目前以 root 身份登錄。ls -l輸出是:

rwxrwxrwx 1 root root 131072 Jan  1  1970 hdd

我通過 fstab 配置安裝它:

/dev/sda1 /mnt/hdd exfat-fuse defaults 0 0

我正在嘗試通過該命令將該驅動器的所有者分配給 www-data:

root@owncloud:/mnt# chown -R www-data:www-data hdd

它說我無權這樣做。

mount命令輸出:

/dev/sda1 on /mnt/hdd type fuseblk (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other,blksize=4096)

/mnt/hdd是一個 ExFAT 文件系統,它實際上沒有 Unix 風格的文件所有權或權限的概念,因此無法儲存它們。這就是您的chown命令失敗的原因。

顯示的所有權和權限實際上是由驅動程序根據掛載選項ls -l即時創建的。exfat-fuse由於安裝選項的預設列表包括allow_other,驅動程序目前允許系統上的任何使用者完全訪問此文件系統中的所有文件和目錄。

您可以使用該id www-data命令顯示使用者的使用者和組 ID 號www-data。如果www-dataUID 為 33,主 GID 也為 33,則可以將/etc/fstab行更改為:

/dev/sda1 /mnt/hdd exfat-fuse default_permissions,allow_root,uid=33,gid=33,nosuid,nodev,relatime,blksize=4096 0 0

然後解除安裝並重新安裝文件系統:

umount /mnt/hdd
mount /mnt/hdd

現在文件系統中的所有文件和目錄的所有權和權限/mnt/hdd應該已經改變了。

請注意,對於無法儲存 Unix 風格的所有權/權限資訊的文件系統,這種 Unix 所有權和權限模擬僅限於您可以使用掛載選項指定的內容:通常,這意味著所有文件和所有該文件系統中的目錄將具有一組固定的所有權/權限設置,並且根本無法使用chown/chmod命令更改它們。如果這對您來說太不靈活,恐怕唯一的選擇是使用另一種文件系統類型。

這是一個臨時設置,使用 ExFAT 文件系統來保存 Web 伺服器數據(如使用者名所示www-data)可能沒問題。但是,如果這應該是一個永久設置,那麼/dev/sda1在開始使用它之前,您應該認真考慮重新格式化為另一個允許原生 Unix 樣式文件所有權和權限的文件系統類型。

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