내 사용자는 USB 블록 장치(plugdev 그룹의 구성원)에 액세스할 수 있습니다. 하지만 그런 경우에도 gparted는 루트로 실행되어야 합니다.
$ ls -l /dev/sdd
brw-rw---- 1 root plugdev 8, 48 Jul 17 19:05 /dev/sdd
$ gparted /dev/sdd
(requires root)
이에 대한 기술적인 이유가 있나요?
파일에 파티션 테이블을 포함한 완전한 디스크 이미지가 있습니다. 달리기는 실패해서 서커스를 해야 했어요 losetup -Pf
.
이에 대한 기술적인 이유가 있나요?
답변1
이는 보고할 가치가 있는 버그처럼 들립니다 ;-). parted
반면에 루트 계정으로 전환하지 않고도 액세스할 수 있는 드라이브를 사용할 수 있기 때문입니다.
권한에 관계없이 루트 권한을 요청하는 것은 애플리케이션의 기본 작동 모드입니다.
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: 이것이 개발자가 실행해야 한다고 생각하는 방식입니다 :-)