Es gibt viele verschiedene Python-Versionen in meiner Ubuntu-Maschine:
/home$ ls /usr/bin/ | grep python
dh_python2
dh_python3
python
python2
python2.7
python3
python3.5
python3.5m
python3m
/home$ which python
/usr/local/bin/python
python --version
Python 3.6.6
Ich möchte, dass eine bestimmte Benutzergruppe nur auf "Python" (z. B. 3.6.6) Zugriff hat und den Zugriff für andere Versionen deaktiviert.
Ich denke, die Deinstallation von Python würde andere Probleme verursachen. Was wäre der empfohlene Weg, um dieses Ziel zu erreichen, ohne etwas zu beschädigen?
Antworten:
chown
Die nicht öffentlichen Versionen einer bestimmten Gruppe können nur von dieser Gruppe ausgeführt werden (chmod 754 ...) und die zulässigen Benutzer zu dieser Gruppe hinzugefügt werden.Beachten Sie jedoch, dass es Systemdienstprogramme gibt, die auf bestimmten Python-Versionen basieren, sodass Sie wahrscheinlich etwas kaputt machen werden: In meinem Ubuntu 16.04
/usr/bin
enthält es 106 Dateien mit einempython.*
Shebang, von denen 47 einenpython3
Shebang haben.quelle
Tu es nicht.
Es gibt einen Grund, warum Ubuntu mit zwei Versionen von Python geliefert wird. Einige Dienstprogramme sind in Python2 geschrieben und können nicht in Python 3 ausgeführt werden. Andere sind in Python 3 geschrieben und können nicht in Python 2 ausgeführt werden.
Darüber hinaus wird Python 2 immer noch häufig für alle Arten von Aufgaben verwendet, und der Großteil des Python-Codes ist wahrscheinlich immer noch Python 2.
Python 2.7 wird bis mindestens 2020 mit Fehlerkorrekturen unterstützt.
quelle
Ich habe dies mithilfe der
acl
Berechtigungen getan . Ich habe gerade den Zugriff auf falsche Python-Versionen für meine Zielbenutzergruppe entfernt. so einfach ist, nichts ist kaputt (kann nicht glauben, dass jemand dies vorgeschlagen hat).Installieren Sie acl
Montieren Sie die Systemfestplatte erneut mit ACL-Unterstützung
Bearbeiten
fstab
:Fügen Sie "acl" -Unterstützung hinzu, falls nicht bereits vorhanden, z. B. Ändern von
Zu:
Setzen Sie die Wurzel wieder ein:
Zugriffsrechte festlegen
Erstellen Sie einen symbolischen Link für Python3, damit sowohl Python als auch Python3 für meine Zielbenutzergruppe funktionieren:
Aktualisieren Sie die ACL-Berechtigungen so, dass der Zugriff aus den Systempythonversionen für die Benutzergruppe "blockiert" entfernt wird:
quelle