¿Por qué está restringido 'cd' en rbash / restringido bash?

5

El manual de bash dice:

  

Un shell restringido se comporta de manera idéntica a bash con la excepción de que   Se deshabilitan o no se realizan los siguientes:

     

Cambiando directorios con el cd builtin.

¿Por qué esto no está permitido? ¿Qué agujeros de seguridad cierra esto / qué ataques ayuda a prevenir?

    
pregunta Michael Thorpe 27.07.2016 - 14:35
fuente

1 respuesta

6

Por sí solo, esta medida probablemente no tiene mucho sentido, sin embargo, debe dejar de lado la otra limitación para comprender su función, en particular (citando la página que ha vinculado):

  
  • Especificar nombres de comandos que contengan barras inclinadas.
  •   
  • Especificando un nombre de archivo que contenga una barra inclinada como argumento para el comando . builtin.
  •   
  • Especificar un nombre de archivo que contenga una barra inclinada como un argumento para la opción -p en el comando hash builtin.
  •   

El objetivo de estas limitaciones es garantizar que solo ejecute comandos cuya ruta pertenezca a la variable de entorno $PATH , y en caso de que esta variable incluya el directorio actual ( . ), se cambia el directorio actual al que contiene el el binario deseado permitiría eludir estas limitaciones "basadas en barras".

Además, evitar que el usuario cambie el directorio actual también evitará que ejecute erróneamente o maliciosamente un comando que tendrá un comportamiento diferente según el directorio actual y, en particular, según el contenido del directorio actual (es común que algunos comandos busquen la configuración predeterminada o los archivos de perfil, por ejemplo, en el directorio actual). Esto brinda cierto nivel de garantía sobre el comportamiento del comando que se ejecutará.

    
respondido por el WhiteWinterWolf 27.07.2016 - 18:58
fuente

Lea otras preguntas en las etiquetas