Este es el comando lshell que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
lshell - Carcasa limitada
SINOPSIS
concha [CAMPUS]
DESCRIPCIÓN
concha proporciona un shell limitado configurado por usuario. La configuración se hace bastante
simplemente usando un archivo de configuración. Junto con ssh's claves_autorizadas o con / etc / shells
y / Etc / passwd , resulta muy fácil restringir el acceso del usuario a un conjunto limitado de
mando.
CAMPUS
--config
Especificar archivo de configuración
--Iniciar sesión
Especifique el directorio de registro
-
dónde es * cualquier * parámetro de archivo de configuración
-h, --ayuda
Mostrar mensaje de ayuda
--versión
Mostrar versión
CONFIGURACIÓN
Puede configurar lshell a través de su archivo de configuración:
On Linux -> /etc/lshell.conf
On * BSD -> / usr /{paquete, local} /etc/lshell.conf
concha La configuración tiene 4 tipos de secciones:
[global] -> concha te configuración (solamente 1)
[defecto] -> concha tu préstamo estudiantil usuario configuración (solamente 1)
[foo] -> UNIX nombre de usuario "foo" soluciones y configuración
[grp: bar] -> UNIX Nombre del grupo "bar" soluciones y configuración
El orden de prioridad al cargar las preferencias es el siguiente:
1- Usuario configuración
2- Grupo procesos configuración
3- Predeterminado configuración
[global]
ruta de registro
ruta de configuración (la predeterminada es / var / log / lshell /)
nivel de registro
0, 1, 2, 3 o 4 (0: sin registros -> 4: registra todo)
nombre de archivo de registro
- ajustado a syslog para iniciar sesión en syslog
- establecer el nombre del archivo de registro, por ejemplo,% u-% y% m% d (es decir, foo-20091009.log): %u -> nombre de usuario
%d -> día [1..31]
%m -> mes [1..12]
%y -> año [00..99]
%h -> hora [00: 00..23: 59]
nombre de registro del sistema
en caso de que esté utilizando syslog, configure su nombre de registro (predeterminado: lshell)
incluir_dir
incluir un directorio que contenga varios archivos de configuración. Estos archivos solo pueden
contienen la configuración predeterminada / usuario / grupo. La configuración global solo será
cargado desde el archivo de configuración predeterminado. Esta variable se ampliará (p. Ej.
/ruta/*.conf).
[defecto] y/o [Nombre de usuario] y/o [grp: nombre de grupo]
alias
lista de alias de comando (similar a la directiva de alias de bash)
permitido
una lista de los comandos permitidos o establecer en 'todos' para permitir todos los comandos en la RUTA del usuario
permitido_cmd_path
una lista de ruta; se permitirán todos los archivos ejecutables dentro de esta ruta
ruta_env
actualizar la variable de entorno $ PATH del usuario (opcional)
env_vars
establecer variables de entorno (opcional)
prohibido
una lista de caracteres o comandos prohibidos
archivo_historial
establezca el nombre del archivo de historial. Se puede utilizar un comodín:
%u -> nombre de usuario (por ejemplo, '/casa/% u / .lhistory ')
tamaño_de_la_historia
establecer el tamaño máximo (en líneas) del archivo histórico
ruta_inicio (obsoleto)
establezca la carpeta de inicio de su usuario. Si no se especifica, el directorio de inicio se establece en
la variable de entorno $ HOME. Esta variable se eliminará en la próxima versión.
de lshell, utilice las herramientas de su sistema para configurar el directorio de inicio de un usuario. A
Se puede utilizar comodín:
%u -> nombre de usuario (por ejemplo, '/casa/% u ')
intro configurar la introducción para imprimir al iniciar sesión
inicio de sesión_script
definir el script que se ejecutará en el inicio de sesión del usuario
passwd contraseña de un usuario específico (la predeterminada está vacía)
camino lista de ruta para restringir geográficamente al usuario. Es posible utilizar comodines
(por ejemplo, '/ var / log / ap *').
puntual establecer el formato de solicitud del usuario (predeterminado: nombre de usuario)
%u -> nombre de usuario
%h -> nombre de host
aviso_corto
establecer la actualización del directorio actual del indicador de clasificación: establecer en 1 o 0 overssh lista de mando
permitido ejecutar sobre ssh (por ejemplo, rsync, rdiff-backup, scp, etc.)
scp permitir o prohibir el uso de la conexión scp - establecer en 1 o 0
fuerza scp
forzar archivos enviados a través de scp a un directorio específico
scp_descargar
establecer en 0 para prohibir las descargas de scp (el valor predeterminado es 1)
scp_upload
establecer en 0 para prohibir las cargas de scp (el valor predeterminado es 1)
Sftp permitir o prohibir el uso de la conexión sftp - establecer en 1 o 0.
ADVERTENCIA: esta opción no funcionará si está utilizando el servicio sftp interno de OpenSSH
(por ejemplo, cuando está configurado en chroot)
sudo_commands
una lista de los comandos permitidos que se pueden utilizar con sudo(8). Si se establece en 'todos', todos
los comandos 'permitidos' serán accesibles a través de sudo(8).
Es posible usar el indicador -u sudo para ejecutar un comando como un
usuario que la raíz predeterminada.
minutero un valor en segundos para el temporizador de sesión
estricto rigurosidad de la tala. Si se establece en 1, cualquier comando desconocido se considera prohibido,
y el contador de advertencias del usuario se reduce. Si se establece en 0, el comando se considera como
desconocido, y el usuario solo recibe una advertencia (es decir, *** Synthax desconocido)
contador_de_advertencia
número de advertencias cuando el usuario ingresa un valor prohibido antes de salir de
lshell. Ajustado a -1 para deshabilitar el contador y simplemente advertir al usuario.
SHELL INCORPORADO COMANDOS
Aquí está el conjunto de comandos que siempre están disponibles con lshell:
limpiar borra la terminal
ayuda, ?
imprimir la lista de comandos permitidos
historia
imprimir el historial de comandos
camino enumera todas las rutas permitidas y prohibidas
lsudo enumera todos los comandos permitidos de sudo
EJEMPLOS
$ concha
Intenta ejecutar lshell usando $ {PREFIX} /etc/lshell.conf predeterminado como archivo de configuración.
Si falla, se imprime una advertencia y lshell se interrumpe. Las opciones de lshell son
cargado desde el archivo de configuración
$ concha --config /ruta/a/myconf.file --Iniciar sesión /ruta/a/mylog.log
Esto anulará las opciones predeterminadas especificadas para la configuración y / o el archivo de registro.
USO CASE
El objetivo principal de lshell era poder crear cuentas de shell con acceso ssh y
restringir su entorno a un par de comandos necesarios. En este ejemplo, el usuario 'foo' y
user 'bar' ambos pertenecen al grupo UNIX de 'usuarios':
Usuario Foo:
- debe poder acceder / usr y / var pero no / usr / local
- el usuario tiene todos los comandos en su RUTA pero 'su'
- tiene un contador de advertencia establecido en 5
- tiene su ruta de inicio establecida en '/ home / users'
Usuario Cafetería:
- debe poder acceder / Etc y / usr pero no / usr / local
- se permiten comandos predeterminados más 'ping' menos 'ls'
- el rigor se establece en 1 (lo que significa que no se le permite escribir un comando desconocido)
En este caso, mi archivo de configuración se verá así:
# CONFIGURACIÓN EMPIEZA
[global]
ruta de registro : / var / log / lshell /
nivel de registro : 2
[defecto]
permitido : ['ls', 'pwd']
prohibido : [';', '&', '|']
contador_de_advertencia : 2
minutero : 0
camino : ['/ Etc', '/ usr']
ruta_env : ':/ sbin:/ usr / bin /'
scp : 1 # or 0
Sftp : 1 # or 0
overssh : ['rsync', 'ls']
alias : {'ls': 'ls --color = auto ',' ll ':' ls -l '}
[grp: usuarios]
contador_de_advertencia : 5
overssh : - ['ls']
[foo]
permitido : 'todos' - ['su']
camino : ['/ var', '/ usr'] - ['/ usr / local']
ruta_inicio : '/ inicio / usuarios'
[bar]
permitido : + ['silbido'] - ['ls']
camino : - ['/ usr / local']
estricto : 1
fuerza scp : '/ inicio / bar / uploads /'
# CONFIGURACIÓN FIN
NOTAS
Para registrar las advertencias de un usuario en el directorio de registro (predeterminado / var / log / lshell /),
primero debe crear la carpeta (si aún no existe) y asignarla al grupo lshell:
# añadir grupo --sistema concha
# mkdir / var / log / lshell
# chown : lshell / var / log / lshell
# chmod 770 / var / log / lshell
luego agregue el usuario al concha grupo:
# usermod -ag concha nombre_usuario
Para configurar lshell como shell predeterminado para un usuario:
On Linux:
# chsh -s / usr / bin / lshell nombre_usuario
On * BSD:
# chsh -s / usr /{paquete, local} / bin / lshell nombre_usuario
Utilice lshell en línea utilizando los servicios de onworks.net