
Wie kann ich ein Paket für einen bestimmten Benutzer entfernen, es aber installiert lassen, sodass andere Benutzer weiterhin darauf zugreifen können? Ich verwende Ubuntu 12.10.
Antwort1
Die meisten Pakete sind an Orten und mit Berechtigungen installiert, so dass sie für mehrere Benutzer zugänglich sind. Wenn also nicht diePaketwurde darauf vorbereitet, dies durch die spezielle Festlegung der Berechtigungen und Eigentümerschaft zu berücksichtigen. Dies kann nicht durch die Entfernung eines Pakets erreicht werden.
Um den Zugriff einzuschränken, könnte ein Paket die Gruppenberechtigungen für Verzeichnisse und ausführbare Dateien auf rwxr-x--- und für normale Dateien auf rw-r-- festlegen und den Gruppenbesitz auf eine bestimmte Gruppe festlegen, sodass Nichtmitglieder dieser Gruppe keinen Zugriff mehr haben.
Sie können die oben genannten Schritte bei den meisten Paketen nachträglich durchführen, da dadurch die Struktur nicht verändert wird.WoDinge werden installiert. Das Paket findet also weiterhin alle seine Komponenten. Je nachdem, was Sie genau erreichen möchten, reicht es möglicherweise aus, nur die ausführbaren Dateien des Pakets zu ändern.
Vorausgesetzt, ein Paket abc
ist installiert, können Sie (als Root) beispielsweise Folgendes tun:
addgroup abcusers
adduser user abcusers
dpkg -L abc | xargs find -maxdepth 0 -type f | xargs chown o=
dpkg -L abc | xargs find -maxdepth 0 -type f | xargs chgrp abcusers
Die erste Zeile erstellt eine Gruppe, die zweite Zeile muss für alle Benutzer wiederholt werden, die Zugriff auf das Paket benötigen. Die dritte und vierte Zeile ändern die Berechtigungen für alle Dateien eines Pakets (vorausgesetzt, es gibt keine Dateinamen mit Leerzeichen). Dies kann jedoch immer noch das Paket beschädigenSeien Sie also vorsichtig, wenn Sie dies tun, und/oder machen Sie Ihre Änderungen mit folgendem rückgängig:
apt-get install --reinstall abc