Automatisches einbinden von Datenträgern

Ich binde nun nicht jeden Tag irgendwelche Laufwerke in mein System ein. Von daher kann ich nicht genau sagen, bei welchem Update da nun dieses Problem Einzug in Arch gehalten hat.

Es geht darum, dass man einen Datenträger einsteckt, zum Beispiel einen USB-Stick, eine CD-ROM, oder eine DVD und man bekommt die Meldung, dass man zum einbinden nicht berechtigt ist.

Not authorized to perform operation

Das ist ärgerlich! Ein versierter Nutzer hat damit nur bedingt Schwierigkeiten. Der bindet den Datenträger einfach von Hand ein, was so aussieht:

udisksctl mount -b /dev/sr0

Um das CD-ROM/DVD/Blueray-Laufwerk einzubinden.

Wer mit seinem System aber nur arbeitet und nicht einmal weiss, dass man Befehle auch von Hand in einen Terminal tippen kann, der ist schlagartig aller externen Datenträger beraubt.

Abhilfe ist jedoch recht schnell geschaffen.

  1. Wir legen eine Regel für Polkit fest
  2. Wir fügen den Benutzer der Gruppe storage hinzu

1. Regel für Polkit

In einem Terminal legen wir eine neue Regel für Polkit an:

sudo nano /etc/polkit-1/rules.d/50-udiskie.rules

Die ist aller Wahrscheinlichkeit nach leer, sonst würde das einbinden ja funktionieren. Da muss nun also folgendes rein:

polkit.addRule(function(action, subject) {
  var YES = polkit.Result.YES;
  // NOTE: there must be a comma at the end of each line except for the last:
  var permission = {
    // required for udisks1:
    "org.freedesktop.udisks.filesystem-mount": YES,
    "org.freedesktop.udisks.luks-unlock": YES,
    "org.freedesktop.udisks.drive-eject": YES,
    "org.freedesktop.udisks.drive-detach": YES,
    // required for udisks2:
    "org.freedesktop.udisks2.filesystem-mount": YES,
    "org.freedesktop.udisks2.encrypted-unlock": YES,
    "org.freedesktop.udisks2.eject-media": YES,
    "org.freedesktop.udisks2.power-off-drive": YES,
    // required for udisks2 if using udiskie from another seat (e.g. systemd):
    "org.freedesktop.udisks2.filesystem-mount-other-seat": YES,
    "org.freedesktop.udisks2.filesystem-unmount-others": YES,
    "org.freedesktop.udisks2.encrypted-unlock-other-seat": YES,
    "org.freedesktop.udisks2.eject-media-other-seat": YES,
    "org.freedesktop.udisks2.power-off-drive-other-seat": YES
  };
  if (subject.isInGroup("storage")) {
    return permission[action.id];
  }
});

Einfach den ganzen Kasten hier kopieren und im Terminal einfügen. Speichern (Strg+X -> j -> Enter), fertig.

2. Benutzer zur Gruppe „storage“ hinzufügen

sudo gpasswd -a <user> storage

Wobei <user> durch den eigenen Benutzernamen ersetzt werden muss. In meinem Fall also diabolus.

sudo gpasswd -a diabolus storage

Okay. Nachdem der Benutzer neu angemeldet, oder die Kiste neu gestartet wurde, sollte nun das automatische einbinden von Datenträger wieder funktionieren.

Schreib einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.