AnglaisFrançaisEspagnol

Ad


Icône de favori OnWorks

lshell - En ligne dans le Cloud

Exécutez lshell dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande lshell qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


lshell - Coquille limitée

SYNOPSIS


coquillage [OPTIONS]

DESCRIPTION


coquillage fournit un shell limité configuré par utilisateur. La configuration se fait assez
en utilisant simplement un fichier de configuration. Couplé avec ssh authorised_keys ou avec / etc / shells
ainsi que / Etc / passwd , il devient très facile de restreindre l'accès de l'utilisateur à un ensemble limité de
commander.

OPTIONS


--config
Spécifier le fichier de configuration

--Journal
Spécifiez le répertoire des journaux

--
où est *tout* paramètre de fichier de configuration

-h, --Aidez-moi
Afficher le message d'aide

--version
Montrer la version

CONFIGURATION


Vous pouvez configurer lshell via son fichier de configuration :

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

coquillage la configuration comporte 4 types de sections :

[global] -> coquillage combustion propre paramétrage (seulement 1)
[défaut] -> coquillage défaut utilisateur paramétrage (seulement 1)
[toto] -> UNIX Nom d'utilisateur "toto" groupe de neurones paramétrage
[grp : barre] -> UNIX nom de groupe "bar" groupe de neurones paramétrage

L'ordre de priorité lors du chargement des préférences est le suivant :

1- Utilisateur paramétrage
2- Réservation de groupe paramétrage
3- Réglage par défaut paramétrage

[global]
chemin de journalisation
chemin de configuration (la valeur par défaut est /var/log/lshell/)

loglevel
0, 1, 2, 3 ou 4 (0 : pas de log -> 4 : tout loge)

nom du fichier journal
- mis à syslog pour se connecter à syslog
- définir le nom du fichier journal, par exemple %u-%y%m%d (c'est-à-dire foo-20091009.log) : %u -> nom d'utilisateur
%d -> jour [1..31]
%m -> mois [1..12]
%y -> année [00..99]
%h -> heure [00:00..23:59]

nom_syslog
si vous utilisez syslog, définissez votre nom de journal (par défaut : lshell)

rép_include
inclure un répertoire contenant plusieurs fichiers de configuration. Ces fichiers ne peuvent
contiennent la configuration par défaut/utilisateur/groupe. La configuration globale ne sera
chargé à partir du fichier de configuration par défaut. Cette variable sera étendue (par ex.
/chemin/*.conf).

[défaut] (facultatif) [Nom d'utilisateur] (facultatif) [grp:nom du groupe]
alias
liste d'alias de commande (similaire à la directive d'alias de bash)

permis
une liste des commandes autorisées ou défini sur « all » pour autoriser toutes les commandes dans le PATH de l'utilisateur

allow_cmd_path
une liste de chemin; tous les fichiers exécutables à l'intérieur de ces chemins seront autorisés

chemin_env
mettre à jour la variable d'environnement $PATH de l'utilisateur (facultatif)

env_vars
définir les variables d'environnement (facultatif)

interdit
une liste de caractères ou de commandes interdits

fichier_historique
définir le nom du fichier d'historique. Un caractère générique peut être utilisé :
%u -> nom d'utilisateur (par exemple '/maison/%u/.lhistory')

taille_historique
définir la taille maximale (en lignes) du fichier historique

chemin_accueil (obsolète)
définir le dossier de départ de votre utilisateur. S'il n'est pas spécifié, le répertoire personnel est défini sur
la variable d'environnement $HOME. Cette variable sera supprimée dans la prochaine version
de lshell, veuillez utiliser les outils de votre système pour définir le répertoire personnel d'un utilisateur. UNE
le caractère générique peut être utilisé :
%u -> nom d'utilisateur (par exemple '/maison/%u')

l'intro définir l'introduction à imprimer à la connexion

login_script
définir le script à exécuter lors de la connexion de l'utilisateur

passwd mot de passe d'un utilisateur spécifique (la valeur par défaut est vide)

chemin liste de chemin pour restreindre l'utilisateur géographiquement. Il est possible d'utiliser des caractères génériques
(par exemple '/var/log/ap*').

rapide définir le format d'invite de l'utilisateur (par défaut : nom d'utilisateur)
%u -> nom d'utilisateur
%h -> nom d'hôte

invite_short
définir la mise à jour du répertoire actuel de l'invite de tri - défini sur 1 ou 0 trop liste de commande
autorisé à s'exécuter sur ssh (par exemple rsync, rdiff-backup, scp, etc.)

scp autoriser ou interdire l'utilisation de la connexion scp - défini sur 1 ou 0

scpforce
forcer l'envoi des fichiers via scp vers un répertoire spécifique

scp_télécharger
mis à 0 pour interdire les téléchargements scp (la valeur par défaut est 1)

scp_upload
mis à 0 pour interdire les téléchargements scp (la valeur par défaut est 1)

Sftp autoriser ou interdire l'utilisation de la connexion sftp - défini sur 1 ou 0.

AVERTISSEMENT : cette option ne fonctionnera pas si vous utilisez le service internal-sftp d'OpenSSH
(par exemple lorsqu'il est configuré dans chroot)

sudo_commandes
une liste des commandes autorisées pouvant être utilisées avec sudo(8). S'il est défini sur « all », tout
les commandes 'autorisées' seront accessibles via sudo (8).

Il est possible d'utiliser le drapeau -u sudo afin d'exécuter une commande comme un autre
utilisateur que la racine par défaut.

minuteur une valeur en secondes pour le temporisateur de session

strict la rigueur de la journalisation. Si mis à 1, toute commande inconnue est considérée comme interdite,
et le compteur d'avertissements de l'utilisateur est diminué. Si mis à 0, la commande est considérée comme
inconnu, et l'utilisateur est seulement averti (c'est-à-dire *** synthax inconnu)

compteur_avertissement
nombre d'avertissements lorsque l'utilisateur entre une valeur interdite avant de quitter
lshell. Mis à -1 pour désactiver le compteur, et juste avertir l'utilisateur.

SHELL BÂTI COMMANDES


Voici l'ensemble des commandes qui sont toujours disponibles avec lshell :

clair efface le terminal

Aidez-moi, ?
imprimer la liste des commandes autorisées

Histoire
imprimer l'historique des commandes

lchemin répertorie tous les chemins autorisés et interdits

lsudo répertorie toutes les commandes sudo autorisées

EXEMPLES


$ coquillage
Essaie d'exécuter lshell en utilisant par défaut ${PREFIX}/etc/lshell.conf comme fichier de configuration.
En cas d'échec, un avertissement est affiché et lshell est interrompu. les options lshell sont
chargé depuis le fichier de configuration

$ coquillage --config /chemin/vers/myconf.file --Journal /chemin/vers/monlog.log
Cela remplacera les options par défaut spécifiées pour la configuration et/ou le fichier journal

UTILISATION Adhésion


L'objectif principal de lshell était de pouvoir créer des comptes shell avec un accès ssh et
restreindre leur environnement à quelques commandes nécessaires. Dans cet exemple, l'utilisateur 'foo' et
user 'bar' appartiennent tous deux au groupe UNIX 'users' :

Utilisateur toto :
- doit pouvoir accéder / usr ainsi que / var mais pas / Usr / local
- user all command dans son PATH mais 'su'
- a un compteur d'avertissement réglé à 5
- a son chemin d'accueil défini sur '/home/users'

Utilisateur Café:
- doit pouvoir accéder / Etc ainsi que / usr mais pas / Usr / local
- est autorisé les commandes par défaut plus 'ping' moins 'ls'
- la rigueur est définie sur 1 (ce qui signifie qu'il n'est pas autorisé à taper une commande inconnue)

Dans ce cas, mon fichier de configuration ressemblera à ceci :

# CONFIGURATION La START
[global]
chemin de journalisation : /var/log/lshell/
loglevel : 2

[défaut]
permis : ['ls', 'pwd']
interdit : [';', '&', '|']
compteur_avertissement : 2
minuteur : 0
chemin : ['/ Etc', '/ usr']
chemin_env : ':/ sbin:/ usr / bin /'
scp : 1 # or 0
Sftp : 1 # or 0
trop : ['rsync','ls']
alias : {'ls':'ls --color=auto','ll':'ls -l'}

[grp:utilisateurs]
compteur_avertissement : 5
trop : - ['ls']

[toto]
permis : 'tout' - ['su']
chemin : ['/ var', '/ usr'] - ['/ Usr / local']
chemin_accueil : '/accueil/utilisateurs'

[bar]
permis : + ['ping'] - ['ls']
chemin : - ['/ Usr / local']
strict : 1
scpforce : '/accueil/bar/téléchargements/'
# CONFIGURATION FIN

NOTES


Afin de consigner les avertissements d'un utilisateur dans le répertoire de journalisation (par défaut /var/log/lshell/),
vous devez d'abord créer le dossier (s'il n'existe pas encore) et le copier dans le groupe lshell :

# ajouter un groupe --système coquillage
# mkdir /var/log/lshell
# chown :lshell /var/log/lshell
# chmod 770 /var/log/lshell

puis ajoutez l'utilisateur au coquillage groupe:

# usermod -aG coquillage nom_utilisateur

Afin de définir lshell comme shell par défaut pour un utilisateur :

On linux:
# chsh -s /usr/bin/lshell nom_utilisateur

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

Utiliser lshell en ligne à l'aide des services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

Commandes Linux

Ad