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/skype
auf Anruf umzuleiten
sudo -u skype /usr/bin/skype.real
wo skype.real
ist 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-restricted
nicht 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 skype
zu 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
skype
Benutzer 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 (mitvisudo
) bearbeiten, sodass jeder (vorzugsweise in einer Gruppe, möglicherweise in der Gruppeskype
) sie als Benutzer aufrufen kannskype
. Ich kenne die Details nicht, weiß aber, dass es möglich ist.
Besitzer wechseln skype
und setuid
Bit 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 setuid
Bit so zu setzen, dass jeder Anrufer skype
es als Benutzer aufruft skype
.
chown skype /usr/bin/skype
chmod u+s /usr/bin/skype
Dadurch ist der skype
Befehl wie immer verfügbar, wird jedoch immer als skype
Benutzer 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 pacman
die 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.