GNU/Linux >> Tutoriales Linux >  >> Linux

rbash – Establecer shell restringido en Linux

rbash representa el shell bash restringido. En UNIX, como operar cuando se crea un usuario, se asigna un shell predeterminado (/bin/bash). Entonces, un usuario puede moverse a los directorios de cualquiera, para evitar esta situación, podemos asignar el shell restringido a un usuario, el shell restringido es como un entorno similar a una cárcel o un entorno chroot.

¿Por qué rbash?

Si bash se inicia con el nombre rbash, o se proporciona la opción -r en la invocación, el shell se restringe. Un shell restringido se utiliza para configurar un entorno más controlado que el shell estándar. Se comporta de manera idéntica a bash con la excepción de que lo siguiente no está permitido o no se realiza:

  • cambiar directorios con cd
  • establecer o desactivar los valores de SHELL, PATH, ENV o BASH_ENV
  • especificar nombres de comandos que contengan /
  • especificar un nombre de archivo que contenga / como argumento para el comando integrado
  • especificar un nombre de archivo que contenga una barra oblicua como argumento para la opción -p del comando integrado hash
  • importar definiciones de funciones desde el entorno de shell al inicio
  • analizar el valor de SHELLOPTS desde el entorno de shell al inicio
  • redirigir la salida utilizando los operadores de redirección>,>|, <>,>&, &> y>>
  • usando el comando integrado exec para reemplazar el shell con otro comando
  • agregar o eliminar comandos incorporados con las opciones -f y -d para habilitar el comando incorporado
  • usando el comando enable builtin para habilitar las funciones integradas de shell deshabilitadas
  • especificando la opción -p en el comando incorporado.
  • desactivar el modo restringido con set +r o set +o restringido.

Cómo configurar shell restringido

Establezca el entorno que desee para un usuario en particular y puede colocar el archivo de inicio:$HOME/.bash_profile, como se muestra a continuación:

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then 
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
bash -r

Ahora inicie sesión con el usuario e intente cambiar los directorios.

$ cd /etc/
bash: cd: restricted

$ cd /tmp/
bash: cd: restricted

Para configurar Shell restringido para todos los usuarios, cree un enlace simbólico de /bin/bash a /bin/rbash:

# cd /bin
# ln -s bash rbash


Linux
  1. Cómo configurar su variable $PATH en Linux

  2. Cómo establecer/crear variables de entorno y shell en Linux

  3. Cómo cambiar Shell en Linux

  4. Cómo configurar Bash Shell restringido en Linux

  5. ¿Cómo configurar permanentemente $PATH en Linux/Unix?

Cómo configurar o cambiar el nombre de host en Linux

Cómo cambiar un Shell de usuario en Linux

Explicación del comando fuente en Linux

¿Qué es Subshell en Linux?

¿Qué es Login Shell en Linux?

8 tipos de shells de Linux