Wie lege ich die Richtlinie für Benutzer fest, um den Netzwerkstatus und die Verbindungen zu ändern?


9

Wie kann ich die Berechtigungen für Benutzer festlegen, um Änderungen an den Netzwerkverbindungen und am Status vorzunehmen? Wie kann ich beispielsweise Benutzern erlauben / verbieten, eine Verbindung zu neuen drahtlosen Netzwerken herzustellen? Wie kann ich Benutzern erlauben / verbieten, das Netzwerk auszuschalten?

Antworten:


6

Sie können eine lokale Richtlinie für einen oder mehrere Benutzer erstellen.

Erstellen Sie das Dokument, in dem die Einstellungen gespeichert werden ...

Berühren Sie /var/lib/polkit-1/localauthority/50-local.d/10-network-manager.pkla

Fügen Sie eine oder mehrere Richtlinien hinzu ...

[Lassen Sie foo die Systemeinstellungen für das Netzwerk ändern]
Identität = Unix-Benutzer: foo
Action = org.freedesktop.NetworkManager.settings.modify.system
ErgebnisAny = nein
ResultInactive = no
ResultActive = ja

[Erlaube foo nicht, das Netzwerk zu aktivieren / deaktivieren]
Identität = Unix-Benutzer: foo
Action = org.freedesktop.NetworkManager.settings.enable-disable-network
ErgebnisAny = nein
ResultInactive = no
ResultActive = no

Der Schlüssel ist das ResultActiveElement, das auf yes, no, auth_admin oder auth_admin_keep gesetzt werden kann, wobei für die beiden letzteren das Kennwort eines anderen Benutzers mit sudo-Berechtigungen erforderlich ist.

Das ActionElement definiert, welche Aktion zulässig / nicht zulässig ist oder eine Authentifizierung mit einem Kennwort erfordert. Es gibt Optionen wie das org.freedesktop.NetworkManager.enable-disable-networkUmschalten des Netzwerks als aktiviert / deaktiviert. Sie können mehr Optionen in der /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policyDatei sehen, suchen Sie einfach nach etwas wie <action id="org.freedesktop.NetworkManager.enable-disable-network">und lesen Sie die Beschreibung.

Sie können alle Werte auch mit dem *Platzhalter festlegen ...

[Verhindern Sie, dass foo alle Netzwerkstatus und -einstellungen außer mit dem Administratorkennwort ändert]
Identität = Unix-Benutzer: foo
Action = org.freedesktop.NetworkManager. *
ErgebnisAny = nein
ResultInactive = no
ResultActive = auth_admin_keep

Dies erfordert ein Passwort, um Änderungen an den Netzwerkeinstellungen oder am Status vorzunehmen.

Sie können dies in einem einzigen Befehl tun, der in ein Skript aufgenommen werden kann ...

sudo su -c 'printf "[Verhindert, dass foo alle Netzwerkzustände und -einstellungen ändert] \ nIdentity = Unix-Benutzer: foo \ nAction = org.freedesktop.NetworkManager. * \ nResultAny = no \ nResultInactive = no \ nResultActive = auth_admin"> /var/lib/polkit-1/localauthority/50-local.d/10-network-manager.pkla '

Verweise:

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.