使用用户权限/所有权自动挂载 ext4 分区(fstab?)

Chr*_*phe 32 permissions partitioning fstab ext4 automount

  1. 我刚刚在 Acer Aspire One D257 上安装了 Lubuntu 12.10“Quantal Quetzal”,创建了分区:

    $ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda5        15G  2.1G   12G  15% /
    ...
    /dev/sda1      1008M   62M  896M   7% /boot
     /dev/sda6        15G  180M   14G   2% /home
    /dev/sda4       195G  188M  185G   1% /media/data
    
    Run Code Online (Sandbox Code Playgroud)

    (或查看 partitions.png :)

    分区.png

    (我知道引导分区对旧的 bios 很有用,但现在它们也可用于加密、LVM ......(虽然与专用的 GRUB 分区不同!))

  2. 我重命名了“数据”分区(= sda4)标志/名称(使用实用程序磁盘)。

  3. 我已经尝试了几个小时来找到解决方案:

    如何让我的数据分区(不是我的主分区!)在启动时自动挂载在某个地方(如果可能,在 /media/data 中),我(用户 = christophe)作为所有者,权限为 rwxrwxr-x(=用户: rwx,组:rwx,其他:rx)?

  4. 我的问题是每次重新启动时:

    • /media/data 回到 root 所有权
    • /media/data 回到 rwxr-xr-x 权限下
    • /media/data 内容又回来了,就像丢失+找到一样(!!!)
    • 经常,在尝试选项时/etc/fstab,我在启动时遇到“挂载 /media/data 时出错”
  5. 我主要尝试编辑我的/etc/fstab文件。现在它是:

    $ cat /etc/fstab
    # /etc/fstab: static file system information.
    #
    # Use 'blkid' to print the universally unique identifier for a
    # device; this may be used with UUID= as a more robust way to name devices
    # that works even if disks are added and removed. See fstab(5).
    #
    # <file system> <mount point>   <type>  <options>       <dump>  <pass>
    # / was on /dev/sda5 during installation
    UUID=8325697c-2c27-49dd-99f8-2a1a3e1467be /               ext4    errors=remount-ro 0       1
    # /boot was on /dev/sda1 during installation
    UUID=3ba24cc6-e38b-48d9-b526-68358783d980 /boot           ext4    defaults        0       2
    # /home was on /dev/sda6 during installation
    UUID=1ef16ece-0965-4611-a2e5-dd687f4ee5ff /home           ext4    defaults        0       2
    # /media/data was on /dev/sda4 during installation
    # UUID=0598f54b-dcf8-4508-97de-94d9f2c5e2a8 /media/data   ext4    defaults        0       2
    UUID=0598f54b-dcf8-4508-97de-94d9f2c5e2a8 /media/data     ext4    rw,suid,dev,exec,auto,user,async,errors=remount-ro,relatime,uid=1000,gid=1000        0       2
    # swap was on /dev/sda2 during installation
    UUID=04f73159-479d-4a4b-a78c-37a406909225 none            swap    sw              0       0
    
    Run Code Online (Sandbox Code Playgroud)
  6. 在某种程度上,我希望我的数据分区像我的主分区一样自动挂载。

  7. 我不想要一个解决方案,每次我(重新)启动我都必须 chmod 或 chown 或做一些事情!

谢谢。

psu*_*usi 19

ext[234] 没有 uid 选项。如果要更改文件的权限,则必须使用chown/chmod.

sudo chown -R myname.myname /media/data/
Run Code Online (Sandbox Code Playgroud)

  • @Christophe,您需要在安装分区时执行此操作,而不是之前。 (5认同)
  • @Christophe,效果是永久性的,而不是你必须反复做的事情。 (2认同)

Chr*_*phe 15

我认为关键是安装/mnt/data或安装/media/username/data(在我的情况下,用户名 = christophe)!!!我不知道它为什么会起作用,但似乎确实如此......

“作品”的定义:

  1. 让我的数据分区在启动时在location(media/christophe/data/mnt/data) 中以user_name(= me = christophe) 作为所有者自动挂载。(注意:我还没有处理权限(如 rwxr--r-- (= user:rwx, group:r--, other:r--)))。

  2. 每次我重新启动时:

    • 所有者location不是 root,而是user_name(我,克里斯托夫)
    • 内容的location内容没有被清除,而是持久化
    • 启动时没有“安装时发生错误......”
    • 解决方案是一次性解决方案,而不是每次

解决方案:

  1. 中的解决方案/mnt/

    • 编辑/etc/fstab(例如$ sudo nano /etc/fstab)并添加以下行:

      UUID=your_uuid_value  /mnt/data       ext4    defaults        0       2
      
      Run Code Online (Sandbox Code Playgroud)
    • 重新启动前仔细检查:

      $ ls -l /mnt/
      total 0
      
      Run Code Online (Sandbox Code Playgroud)
    • 重启

    • 重新启动后仔细检查:

      $ ls -l /mnt/
      total 4
      drwxr--r-- 2 christophe christophe 4096 Dec 26 04:02 data
      $ ls -l /mnt/data/
      total 4
      -rw-rw-r-- 1 christophe christophe 6 Dec 26 04:07 1.txt
      
      Run Code Online (Sandbox Code Playgroud)
    • 结论:它确实有效,但它不会在文件管理器(nautilus、PCManFM 等)中显示为媒体 [参见 file_manager.png]

  2. 解决方案/media/username

    • 在终端:

      $ sudo mkdir -p /media/username/
      
      Run Code Online (Sandbox Code Playgroud)

      或者,就我而言:

      $ sudo mkdir -p /media/christophe/
      
      Run Code Online (Sandbox Code Playgroud)
    • 重新启动前仔细检查:

      $ ls -l /media/
      total 4
      drwxr-xr-x 3 root root 4096 Dec 26 04:25 christophe
      $ ls -l /media/christophe/
      total 0
      
      Run Code Online (Sandbox Code Playgroud)
    • 编辑/etc/fstab(例如$ sudo nano /etc/fstab)并添加以下行:

      UUID=your_uuid_value  /media/christophe/data       ext4    defaults        0       2
      
      Run Code Online (Sandbox Code Playgroud)
    • 重启

    • 重新启动后仔细检查:

      $ ls -l /media/
      total 4
      drwxr-xr-x 3 root root 4096 Dec 26 04:25 christophe
      $ ls -l /media/christophe/
      total 4
      drwxr--r-- 2 christophe christophe 4096 Dec 26 04:31 data
      $ ls -l /media/christophe/data/
      total 4
      -rw-rw-r-- 1 christophe christophe 6 Dec 26 04:37 2.txt
      
      Run Code Online (Sandbox Code Playgroud)
    • 结论:它确实有效,并且确实在文件管理器(nautilus、PCManFM 等)中显示为媒体 [参见 file_manager.png]文件管理器.png

请随时向此线程添加任何评论、问题或建议。我在这方面损失了很多时间,我希望它会帮助其他人。特别是,我很想知道它为什么有效......

干杯。

  • 我尝试了第二个解决方案(在我的情况下是`/media/paolo/SDISO`)**但是**我必须在挂载时执行 `chown paolo:paolo /media/paolo/SDISO`,并且只有一次,如 *psusi * 说过。否则,在重启和自动挂载后,我的挂载点归 root 所有,ro 归 paolo。我希望这有帮助! (2认同)
  • 不必是/media/user,任何位置都可以,例如挂载在/media/usbkey,然后`sudo chown user:user /media/usbkey`,然后重新挂载它将归用户所有。 (2认同)