EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

lshell – Online in der Cloud

Führen Sie lshell im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist die Befehls-Lshell, die beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


lshell – Begrenzte Shell

ZUSAMMENFASSUNG


lshell [OPTIONAL]

BESCHREIBUNG


lshell Bietet eine begrenzte Shell, die pro Benutzer konfiguriert wird. Die Konfiguration ist durchaus erledigt
einfach über eine Konfigurationsdatei. Gekoppelt mit SSHs autorisierte_Tasten oder / etc / shells
und / etc / passwd wird es sehr einfach, den Benutzerzugriff auf eine begrenzte Anzahl von Benutzern zu beschränken
Befehl.

OPTIONAL


--config
Geben Sie die Konfigurationsdatei an

--Protokoll
Geben Sie das Protokollverzeichnis an

--
Wo ist *beliebiger* Konfigurationsdateiparameter

-H, --help
Hilfenachricht anzeigen

--Version
Version anzeigen

CONFIGURATION


Sie können lshell über seine Konfigurationsdatei konfigurieren:

On Linux -> /etc/lshell.conf
On * BSD -> / usr /{pkg,local}/etc/lshell.conf

lshell Die Konfiguration verfügt über 4 Arten von Abschnitten:

[global] -> lshell System Konfiguration (nur 1)
[Ursprünglich] -> lshell Standard Benutzer Konfiguration (nur 1)
[foo] -> UNIX Benutzername "foo" spezifisch Konfiguration
[grp:bar] -> UNIX Gruppenname "Bar" spezifisch Konfiguration

Die Prioritätsreihenfolge beim Laden der Einstellungen ist folgende:

1- Mitglied Konfiguration
2- Gruppe an Konfiguration
3- Standard Konfiguration

[global]
Protokollpfad
Konfigurationspfad (Standard ist /var/log/lshell/)

loglevel
0, 1, 2, 3 oder 4 (0: keine Protokolle -> 4: protokolliert alles)

Logdateiname
- einstellen syslog um sich im Syslog anzumelden
- Legen Sie den Namen der Protokolldatei fest, z. B. %u-%y%m%d (z. B. foo-20091009.log): %u -> Benutzername
%d -> Tag [1..31]
%m -> Monat [1..12]
%y -> Jahr [00..99]
%h -> Uhrzeit [00:00..23:59]

Syslogname
Wenn Sie Syslog verwenden, legen Sie Ihren Protokollnamen fest (Standard: lshell).

include_dir
Fügen Sie ein Verzeichnis mit mehreren Konfigurationsdateien hinzu. Diese Dateien können nur
enthalten die Standard-/Benutzer-/Gruppenkonfiguration. Die globale Konfiguration wird nur sein
wird aus der Standardkonfigurationsdatei geladen. Diese Variable wird erweitert (z. B
/path/*.conf).

[Ursprünglich] und / oder [Benutzername] und / oder [Gruppe:Gruppenname]
Aliase
Liste der Befehlsaliase (ähnlich der Alias-Direktive von Bash)

erlaubt
Eine Liste der zulässigen Befehle oder auf „alle“ setzen, um alle Befehle im PATH des Benutzers zuzulassen

erlaubter_cmd_pfad
eine Liste von Pfaden; Alle ausführbaren Dateien innerhalb dieses Pfads sind zulässig

env_path
Aktualisieren Sie die Umgebungsvariable $PATH des Benutzers (optional)

env_vars
Umgebungsvariablen festlegen (optional)

verboten
eine Liste verbotener Zeichen oder Befehle

History_file
Legen Sie den Namen der Verlaufsdatei fest. Ein Platzhalter kann verwendet werden:
%u -> Benutzername (z. B. '/Zuhause/%u/.lhistory‘)

History_size
Legen Sie die maximale Größe (in Zeilen) der Verlaufsdatei fest

home_path (veraltet)
Legen Sie den Home-Ordner Ihres Benutzers fest. Wenn nicht angegeben, wird das Home-Verzeichnis auf festgelegt
die Umgebungsvariable $HOME. Diese Variable wird in der nächsten Version entfernt
von lshell verwenden Sie bitte die Tools Ihres Systems, um das Home-Verzeichnis eines Benutzers festzulegen. A
Platzhalter können verwendet werden:
%u -> Benutzername (z. B. '/Zuhause/%u')

Intro Legen Sie fest, dass die Einführung beim Anmelden gedruckt wird

login_script
Definieren Sie das Skript, das bei der Benutzeranmeldung ausgeführt werden soll

passwd Passwort eines bestimmten Benutzers (Standard ist leer)

Weg Liste der Pfade, um den Benutzer geografisch einzuschränken. Es ist möglich, Platzhalter zu verwenden
(zB '/var/log/ap*').

Eingabeaufforderung Legen Sie das Eingabeaufforderungsformat des Benutzers fest (Standard: Benutzername).
%u -> Benutzername
%h -> Hostname

prompt_short
Sortieraufforderung für aktuelle Verzeichnisaktualisierung festlegen – auf 1 oder 0 setzen übersch Liste der Befehle
darf über ssh ausgeführt werden (z. B. rsync, rdiff-backup, scp usw.)

scp Erlauben oder verbieten Sie die Verwendung der SCP-Verbindung – auf 1 oder 0 setzen

scpforce
Erzwingen Sie, dass Dateien über scp an ein bestimmtes Verzeichnis gesendet werden

scp_download
auf 0 setzen, um SCP-Downloads zu verbieten (Standard ist 1)

scp_upload
auf 0 setzen, um SCP-Uploads zu verbieten (Standard ist 1)

Sftp Erlauben oder verbieten Sie die Verwendung einer SFTP-Verbindung – auf 1 oder 0 eingestellt.

WARNUNG: Diese Option funktioniert nicht, wenn Sie den internen SFTP-Dienst von OpenSSH verwenden
(z. B. bei Konfiguration in Chroot)

sudo_commands
eine Liste der erlaubten Befehle, die mit verwendet werden können sudo(8). Wenn auf „alle“ gesetzt, alle
Auf die „erlaubten“ Befehle kann über zugegriffen werden sudo(8).

Es ist möglich, das Flag -u sudo zu verwenden, um einen Befehl anders auszuführen
Benutzer als der Standard-Root.

Timer ein Wert in Sekunden für den Sitzungstimer

streng Protokollierungsstrenge. Bei der Einstellung 1 gilt jeder unbekannte Befehl als verboten.
und der Warnzähler des Benutzers wird verringert. Wenn auf 0 gesetzt, wird der Befehl als betrachtet
unbekannt, und der Benutzer wird nur gewarnt (z. B. *** unbekannte Synthax)

warning_counter
Anzahl der Warnungen, wenn der Benutzer einen verbotenen Wert eingibt, bevor er beendet wird
lshell. Einstellen -1 um den Zähler zu deaktivieren und den Benutzer einfach zu warnen.

SHELL GEBAUT BEFEHLE


Hier ist der Befehlssatz, der mit lshell immer verfügbar ist:

klar löscht das Terminal

Hilfe, ?
Drucken Sie die Liste der zulässigen Befehle aus

Geschichte
Drucken Sie den Befehlsverlauf aus

lpath listet alle erlaubten und verbotenen Pfade auf

lsudo listet alle von sudo erlaubten Befehle auf

Beispiele:


$ lshell
Versucht, lshell mit der Standardkonfigurationsdatei ${PREFIX}/etc/lshell.conf auszuführen.
Wenn dies fehlschlägt, wird eine Warnung ausgegeben und lshell wird unterbrochen. lshell-Optionen sind
aus der Konfigurationsdatei geladen

$ lshell --config /path/to/myconf.file --Protokoll /path/to/mylog.log
Dadurch werden die für die Konfiguration und/oder die Protokolldatei angegebenen Standardoptionen überschrieben

VERWENDUNG CASE


Das Hauptziel von lshell bestand darin, Shell-Konten mit SSH-Zugriff erstellen zu können
Beschränken Sie ihre Umgebung auf ein paar benötigte Befehle. In diesem Beispiel sind Benutzer 'foo' und
Benutzer „bar“ gehören beide zur UNIX-Gruppe „users“:

Mitglied foo:
- muss zugänglich sein / usr und / var aber nicht Verzeichnis / usr / local
- Benutzer alle Befehle in seinem PFAD außer „su“
- hat einen Warnzähler, der auf 5 gesetzt ist
- hat seinen Home-Pfad auf „/home/users“ gesetzt

Mitglied Bar:
- muss zugänglich sein / Etc und / usr aber nicht Verzeichnis / usr / local
- Erlaubt sind Standardbefehle plus „ping“ minus „ls“
- Strenge ist auf 1 gesetzt (d. h. er darf keinen unbekannten Befehl eingeben)

In diesem Fall sieht meine Konfigurationsdatei etwa so aus:

# KONFIURATION Starte das Spiel
[global]
Protokollpfad : /var/log/lshell/
loglevel : 2

[Ursprünglich]
erlaubt : ['ls','pwd']
verboten : [';', '&', '|']
warning_counter : 2
Timer : 0
Weg : ['/ Etc', '/ usr']
env_path : ':/ sbin:/ usr / bin /'
scp : 1 # or 0
Sftp : 1 # or 0
übersch : ['rsync','ls']
Aliase : {'ls':'ls --color=auto','ll':'ls -l'}

[grp:Benutzer]
warning_counter : 5
übersch : - ['ls']

[foo]
erlaubt : 'alle' - ['su']
Weg : ['/ var', '/ usr'] - ['Verzeichnis / usr / local']
home_path : '/home/users'

[Bar]
erlaubt : + ['Klingeln'] - ['ls']
Weg : - ['Verzeichnis / usr / local']
streng : 1
scpforce : '/home/bar/uploads/'
# KONFIURATION ENDE

ANMERKUNG


Um die Warnungen eines Benutzers im Protokollierungsverzeichnis zu protokollieren (Standard). /var/log/lshell/),
Sie müssen zuerst den Ordner erstellen (falls er noch nicht existiert) und ihn in die lshell-Gruppe übertragen:

# Gruppe hinzufügen --System lshell
# mkdir /var/log/lshell
# chown :lshell /var/log/lshell
# chmod 770 /var/log/lshell

Fügen Sie dann den Benutzer hinzu lshell Gruppe:

# usermod -aG lshell user_name

Um lshell als Standard-Shell für einen Benutzer festzulegen:

On Linux:
# chsch -s /usr/bin/lshell user_name

On *BSD:
# chsch -s / usr /{pkg,local}/bin/lshell user_name

Verwenden Sie lshell online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad