Cómo restringir el acceso SSH para el usuario con LSHELL (shell limitado)
- 3754
- 1220
- Sra. María Teresa Rentería
Lshell o Limited Shell está escrito en Python para limitar el usuario para un conjunto específico de comandos y directorios. Puede crear un entorno de usuario con acceso limitado, también puede habilitar los comandos de deshabilitar a través del acceso SSH.
Instalar concha limitada
Use el siguiente comando para instalar el paquete LSHELL en su sistema basado en Debian. Para otro sistema operativo, debe buscar en Google un paquete de LSHELL para su distribución.
$ sudo apt-get install lshell
Cambiar el usuario a LSHELL
Ahora establezca el lshell como shell predeterminado para los usuarios para el que se le requiera. Por ejemplo, para cambiar el caparazón del usuario Sarah.
$ sudo chsh sarah Cambio del shell de inicio de sesión para Sarah Ingrese el nuevo valor, o presione Entrar para el shell de inicio de sesión predeterminado [/bin/lshell]:/usr/bin/lshell
También puede establecer el lshell como shell predeterminado para el usuario durante la creación de la cuenta de usuario como lo siguiente.
$ sudo adduser --shell/usr/bin/lshell raj
Configurar LSHELL
Ahora comience con la configuración de Lshell. Editar archivo de configuración de Lshell /etc/lshell.confusión. Hay 4 secciones básicas en el archivo de configuración.
- [global] : En esta sección define la configuración que se aplicó a nivel mundial. Por ejemplo, registros.
- [por defecto] : En esta sección establecemos valores predeterminados que aplicaron a todos los usuarios y grupos. La configuración de esta sección se puede anular con la configuración específica del usuario y del grupo.
- [NOMBRE DE USUARIO] : En esta sección especificamos configuraciones específicas del usuario. Esta sección Configuración aplicada solo al usuario
- [GRP: GroupName]: En esta sección especificamos configuraciones específicas del grupo. Esta sección Configuración aplicada a todos los usuarios del grupo
A [por defecto] El perfil se aplica para todos los usuarios utilizando LSHELL. Puedes crear [nombre de usuario] sección o un grupo [GRP: Nombre de grupo] Sección para personalizar a los usuarios y agrupar preferencias específicas.
El orden prioritario es Usuario >> Grupo >> Por defecto. La sección de usuario tiene la más alta prioridad y el valor predeterminado tiene la más baja prioridad.
[global] logPath:/var/log/lshell/loglevel: 2 [por defecto] permitido: ['ls', 'pwd', 'cd', 'cat', 'cp'] prohibido: [';', '&', '|', ", '>', '<', '$(', '$'] 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: rueda] advertencia_counter: 5 oversh: - ['ls'] [Raj] permitido: 'all' - ['su', 'rm', 'mv'] ruta: ['/etc', '/usr'] - ['/usr/local'] home_path: '/home/raj' [Sarah] permitido: + ['ping'] - ['ls'] ruta: - ['/usr/local'] Strict: 1 scpforce: '/home/sarah/uploads/'
Por ejemplo, el usuario 'RJA' y el usuario 'Sarah' pertenecen al grupo UNIX 'Wheel':
Rueda grupal:
- Los usuarios de Wheel Group tienen un mostrador de advertencia establecido en 5
- Los usuarios de Wheel Group no se les permite el comando 'LS'.
RAJ de usuario:
- Puede acceder /etc y /var pero no /usr /local
- Puede acceder a todos los comandos en su ruta comandos de ejecución: SU, RM, VM
- tiene un contador de advertencia establecido en 5 [predeterminado]
- tiene su camino de casa establecido en '/home/raj'
Usuario Sarah:
- Puede acceder /hogar y /usr pero no /usr /local
- se permite el comando predeterminado 'ping' pero no 'ls'
- La rigma se establece en 1 (no se le permite escribir un comando desconocido)
Nombre de opción | Explicación |
---|---|
periódico | Directorio de registro (default/var/log/lshell/) |
nivel de registro | Establezca el nivel de registro en 0, 1, 2, 3 o 4 (0: sin registros, 1: menos detallado, 4: registro todos los comandos) |
LogFileName | Configurar el nombre del archivo de registro (el valor predeterminado es %u i.mi. nombre de usuario.registro) |
permitido | Lista de los comandos permitidos o 'todos' para permitir todos los comandos en la ruta del usuario |
prohibido | Una lista de personajes o comandos prohibidos: negar Vim, ya que permite escapar de Lshell |
sudo_commands | Una lista de comando permitido usar con sudo (8) |
advertencia_counter | Número de advertencias Cuando el usuario ingresa un valor prohibido antes de salir de Lshell, establecido en -1 para deshabilitar. |
alias | Lista de alias de comandos (similar a la directiva de alias de Bash) |
introducción | texto de introducción para imprimir (al ingresar a Lshell) |
inmediato | Configure su PROMT usando %U o %H (predeterminado: nombre de usuario) |
apurn_short | Establecer la actualización del directorio actual de ordenación (predeterminado: 0) |
Temporizador | un valor en segundos para el temporizador de sesión |
camino | Lista de ruta para restringir al usuario "geográfico" |
casa_path | Establezca la carpeta de inicio de su usuario |
env_path | Establezca la ruta de la variable de entorno $ del usuario |
permitido_cmd_path | una lista de ruta; Se permitirán todos los archivos ejecutables dentro de esta ruta |
env_vars | Agregar variables de entorno |
SCP | Permitir o prohibir el uso de SCP (establecido en 1 o 0) |
scp_upload | Prohibir la carga SCP |
scp_download | Descargar la descarga de SCP |
sftp | Permitir prohibir el uso de SFTP (establecido en 1 o 0) |
sobreshal | Lista de comando permitido ejecutar sobre SSH |
estricto | Registro de registro. 1 para cualquier comando desconocido se considera prohibido y 0 como desconocido |
scpforce | Force los archivos enviados a través de SCP a un directorio específico |
History_Size | Historial Archivo Tamaño máximo |
History_file | Establecer el nombre del archivo del historial (predeterminado es/home/%u/.Lhistory) |
Login_script | Definir el script para ejecutarse al inicio de sesión del usuario |
- « Cómo actualizar a Fedora 23 desde Fedora 22 usando DNF
- Authz_coreError Cliente denegado por la configuración del servidor »