Linux

無法在最近創建的 EXT4 分區上寫入

  • April 16, 2015

在一個新的外部硬碟驅動器(Intenso 05-1204-18A)上,我(使用 GParted)製作了兩個分區:

Disk /dev/sdc: 931.5 GiB, 1000204883968 bytes, 1953525164 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfa00a60d

Device     Boot    Start        End    Sectors   Size Id Type
/dev/sdc1           2048   50794495   50792448  24.2G  b W95 FAT32
/dev/sdc2       50794496 1953523711 1902729216 907.3G 83 Linux

(我使用的是 Linux 3.19.3-3-ARCH GNU/Linux)

當我安裝第一個(通過使用文件管理器,但它也適用於終端)時,我可以看到:

drwxr-x---+ 3 felicien felicien    60 Apr 16 16:31 .
drwxr-xr-x  3 root     root        60 Apr 16 15:58 ..
drwxr-xr-x  4 felicien felicien 16384 Jan  1  1970 INTENSO WIN

我可以 mkdir 和此目錄中的所有內容。當我安裝第二個時:

drwxr-x---+ 4 felicien felicien    80 Apr 16 16:32 .
drwxr-xr-x  3 root     root        60 Apr 16 15:58 ..
drwxr-xr-x  4 felicien felicien 16384 Jan  1  1970 INTENSO WIN
drwxr-xr-x  3 root     root      4096 Apr 16 16:02 Intenso Linux

我必須 chown 目錄才能寫入它。為什麼我擁有 FAT32 而不是 EXT4 的權限?

謝謝。

fat32 文件系統沒有所有權或權限的概念。手冊頁mount列出了這些選項,有助於使其看起來更接近 Unix 使用者的期望:

uid=value and gid=value
      Set the owner and group of all files.  (Default: the uid and gid
      of the current process.)

umask=value
      Set the umask (the bitmask  of  the  permissions  that  are  not
      present).  The default is the umask of the current process.

因此,當您安裝它時,它已安裝了您的使用者 ID、組 ID 和 umask(我猜是022)。所有文件和目錄都將歸您所有,並具有權限rwxr-xr-x

另一方面,ext4 是一個經典的 Unix 文件系統,用於儲存使用者 ID、組 ID 和權限資訊。如果您在以 root 身份執行時創建目錄,它將歸 root 所有,直到您使用chown它來更改它。您可以更改其他權限,使用chmod, 使對象可被多個使用者寫入。

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