在 Ubuntu 上不以 root 身份挂载 exFat 驱动器

在 Ubuntu 上不以 root 身份挂载 exFat 驱动器

我意识到当我尝试打开我的内部驱动器(一些 exFat)时,Ubuntu 会自动安装它们。这很好。

但是,它是以“root”身份挂载的,我想以当前用户身份挂载它。有没有办法通过某些配置使其不以 root 身份挂载,还是我必须以命令的形式执行?

谢谢

答案1

运行 exFAT 的软件

根据 Ubuntu 或基于 Ubuntu 的操作系统的版本,您可能需要或不需要安装以下程序包,

sudo apt-get install exfat-utils exfat-fuse

请参阅此链接了解更多详细信息,

如何将大于 4GB 的文件复制到 USB 闪存驱动器?

安装 exFAT

许多版本的 Ubuntu 和基于 Ubuntu 的操作系统都会自动为 root 以及当前用户挂载具有读/写权限的 Microsoft 文件系统(FAT32、exFAT、NTFS)。

但有些版本(Ubuntu 和基于 Ubuntu 的操作系统)会只为 root 用户设置写入权限(或根本没有权限)。然后,您可以使用以下命令卸载并重新安装(挂载)文件系统,

创建挂载点(仅当您想要一个新的挂载点时)

sudo mkdir -p /mnt/sd1

卸载(仅当已经安装时)

sudo umount /dev/sdxn   # general syntax
sudo umount /dev/sdb1   # modify to match your case

检查你的用户 IDuid(通常为 1000,有时为 1001 或 1002...)

grep ^"$USER" /etc/group

如果您想获得所有权,请使用该数字(默认为root)。

mount 命令行示例这应该会给你一些接近你想要的东西,

sudo mount -o rw,users,uid=1000,dmask=007,fmask=117 /dev/sdxn /mnt/sd1  # general syntax
sudo mount -o rw,users,uid=1000,dmask=007,fmask=117 /dev/sdb1 /mnt/sd1  # modify to match your case

请参阅此链接了解更多详细信息,

如何更改 NTFS 格式的自动安装 USB 闪存盘的默认权限?

答案2

看起来 gnome 功能提供的默认自动挂载行为没有太多的配置可能性。

您要做的是添加挂载选项umask=0,如果在 /etc/fstab 中配置如下,则可以完成此操作:

/dev/sda1 /media/usbdrive exfat rw,async,umask=0 0 0

但这有点违背自动挂载概念,因为它意味着静态配置。

不过,这可能可以通过使用 automount 和 autofs 来实现:

https://help.ubuntu.com/community/Autofs

如果您选择这条路径,那么您应该禁用 gnome 中的自动挂载选项:

https://help.ubuntu.com/community/Mount/USB#Configuring_Automounting

答案3

执行权限、最小访问和自动挂载

除了其他答案之外,在您检查了您的 uid、驱动器 uuid 并创建了挂载点文件夹之后——但是如果你还希望你的用户对驱动器拥有执行权限运行驱动器上存储的脚本或应用程序并且您希望仅将访问权限限制为您的用户,通常用于授予 ssh 访问权限的服务器或计算机,或运行其他用户服务,或明显出于一般安全性和最少访问权限的目的 — — 那么您应该将挂载修改为:

sudo mount -o rw,exec,uid=1000,umask=007 /dev/sdxn /mnt/sd1

使用您的 uid、/dev/ 和 /mnt/mountfolder 。

'rw' 表示读/写;'exec' 表示执行权限;'dmask=007,fmask=007' 与 'umask=007' 同义,它取消屏蔽“所有”用户对目录和文件的 rw+exec 权限,但允许所有者 (uid) 和组 (应始终为 root) 拥有权限

自动挂载 exFat,可供一个用户 + Root rwx 访问

使用 sudo 编辑你的 /etc/fstab。你可以使用以下命令确认 fstab 文件的位置

man fstab #look under "Synopsis"
sudo nano /etc/fstab

并添加一行格式的自动挂载指令

# <file system> <mount point> <type> <options>                        <dump>  <pass>
UUID=FDB9-7531  /mnt/mydrive  exfat  rw,exec,auto,uid=1000,umask=007  0       0

..使用您自己的 UUID、挂载文件夹和 uid,如@sudodus 详细说明的那样。此处添加了“auto”,因此您可以立即测试自动挂载而无需重新启动:

sudo systemctl daemon-reload
sudo mount -a

相关内容