文件管理器如何在没有sudo的情况下安装外部驱动器?

时间:2020-03-21 11:47:59  来源:igfitidea点击:

我们有没有想过为什么需要sudo或者root权限来将外部驱动器或者分区安装为终端的普通用户,但不是从Linux中的文件管理器?
如我们所知,我们需要成为Sudo用户,以从命令行从命令行显示,安装和访问可移动介质(例如外部硬盘驱动器,U盘,光盘和数码相机)。
但是,如何将图形文件管理器(例如Nautilus)安装在没有root或者sudo的没有root或者sudo的可移动存储设备?
在此简要教程中,我将解释文件管理器如何在Linux中没有sudo或者root权限的情况下安装外部驱动器。

文件管理器如何在没有Linux中的sudo或者root权限的情况下安装外部驱动器?

文件管理器使用Udisks2来安装没有管理权限的外部驱动器。
Udisks2是Udisks的第二个版本。
Udisks现在已经过时了。
现在,GNOME,KDE和各种桌面环境使用UDISKS2允许普通用户安装可移动媒体设备。

Udisks2项目提供称为"Udisksd"的系统守护程序,以及名为"udisksctl"的命令行工具。

"udiskd"守护程序在后台运行,实现可用于查询和操作存储设备的明确定义的D-Bus接口。
'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 2017-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 theitroad systemd[1]: Starting Disk Manager...
Sep 09 12:09:00 theitroad udisksd[978]: udisks daemon version 2.8.4 starting
Sep 09 12:09:21 theitroad udisksd[978]: Acquired the name org.freedesktop.UDisks2 on the sy>
Sep 09 12:09:21 theitroad systemd[1]: Started Disk Manager.

"Udisksctl"CLI实用程序用于查询和使用守护程序。
使用POLKIT限制用户可以执行UDISK执行的操作。
Polkit是一个用于定义和处理授权的应用程序级工具包。
它允许非特权的流程与特权流程交谈。

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

我们可以使用如下面的"Udisksctl"命令将U盘安装为普通用户来测试自己:

$udisksctl mount -b /dev/sdc1

或者,

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

用设备名称替换'/dev/sdc1'。

示例输出:

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

同样,我们可以使用命令卸载U盘:

$udisksctl unmount -b /dev/sdc1

或者,

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

示例输出:

Unmounted /dev/sdc1.

如果我们有没有寻找一种安全的方法,则常规用户在没有Linux中没有超级用户权限的情况下安装文件系统,建议使用udisk2!