So einschränken Sie den SSH -Zugriff für Benutzer mit LSHELL (Limited Shell)
- 2061
- 288
- Phoebe Jeorga
LSHELL oder Limited Shell ist in Python geschrieben, um den Benutzer für bestimmte Befehle und Verzeichnisse einzuschränken. Sie können eine Benutzerumgebung mit begrenztem Zugriff erstellen. Sie können auch Deaktivierungsbefehle über SSH -Zugriff aktivieren.
Limited Shell einbauen
Verwenden Sie den folgenden Befehl, um das LSHELL -Paket in Ihrem Debian -basierten System zu installieren. Für andere Betriebssystem.
$ sudo apt-get install lshell
Benutzer auf LSHELL wechseln
Stellen Sie nun die LSHELL als Standardhell für Benutzer fest, für die Sie benötigt werden. Zum Beispiel, um die Hülle der Benutzer Sarah zu ändern.
$ sudo chsh sarah ändert die Anmeldeschale für Sarah Eingeben Sie den neuen Wert ein oder drücken Sie die Eingabetaste für die Standard -Anmeldeschale [/bin/lshell]:/usr/bin/lshell
Sie können die LSHELL auch als Standardhell für den Benutzer während der Erstellung des Benutzerkontos wie folgt festlegen.
$ sudo adduser -Shell/usr/bin/lshell raj
Konfigurieren Sie LSHELL
Beginnen Sie nun mit der Konfiguration von LSHELL. Bearbeiten Sie die LSHELL -Konfigurationsdatei /etc/lshell.Conf. In der Konfigurationsdatei befinden sich 4 grundlegende Abschnitte.
- [global]: In diesem Abschnitt definieren wir die Einstellungen, die weltweit angewendet wurden. Zum Beispiel Protokolle.
- [Standard] : In diesem Abschnitt setzen wir Standardwerte, die alle Benutzer und Gruppen angewendet haben. Die Einstellungen dieses Abschnitts können mit Benutzer- und gruppenspezifischen Einstellungen überschrieben werden.
- [NUTZERNAME] : In diesem Abschnitt geben wir benutzerspezifische Einstellungen an. Diese Abschnitteinstellungen werden nur an den Benutzer angewendet
- [GRP: GroupName]: In diesem Abschnitt geben wir Gruppenspezifische Einstellungen an. Diese Einstellungen für den Abschnitt werden für alle Benutzer der Gruppe angewendet
A [Standard] Das Profil wird für alle Benutzer mit LSHELL angewendet. Sie können erstellen [Nutzername] Abschnitt oder eine Gruppe [GRP: GroupName] Abschnitt zum Anpassen von Benutzern und gruppenspezifischen Einstellungen.
Die Prioritätsreihenfolge ist Benutzer >> Gruppe >> Standard. Der Benutzerabschnitt hat die höchste Priorität und die Standardeinstellung hat die niedrigste Priorität.
[global] logpath:/var/log/lshell/loglevel: 2 [Standard] erlaubt: ['ls', 'pwd', 'cd', 'cat', 'cp'] verboten: [';', '&', '|', '>', '<', '$(', '$'] sudo_commands : ['ls', 'more'] warning_counter : 2 aliases : 'll':'ls -l', 'vim':'rvim' prompt : "%[email protected]%h" timer : 0 path : ['/home', '/usr'] env_path : ':/usr/bin/usr/local/bin' env_vars : 'foo':1, 'bar':'helloworld' scp : 1 # or 0 sftp : 1 # or 0 overssh : ['rsync','ls'] strict : 0 history_file : "/home/%u/.lshell_history" [GRP: Rad] WARNUNG_COUNTER: 5 OVERSCH: - ['LS'] [Raj] erlaubt: 'all' - ['su', 'rm', 'mv'] path: ['/etc', '/usr'] - ['/usr/local'] home_path: '/home/raj' [Sarah] erlaubt: + ['ping'] - ['ls'] path: - ['/usr/local'] streng: 1 scpforce: '/home/sarah/uploads/'
Zum Beispiel gehören Benutzer 'RJA' und Benutzer 'Sarah' beide zur "Wheel" Unix -Gruppe:
Gruppenrad:
- Benutzer der Radgruppe haben einen Warnschalter auf 5 eingestellt
- Benutzer der Radgruppe sind nicht zulässig 'LS' Befehl.
Benutzer Raj:
- Kann zugreifen /etc und /var, aber nicht /usr /local
- Kann auf alle Befehle in seinem Pfad zugreifen. Execpt -Befehle - SU, RM, VM
- hat einen Warnschalter auf 5 [Standard]
- Hat seinen Heimweg auf '/home/raj' gesetzt '
Benutzer Sarah:
- Kann Zugang /Zuhause und /usr, aber nicht /usr /lokal
- ist ein Standardbefehl 'Ping' zulässig, aber nicht 'ls'
- Strenge ist auf 1 gesetzt (er darf keinen unbekannten Befehl eingeben)
Optionsname | Erläuterung |
---|---|
Logwegen | Protokollverzeichnis (Standard/var/log/lshell/) |
Loglevel | Legen Sie die Protokollebene auf 0, 1, 2, 3 oder 4 fest (0: keine Protokolle, 1: am wenigsten ausführlich, 4: Protokoll alle Befehle log) |
logFileName | Log -Dateinamen konfigurieren (Standard ist %u i.e. Nutzername.Protokoll) |
erlaubt | Liste der zulässigen Befehle oder "alle", um alle Befehle auf dem Weg des Benutzers zuzulassen |
verboten | Eine Liste von verbotenem Charakter oder Befehlen - verweigern Sie Vim, da sie es ermöglicht, Lshell zu entkommen |
sudo_commands | Eine Liste der zulässigen Befehlsbefehls mit sudo (8) |
Warnung_counter | Anzahl der Warnungen, wenn der Benutzer einen verbotenen Wert eingibt. |
Aliase | Befehl aliases Liste (ähnlich wie die Alias -Richtlinie von Bash) |
Intro | Einführungstext zum Drucken (beim Eingeben von LSHELL) |
prompt | Konfigurieren Sie Ihren Promt mit %u oder %H (Standard: Benutzername) |
forderung_short | Sortieren Sie die aktuelle Verzeichnis -Aktualisierung der Sortierung (Standard: 0) |
Timer | Ein Wert in Sekunden für den Sitzungs -Timer |
Weg | PATH -Liste, um den Benutzer „geografisch“ einzuschränken, um einzuschränken |
Home_Path | Stellen Sie den Home -Ordner Ihres Benutzers fest |
env_path | Legen Sie die Umgebungsvariable $ Pfad des Benutzers fest |
erlaubt_cmd_path | eine Liste von Pfad; Alle ausführbaren Dateien in diesem Pfad sind zulässig |
env_vars | Umgebungsvariablen hinzufügen |
scp | die Verwendung von SCP zulassen oder verbieten (auf 1 oder 0 eingestellt) |
scp_upload | Verbot SCP -Upload |
scp_download | Verbot SCP -Download |
sftp | Erlauben Sie der Verwendung von SFTP (auf 1 oder 0 eingestellt) |
übertrieben | Liste des Befehls, der über SSH ausgeführt werden kann |
strikt | Striktheit anmelden. 1 Für einen unbekannten Befehl wird als verboten und 0 als unbekannt angesehen |
scpforce | Erzwingen Sie die über SCP in ein bestimmtes Verzeichnis gesendeten Dateien |
history_size | Historie -Datei Maximale Größe |
history_file | Legen Sie den Historie -Dateinamen fest (Standard ist/home/%u/.lhistory) |
login_script | Definieren Sie das Skript, das bei der Benutzeranmeldung ausgeführt werden soll |
- « So upgraden Sie auf Fedora 23 von Fedora 22 mit DNF ein
- Authz_CoreError -Client durch Serverkonfiguration abgelehnt »