Questo è il comando lshell che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
lshell: shell limitata
SINOSSI
lshell [VERSIONI]
DESCRIZIONE
lshell fornisce una shell limitata configurata per utente. La configurazione è abbastanza fatta
semplicemente utilizzando un file di configurazione. Accoppiato con ssh Authorized_keys o con / etc / shells
ed /etc/passwd , diventa molto semplice limitare l'accesso dell'utente a un insieme limitato di
comando.
VERSIONI
--config
Specificare il file di configurazione
--tronco d'albero
Specificare la directory del registro
--
Dove è *qualsiasi* parametro del file di configurazione
-H, --Aiuto
Mostra messaggio di aiuto
--versione
Mostra la versione
CONFIGURAZIONE
Puoi configurare lshell tramite il suo file di configurazione:
On Linux -> /etc/lshell.conf
On * BSD -> / usr /{pkg,locale}/etc/lshell.conf
lshell la configurazione prevede 4 tipi di sezioni:
[globale] -> lshell sistema configurazione (solo 1)
[predefinito] -> lshell difetto Utente configurazione (solo 1)
[pippo] -> UNIX nome utente "foo" specifico configurazione
[gr:barra] -> UNIX nome del gruppo "bar" specifico configurazione
L'ordine di priorità durante il caricamento delle preferenze è il seguente:
1- Utente configurazione
2- Gruppo configurazione
3- Predefinito configurazione
[globale]
logpath
percorso di configurazione (il valore predefinito è /var/log/lshell/)
loglevel
0, 1, 2, 3 o 4 (0: nessun registro -> 4: registra tutto)
nomefile di log
- impostato syslog per accedere a syslog
- imposta il nome del file di registro, ad esempio %u-%y%m%d (cioè foo-20091009.log): %u -> nome utente
%d -> giorno [1..31]
%m -> mese [1..12]
%y -> anno [00..99]
%h -> ora [00:00..23:59]
nomelogsistema
nel caso in cui utilizzi syslog, imposta il tuo nome di registro (predefinito: lshell)
include_dir
includere una directory contenente più file di configurazione. Questi file possono solo
contenere la configurazione predefinita/utente/gruppo. La configurazione globale sarà solo
caricato dal file di configurazione predefinito. Questa variabile verrà espansa (es
/percorso/*.conf).
[predefinito] e / o [Nome utente] e / o [grp:nome gruppo]
alias
elenco degli alias dei comandi (simile alla direttiva alias di bash)
permesso
un elenco dei comandi consentiti o impostarlo su "tutti" per consentire tutti i comandi nel PERCORSO dell'utente
percorso_cmd_permesso
un elenco di percorsi; saranno consentiti tutti i file eseguibili all'interno di questo percorso
percorso_env
aggiorna la variabile d'ambiente $PATH dell'utente (facoltativo)
env_vars
impostare le variabili di ambiente (facoltativo)
vietato
un elenco di caratteri o comandi vietati
file_storia
impostare il nome del file della cronologia. È possibile utilizzare un carattere jolly:
%u -> nome utente (es. '/casa/%u/.lstoria')
storia_dimensione
imposta la dimensione massima (in righe) del file della cronologia
percorso_home (deprecato)
imposta la cartella home del tuo utente. Se non specificato, la directory home è impostata su
la variabile d'ambiente $HOME. Questa variabile verrà rimossa nella prossima versione
di lshell, utilizza gli strumenti del tuo sistema per impostare la directory home di un utente. UN
è possibile utilizzare il carattere jolly:
%u -> nome utente (es. '/casa/%u')
intro imposta l'introduzione da stampare all'accesso
login_script
definire lo script da eseguire all'accesso dell'utente
passwd password di un utente specifico (l'impostazione predefinita è vuota)
sentiero elenco di percorsi per limitare geograficamente l'utente. È possibile utilizzare caratteri jolly
(ad esempio '/var/log/ap*').
pronto imposta il formato del prompt dell'utente (predefinito: nome utente)
%u -> nome utente
%h ->nome host
prompt_breve
imposta l'aggiornamento della directory corrente del prompt di ordinamento: imposta su 1 o 0 overssh elenco dei comandi
consentito l'esecuzione su ssh (ad esempio rsync, rdiff-backup, scp, ecc.)
SCP consentire o vietare l'uso della connessione scp: impostare su 1 o 0
scpforce
forzare i file inviati tramite scp a una directory specifica
scp_download
impostato su 0 per vietare i download di scp (il valore predefinito è 1)
scp_upload
impostato su 0 per vietare i caricamenti scp (il valore predefinito è 1)
sftp consentire o vietare l'uso della connessione sftp: impostare su 1 o 0.
ATTENZIONE: questa opzione non funzionerà se stai utilizzando il servizio sftp interno di OpenSSH
(ad esempio quando configurato in chroot)
sudo_commands
un elenco dei comandi consentiti con cui è possibile utilizzare sudo(8). Se impostato su "all", tutto
i comandi 'consentiti' saranno accessibili tramite sudo(8).
È possibile utilizzare il flag -u sudo per eseguire un comando in modo diverso
utente rispetto al root predefinito.
timer un valore in secondi per il timer della sessione
rigoroso rigore nella registrazione. Se impostato a 1, qualsiasi comando sconosciuto è considerato vietato,
e il contatore degli avvisi dell'utente viene diminuito. Se impostato su 0, il comando viene considerato come
sconosciuto e l'utente viene solo avvisato (ovvero *** sintassi sconosciuta)
contatore_avviso
numero di avvisi quando l'utente inserisce un valore proibito prima di uscire
lshell. Impostato -1 per disabilitare il contatore e avvisare semplicemente l'utente.
SHELL COSTRUZIONE COMANDI
Ecco l'insieme di comandi sempre disponibili con lshell:
pulire campo cancella il terminale
Aiuto, ?
stampa l'elenco dei comandi consentiti
storia
stampare la cronologia dei comandi
lpath elenca tutti i percorsi consentiti e vietati
lsudo elenca tutti i comandi consentiti da sudo
ESEMPI
$ lshell
Tenta di eseguire lshell utilizzando il file di configurazione ${PREFIX}/etc/lshell.conf predefinito.
Se fallisce viene stampato un avviso e lshell viene interrotta. le opzioni di lshell sono
caricato dal file di configurazione
$ lshell --config /percorso/del/mioconf.file --tronco d'albero /percorso/del/miolog.log
Ciò sovrascriverà le opzioni predefinite specificate per la configurazione e/o il file di registro
USO CASSA
L'obiettivo principale di lshell era quello di poter creare account shell con accesso ssh e
limitare il loro ambiente a un paio di comandi necessari. In questo esempio, l'utente 'foo' e
l'utente 'bar' appartiene entrambi al gruppo UNIX 'users':
Utente pippo:
- deve poter accedere / usr ed / var ma non / Usr / local
- utilizza tutti i comandi nel suo PERCORSO tranne 'su'
- ha un contatore di avvisi impostato su 5
- ha il percorso home impostato su "/home/users"
Utente sbarra:
- deve poter accedere / Etc ed / usr ma non / Usr / local
- sono consentiti i comandi predefiniti più 'ping' meno 'ls'
- la severità è impostata su 1 (il che significa che non gli è consentito digitare un comando sconosciuto)
In questo caso, il mio file di configurazione sarà simile a questo:
# CONFIURAZIONE ENTRA IN
[globale]
logpath : /var/log/lshell/
loglevel : 2
[predefinito]
permesso : ['ls','pwd']
vietato : [';', '&', '|']
contatore_avviso : 2
timer : 0
sentiero : ['/ Etc', '/ usr']
percorso_env : ':/ sbin:/ usr / bin /'
SCP : 1 # or 0
sftp : 1 # or 0
overssh : ['rsync','ls']
alias : {'ls':'ls --color=auto','ll':'ls -l'}
[grp:utenti]
contatore_avviso : 5
overssh : - ['ls']
[pippo]
permesso : 'Tutti' - ['su']
sentiero : ['/ var', '/ usr'] - ['/ Usr / local']
percorso_home : '/casa/utenti'
[sbarra]
permesso : + ['ping'] - ['ls']
sentiero : - ['/ Usr / local']
rigoroso : 1
scpforce : '/home/bar/caricamenti/'
# CONFIURAZIONE FINE
NOTE
Per registrare gli avvisi di un utente nella directory di registrazione (default /var/log/lshell/),
devi prima creare la cartella (se non esiste ancora) e assegnarla al gruppo lshell:
# aggiungere gruppo --sistema lshell
# mkdir /var/log/lshell
# chown :lshell /var/log/lshell
# chmod 770 /var/log/lshell
quindi aggiungi l'utente al file lshell gruppo:
# usermod -aG lshell nome_utente
Per impostare lshell come shell predefinita per un utente:
On Linux:
# caspita -s /usr/bin/lshell nome_utente
On *BSD:
# caspita -s / usr /{pkg,locale}/bin/lshell nome_utente
Utilizza lshell online utilizzando i servizi onworks.net