Portál AbcLinuxu, 6. května 2025 09:15
/etc/fstab
mám
UUID=... /mnt/nt ntfs-3g defaults,noauto,user 0 0kde to UUID zodpovedá NTFS partícii na /dev/sda, kde sídli windows z dual-boot-u. Môžem ten disk pripojiť ako obyčajný užívateľ cez
mount /mnt/ntale kliknutie v krusaderi/dolphine/... si vypýta heslo pre roota. Má to asi niečo do činenia s
polkit
alebo udisks
. Čo musím spraviť, aby to fungovalo bez zadávania hesla pre root-a?
Verzie, ktoré by s tým mohli súvisieť
dbus-1.12.2-x86_64-1 polkit-0.113-x86_64-3 polkit-kde-framework-5.11.4-x86_64-1alien polkit-qt-1-0.112.0-x86_64-1 udisks-1.0.5-x86_64-3 udisks2-2.6.5-x86_64-1
Řešení dotazu:
polkit.addRule( function(action, subject) { if ((action.id == "org.freedesktop.udisks.filesystem-mount-system-internal") && subject.isInGroup("disk")) { return polkit.Result.YES; } } );a
pkcheck --action-id org.freedesktop.udisks.filesystem-mount-system-internal -p $$ -ureaguje na to, či tam je "return polkit.Result.YES" alebo "return polkit.Result.NO". Ale file manager-u je to fuk. Rovnako, ako predtým si pýta heslo pre root-a. Dalo by sa aspoň vysledovať, či filemanager v tej mojej situácii používa práve akciu menom "org.freedesktop.udisks.filesystem-mount-system-internal"?
[Install package file] Identity=unix-group:sudo Action=* ResultActive=yes
/usr/lib64/polkit-kde-authentication-agent-1
. Tak som sa sústredil na polkit a zapol so mu logovanie. Vyrobil som /etc/polkit-1/rules.d/30-rastos.rules s takýmto obsahom:
polkit.addRule(function(action, subject) { polkit.log("action=" + action); polkit.log("subject=" + subject); });Vďaka tomu sa mi vo /var/log/secure objavila hláška
Mar 11 20:16:07 ras polkitd[26248]: /etc/polkit-1/rules.d/30-org.rastos.rules:10: action=[Action id='org.freedesktop.udisks2.filesystem-mount-system' id.usage='filesystem' drive.serial='WD....z čoho so pochopil, že som doteraz používal nesprávne meno akcie. Správne meno akcie je teda "org.freedesktop.udisks2.filesystem-mount-system" a keď som do /etc/polkit-1/rules.d/30-rastos.rules pridal ešte:
polkit.addRule( function(action, subject) { if ((action.id == "org.freedesktop.udisks2.filesystem-mount-system") && subject.isInGroup("disk")) { return polkit.Result.YES; } } );Tak file manager už mount vykonal bez toho, aby si pýtal heslo roota. \o/ Jediné, čo mi ostáva nejasné, je: aký je vzťah medzi .pkla a .rules súbormi a prečo mi .pkla súbor nezafungoval? Poznámka: zaujímavé mi pripadá to, že po pridaní/zmene .rules súboru nie je potrebné nič reštartovať ani sa odhlasovať.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.