Kann ich einen Benutzer einschränken, spezielle Programme zu verwenden?

14

Ist es möglich, einen Benutzer hinzuzufügen und ihn auf die Ausführung spezieller Programme zu beschränken?
Nachdem sich dieser Benutzer angemeldet hat, kann er beispielsweise nur Firefox öffnen, um das Internet zu nutzen, und dieser Benutzer kann keine anderen Programme ausführen.
In einem Terminal kann beispielsweise nicht auf Befehle zugegriffen werden, wenn Sie Umgebungsvariablen wie $ HOME löschen.
Aber kann man vermeiden, Programme in einer grafischen Shell wie Gnome auszuführen? Wenn ja wie

M0εiπ
quelle
4
Dies wird normalerweise als bezeichnet, kiosk modeaber ich bin mir nicht sicher über den Zustand in Gnome 3. Weitere Details finden Sie unter tranzistors.wordpress.com/2012/05/23/… . Laut fedoraproject.org/wiki/Features/InitialExperience hat Gnome-Shell eine Art Kiosk-Modus
Ulrich Dangel

Antworten:

4

Sie können Ausführungsberechtigungen für die Binärdateien entfernen, die der Benutzer nicht ausführen soll. Erstellen Sie eine neue Gruppe, ändern Sie die Ausführungsberechtigungen ( chmod go-rwx) und fügen Sie den gewünschten Benutzer der Gruppe hinzu. (Dies ähnelt der Art und Weise, wie nur bestimmte Benutzer den sudoBefehl verwenden dürfen.)

Je nachdem, was Sie erreichen möchten, chroot Gefängnis auch nützlich sein. Für den Fall, dass Sie ein kioskartiges Setup planen, gibt es Sperrwerkzeuge für KDE (Kiosk Tool) und GNOME (Sabayon). Wenn Sie nur Firefox zulassen möchten, testen Sie Webconverger. Wenn Sie vorhaben, ein Kiosk-Netzwerk einzurichten, rufen Sie Google Libki auf. Wenn Sicherheit an erster Stelle steht, können Sie die Funktionen einzelner Programme auch mit AppArmor oder SELinux optimieren.

utcursch
quelle
Ich füge dies nicht als Antwort hinzu, weil ich es lange nicht versucht habe, aber Sie können die Anmeldeshell des Benutzers (in / etc / passwd, glaube ich) ändern, um einen beliebigen Befehl oder ein beliebiges Skript anstelle des Standardbefehls auszuführen das ermöglicht ihnen den vollen normalen Benutzerzugriff. Sie müssen lediglich Ihren Befehl / Ihr Skript testen, um sicherzustellen, dass der Benutzer nicht aus dem Befehl ausbrechen kann.
Joe
"Sie können Ausführungsberechtigungen für die Binärdateien entfernen, die der Benutzer nicht ausführen soll." <- was ist mit anderen Usern ???
Konrad Gajewski