Articulo de referencia

chsh

chsh (abreviatura de "change shell") es un comando en sistemas operativos tipo Unix que se utiliza para cambiar el intérprete de comandos de inicio de sesión . Los usuarios pued...

chsh (abreviatura de "change shell") es un comando en sistemas operativos tipo Unix que se utiliza para cambiar el intérprete de comandos de inicio de sesión . Los usuarios pueden proporcionar la ruta del intérprete de comandos al que desean cambiar en la línea de comandos, o no proporcionar ningún argumento, en cuyo caso chsh permite al usuario cambiar el intérprete de comandos de forma interactiva. [ 1 ]

Uso

chsh es un programa setuid que modifica el archivo /etc/passwd y solo permite a los usuarios normales modificar sus propios shells de inicio de sesión. El superusuario puede modificar los shells de otros usuarios, proporcionando el nombre del usuario cuyo shell se va a modificar como argumento de línea de comandos. Por razones de seguridad, los shells que pueden especificar tanto los usuarios normales como el superusuario están limitados por el contenido del archivo /etc/shells , y la ruta del shell debe ser exactamente como aparece en dicho archivo. (Esta característica de seguridad se puede modificar recompilando el código fuente del comando con una opción de configuración diferente, por lo que no necesariamente está habilitada en todos los sistemas). Sin embargo, el superusuario también puede modificar el archivo de contraseñas directamente, estableciendo el shell de cualquier usuario a cualquier archivo ejecutable del sistema sin referencia a /etc/shells y sin usar chsh . [ 1 ] [ 2 ] [ 3 ]

En la mayoría de los sistemas, cuando se invoca chsh sin la opción de línea de comandos -s (para especificar el nombre del intérprete de comandos), solicita al usuario que seleccione uno. En Mac OS X , si se invoca sin la opción -s , chsh muestra un archivo de texto en el editor predeterminado (inicialmente configurado como vim) que permite al usuario cambiar todas las características de su cuenta de usuario que tiene permiso para cambiar; la ruta del intérprete de comandos es el nombre que aparece junto a "Shell:". Cuando el usuario cierra vim, los cambios realizados allí se transfieren al archivo /etc/passwd, que solo el usuario root puede modificar directamente. [ 2 ] [ 4 ]

El uso de la opción -s (por ejemplo: ) simplifica enormemente la tarea de cambiar de shell.% chsh-s/usr/local/bin/bash

Dependiendo del sistema, chsh puede o no solicitar al usuario una contraseña antes de cambiar de intérprete de comandos o entrar en modo interactivo. En algunos sistemas, el administrador del sistema deshabilita por completo el uso de chsh por parte de usuarios que no son root. [ 4 ]

En muchas distribuciones de Linux , el comando chsh es una aplicación compatible con PAM . Por lo tanto, su comportamiento se puede personalizar para cada usuario mediante las opciones de configuración de PAM. Por ejemplo, se puede usar una directiva de autenticación que especifique el módulo pam_listfile.so para denegar el acceso a chsh a usuarios individuales, especificando un archivo con los nombres de usuario a los que se les deniega el acceso con la opción listfile= de ese módulo (junto con la opción sense=deny ). [ 5 ]

Portabilidad

POSIX no describe utilidades como chsh , que se utilizan para modificar la entrada del usuario en /etc/passwd . La mayoría de los sistemas tipo Unix proporcionan chsh . [ 6 ] Los sistemas basados ​​en SVr4 proporcionaban una capacidad similar con passwd . Dos de los tres sistemas restantes ( IBM AIX [ 7 ] y HP-UX [ 8 ] ) proporcionan chsh además de passwd -e . La excepción es Solaris , donde los no administradores no pueden cambiar su shell a menos que se instale un servidor de nombres de red como NIS o NIS+ . [ 9 ] [ 10 ] El sistema obsoleto [ 11 ] SGI SVr4 IRIX64 también carecía de chsh .

Véase también

Referencias

  1. 1 2 Cameron Newham y Bill Rosenblatt (2005). Aprendiendo el shell Bash: [ Programación de shell Unix ] . O'Reilly. 272 ​​págs . ISBN  0596009658.
  2. 1 2 Mark G. Sobell y Peter Seebach (2005). Una guía práctica de Unix para usuarios de Mac OS X. Prentice Hall PTR. pág. 448. ISBN  0131863339.
  3. Æleen Frisch (2002). Administración esencial de sistemas . O'Reilly. pág. 238. ISBN  0596003439.
  4. 1 2 Deborah S. Ray y Eric J. Ray (1998). Unix . Peachpit Press. pp. 47. ISBN  0201353954.
  5. Scott Mann y Ellen L. Mitchell (2000). Seguridad del sistema Linux: Guía del administrador para herramientas de seguridad de código abierto . Prentice Hall PTR. págs. 101–102 . ISBN  0130158070.
  6. Nelson Beebe (11 de agosto de 2005). " Disponibilidad del comando chsh " .
  7. "Comando chsh del Centro de Conocimiento de IBM" . IBM . Consultado el 24 de enero de 2015 .
  8. "chsh(1)" . Hewlett Packard. Archivado del original el 28 de enero de 2015. Recuperado el 24 de enero de 2015 .
  9. Peter Smulder (12 de marzo de 2000), chsh en Solaris , LinuxForum
  10. Henry van Cleef (4 de febrero de 2005). "Se necesita la función de cambio de shell chsh de usuario para Solaris" . LinuxForum.
  11. "SGI - Servicios y soporte: El soporte de SGI para los productos MIPS IRIX continúa hasta diciembre de 2013" . Archivado del original el 6 de julio de 2009. Consultado el 24 de enero de 2015 .

Lecturas adicionales

  • Cynthia Gibas y Per Jambeck (2001). Desarrollo de habilidades informáticas en bioinformática . O'Reilly. págs. 89-90 . ISBN  1565926641. algunos ejemplos de cómo invocar chsh con las opciones -s y -l
Obtenido de " https://en.wikipedia.org/w/index.php?title=Chsh&oldid=1344227463 "