文件管理器如何在没有Sudo的情况下挂载外部驱动器?

你有没有想过为什么 须藤 要么 需要从终端而不是Linux中的文件管理器以普通用户身份安装外部驱动器或分区的权限? 如您所知,您需要成为sudo用户才能从命令行显示,安装和访问可移动媒体(例如,外部硬盘驱动器,USB记忆棒,光盘和数码相机)。 但是,图形文件管理器(例如Nautilus)如何在没有root或sudo的情况下挂载这些可移动存储设备? 在本简短指南中,我将解释在Linux中文件管理器如何在没有sudo或root许可的情况下安装外部驱动器。

在Linux中,文件管理器如何在没有sudo或root许可的情况下挂载外部驱动器?

文件管理器使用 优盘2 安装没有管理员权限的外部驱动器。 UDisks2是UDisk的第二个版本。 UDisk现在已过时。 现在,GNOME,KDE和其他各种桌面环境使用UDisks2允许普通用户安装可移动媒体设备。

UDisks2项目提供了一个名为 udisksd,以及一个名为 udisksctl

udiskd 守护程序在后台运行并实现定义良好的 公交车 可用于查询和操作存储设备的接口。 udiskd 在系统启动时自动启动并以 root 每时每刻。 您可以使用以下命令验证它:

$ sudo systemctl status udisks2

样本输出:

● udisks2.service - Disk Manager
     Loaded: loaded (/lib/systemd/system/udisks2.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-09-09 12:09:21 IST; 3h 9min ago
       Docs: man:udisks(8)
   Main PID: 978 (udisksd)
      Tasks: 5 (limit: 9336)
     Memory: 9.3M
     CGroup: /system.slice/udisks2.service
             └─978 /usr/lib/udisks2/udisksd

Sep 09 12:08:51 ostechnix systemd[1]: Starting Disk Manager...
Sep 09 12:09:00 ostechnix udisksd[978]: udisks daemon version 2.8.4 starting
Sep 09 12:09:21 ostechnix udisksd[978]: Acquired the name org.freedesktop.UDisks2 on the sy>
Sep 09 12:09:21 ostechnix systemd[1]: Started Disk Manager.

udisksctl CLI实用程序用于查询和使用守护程序。 用户可以使用udisk执行的操作受到限制 波尔基特。 Polkit是用于定义和处理授权的应用程序级工具箱。 它允许非特权进程与特权进程对话。

由于UDisk已经以root用户身份运行,因此它允许非特权程序(例如,文件管理器)在没有sudo或root用户权限的情况下挂载或卸载存储设备。 这就是文件管理器在没有管理权限的情况下挂载外部驱动器的方式。

您可以通过使用以下方式以普通用户身份安装USB驱动器来自己进行测试: udisksctl 如下命令:

$ udisksctl mount -b /dev/sdc1

要么,

$ udisksctl mount --block-device /dev/sdc1

更换 /dev/sdc1 与您的设备名称。

样本输出:

Mounted /dev/sdc1 at /media/sk/ventoy.

同样,您可以使用以下命令卸载USB驱动器:

$ udisksctl unmount -b /dev/sdc1

要么,

$ udisksctl unmount --block-device /dev/sdc1

样本输出:

Unmounted /dev/sdc1.

使用udisksctl命令在没有sudo许可的情况下挂载和卸载外部驱动器

如果您正在寻找一种在Linux中无需超级用户特权即可安全地允许普通用户安装文件系统的方法,建议使用Udisk2!

相关阅读:

  • 如何在Linux中查找挂载的文件系统类型

我不知道没有sudo许可就无法安装和卸载驱动器,直到遇到 这个问题 在Reddit上。

希望您今天学到了一些有用的东西。

特色图片 杰西卡·刘易斯(Jessica Lewis)像素

资源:

LinuxLinux命令安装驱动器PolkitUDisks2

Sidebar