我的用户可以访问 USB 块设备(plugdev 组的成员)。但即便如此,gparted 也需要以 root 身份运行:
$ ls -l /dev/sdd
brw-rw---- 1 root plugdev 8, 48 Jul 17 19:05 /dev/sdd
$ gparted /dev/sdd
(requires root)
这有什么技术原因吗?
我有一个完整的磁盘映像,包括文件中的分区表。运行 gparted 失败,所以我不得不做losetup -Pf
马戏表演。
这有什么技术原因吗?
答案1
这听起来像是一个值得报告的错误;-),因为parted
另一方面,它确实允许使用您有权访问的驱动器,而无需切换到根帐户。
无论权限如何,请求 root 权限都是应用程序的默认操作模式:
https://gitlab.gnome.org/GNOME/gparted/-/blob/master/src/main.cc#L52
//check UID
if ( getuid() != 0 )
{
const Glib::ustring error_msg(_("Root privileges are required for running GParted"));
std::cerr << error_msg << std::endl;
Gtk::MessageDialog dialog(error_msg, false, Gtk::MESSAGE_ERROR, Gtk::BUTTONS_OK);
dialog .set_secondary_text(
_("Since GParted is a powerful tool capable of destroying partition tables and vast amounts of data, only root may run it.") ) ;
dialog .run() ;
exit(EXIT_FAILURE);
}
TLDR:这就是它的开发人员认为它应该运行的方式:-)