Son*_*dar 5 permissions fstab mount 12.04
这是我的分区设置。为了便于阅读,我缩短了 UUID,并且在有人询问之前,我已经仔细检查了我是否将正确的 UUID 复制到 /etc/fstab 中。
me@ubuntu:/$ sudo blkid
/dev/sda1: UUID="a6205dda..." TYPE="ext3"
/dev/sda2: UUID="99397b94..." TYPE="ext3" LABEL="DATA1" SEC_TYPE="ext2"
/dev/sda3: UUID="135523f8..." TYPE="ext3" LABEL="DATA2" SEC_TYPE="ext2"
/dev/sda4: UUID="a1e4d70f..." TYPE="swap"
Run Code Online (Sandbox Code Playgroud)
这是我的 fstab 的配置方式:
me@ubuntu:/media/DATA2$ cat /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
UUID=a6205dda... / ext3 errors=remount-ro 0 1
UUID=99397b94... /media/DATA1 ext3 rw,nosuid,nodev,user 0 0
UUID=135523f8... /media/DATA2 ext3 rw,nosuid,nodev,user 0 0
UUID=a1e4d70f... none swap sw 0 0
Run Code Online (Sandbox Code Playgroud)
(fstab 中的空格重要吗?例如,每个字段是否必须由单个制表符分隔?或任意数量的制表符?)
我已经为 /media 目录中的分区设置了挂载点:
me@ubuntu:/media$ ls -al
drwxr-xr-x 4 root root 4096 Feb 18 09:17 .
drwxr-xr-x 23 me me 4096 Feb 13 10:08 ..
drwxr-xr-x 2 me me 4096 Feb 13 16:03 DATA1
drwxr-xr-x 2 me me 4096 Feb 13 16:03 DATA2
Run Code Online (Sandbox Code Playgroud)
多亏了 fstab 中的条目,我可以以普通用户身份挂载分区,没有任何问题:
me@ubuntu:/media$ mount DATA1
me@ubuntu:/media$ mount DATA2
me@ubuntu:/media$ mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
/dev/sda2 on /media/DATA1 type ext3 (rw,noexec,nosuid,nodev,user=me)
/dev/sda3 on /media/DATA2 type ext3 (rw,noexec,nosuid,nodev,user=me)
Run Code Online (Sandbox Code Playgroud)
但问题是:DATA2 以 root 身份挂载,这意味着我没有写权限。为什么会有不同,我该怎么做才能确保 DATA2 以与 DATA1 相同的权限安装?
me@ubuntu:/media$ ls -al
drwxr-xr-x 4 root root 4096 Feb 18 09:17 .
drwxr-xr-x 23 me me 4096 Feb 13 10:08 ..
drwxrwxrwx 10 me me 4096 Feb 18 09:20 DATA1
drwxr-xr-x 3 root root 4096 Feb 13 13:57 DATA2
Run Code Online (Sandbox Code Playgroud)
作为参考,我使用的是 Ubuntu 12.04.2 LTS。此外,我挂载分区的顺序对其权限没有影响;他们总是拥有上面显示的权限。
由于 ext3 文件系统支持 Unix 风格权限,因此将使用存储在文件系统上的权限,就像您的/
分区上一样。
如果您希望其中的所有文件DATA2
及其子文件夹都属于me
您可以使用的用户和组
chown -R me:me /media/DATA2
Run Code Online (Sandbox Code Playgroud)
改变所有者。