Arch-Äquivalent zu Debian `dpkg-divert`

Arch-Äquivalent zu Debian `dpkg-divert`

Ich versuche Skype unter Arch Linux so zu konfigurieren, dass es eineSandbox-Benutzeregal welcher Benutzer anruft skype, aber ich mag die Verwendung eines BASH-Alias ​​zum Starten von Skype nicht besonders, wie im Wiki vorgeschlagen, da, soweit ich das beurteilen kann, wenn ein Benutzer BASH nicht verwendet oder Skype von aus aufruft skype.desktop, der Sandbox-Benutzer nicht verwendet wird. Ich dachte, es wäre vielleicht besser, /usr/bin/skypeauf Anruf umzuleiten

sudo -u skype /usr/bin/skype.real

wo skype.realist die eigentliche Skype-Binärdatei. Ich bin ziemlich sicher, dass ich das in Debian mit

dpkg-divert --package skype --add --rename --divert /usr/sbin/skype.real /usr/sbin/skype

und füge dann meine eigene Datei hinzu /usr/sbin/skype. Wie mache ich das mit Arch?

Antwort1

Wenn das AUR-Paket, wie ich in den Kommentaren vorgeschlagen habe, skype-restrictednicht für Sie geeignet ist (und beachten Sie, dass ich den verwendeten Ansatz nicht kenne), fallen mir zwei Ansätze ein:

(Lesen Sie bis zum Ende, um die korrekte Anwendung auf Arch zu erfahren.)

Wechseln Sie skypezu einem Skript, das Ihr echtes Skype ausführt

Erstellen Sie ein Bash-Skript, das Ihr echtes Skype aufruft:

#!/bin/sh
sudo -u skype /usr/bin/skype.real

Geben Sie ihm Ausführungsberechtigungen und speichern Sie es unter /usr/bin/skype. Benennen Sie die alte Skype-Binärdatei in um /usr/bin/skype.real.

Dieser Ansatz führt jedoch zu einigen Dingen, die berücksichtigt werden müssen:

  • Wenn Sie wirklich möchten, dass niemand außer dem skypeBenutzer Skype (das echte Skype) anruft, müssen Sie der Datei die entsprechenden Berechtigungen erteilen:

    chown skype /usr/bin/skype.real
    chmod 0100 /usr/bin/skype.real
    

    Dadurch wird verhindert, dass jemand außer dem Besitzer es ausführt

  • Damit jeder skype(das neue, geskriptete) Programm ausführen kann, müssen Sie die sudoers-Datei (mit visudo) bearbeiten, sodass jeder (vorzugsweise in einer Gruppe, möglicherweise in der Gruppe skype) sie als Benutzer aufrufen kann skype. Ich kenne die Details nicht, weiß aber, dass es möglich ist.

Besitzer wechseln skypeund setuidBit setzen

Hinweis: Dies ist nicht der empfohlene Weg, da setuid-ausführbare Dateien auf ein Minimum beschränkt werden sollten

Eine sauberere Möglichkeit könnte darin bestehen, das setuidBit so zu setzen, dass jeder Anrufer skypees als Benutzer aufruft skype.

chown skype /usr/bin/skype
chmod u+s /usr/bin/skype

Dadurch ist der skypeBefehl wie immer verfügbar, wird jedoch immer als skypeBenutzer ausgeführt.


In jedem der oben genannten Fälle, jedes Mal, wenn Sie Skype auf eine neuere Version aktualisieren, müssen Sie den Vorgang wiederholen, da pacmandie Binärdatei ersetzt wird.

Die Lösung besteht darin, ein Programm zu erstellen PKGBUILD, das das offizielle Paket herunterlädt, extrahiert und die gewünschten Änderungen vornimmt. Anschließend installieren Sie es manuell (wie Sie jedes AUR-Paket installieren würden). Sie müssen es jedes Mal manuell neu erstellen, wenn Sie ein Update durchführen müssen. Skype wird allerdings nicht so oft aktualisiert.

Für diese letzte Aufgabe, dieoffizielles Wiki zu PKGBUILDssind eine großartige Ressource.

verwandte Informationen