Lab14 4 5-Efraín Vera
Lab14 4 5-Efraín Vera
Lab14 4 5-Efraín Vera
Trasfondo:
En este laboratorio, el alumno trabajará con archivos de inicialización UNIX para personalizar el entorno de
login de los shells Korn o Bash y adaptar diversas opciones a las necesidades del alumno. En el laboratorio
anterior, el alumno trabajó con alias y prompts personalizados que sólo se activaban para la sesión actual.
Cuando el alumno cerraba la ventana de terminal o hacía logout, las configuraciones personalizadas se
perdían. Éstas y otras características pueden hacerse disponibles automáticamente cada vez que el alumno
hace login modificando archivos de inicialización específicos. En este laboratorio el alumno trabajará con
diversos archivos de inicialización para hacer que estos cambios tengan efecto cada vez que el alumno haga
login. El alumno también repasará archivos de inicialización y variables de todo el sistema y específicos del
usuario.
Herramientas / Preparación:
a) Antes de iniciar este laboratorio, el alumno deberá repasar el Capítulo 14, Sección 3 – Variables
del Shell y Prompts Personalizados y Sección 4 – Archivos de Inicialización delShell.
b) El alumno necesitará losiguiente:
1. Una ID de login de usuario, por ejemplo user2 y contraseña asignadas por el instructor.
2. Una computadora que funcione con el sistema operativoUNIX.
3. Computadorasenredenelaulaconelsistemadearchivosdelaclaseinstalado.
Notas:
1– 8 Conceptos Fundamentales sobre UNIX 2.0—-Laboratorio 14.4.5 Copyright © 2002, Cisco Systems, Inc.
Utilice el diagrama del árbol de directorios del sistema de Archivos de la Clase para que lo asista en este
laboratorio.
Estructura del Árbol de Archivos de la Clase
Variables:en el laboratorio anterior, el alumno trabajó con variables tales comoPS1(promptstring 1) para
personalizar el prompt del shell Korn o Bash. Puesto que estas variables estaban definidas desde la línea de
comandos y no se colocaban en un archivo de inicialización, sólo permanecían activas para el shell actual y
cuando ese shell se cerraba, las variables se perdían. En este laboratorio, el alumno editará los archivos de
inicialización y agregará variables y comandos para que dichas variables y comandos estén disponibles cada
vez que el alumno hace login. Las variables son predefinidas y se configuran automáticamente al hacer login,
o son configuradas por el usuario. El administrador del sistema también puede configurar variables para el
usuario. Las variables pueden aplicarse al shell actual o local únicamente o a todos los shells y subshells, como
shells globales, dependiendo de en qué archivo de inicialización se encuentran. Los usuarios
puedenpersonalizarmuchasdeestasvariablesparasupropioentornocolocandolasvariablesen
los archivos de inicialización del directorio home del usuario. Para hacer que las personalizaciones estén
disponibles para todos los shells subsecuentes, la variable debe exportarse.
Comandos:a diferencia de las variables, los comandos (de manera similar a los alias) no pueden exportarse.
Los comandos no pueden hacerse disponibles para todos los subshells. Si los comandos han de hacerse
disponibles en un subshell, deben colocarse en el archivo de inicialización secundario que se lee cada vez que
un subshell se abre tal como .kshrc (shell Korn) o .bashrc (shell Bash).
Utilizando la información anterior complete los espacios en blanco de las siguientes oraciones.
a. Los dos niveles de archivos de inicialización son el que abarca a todo el sistema y el que abarca
a los archivos de inicialización.
b. Para el usuario del shell Korn, el a r c h i v o .bash_profile y elarchivo .bashrc residen en
el directorio home del usuario y pueden utilizarse para personalizar su entorno delogin.
c. Para el usuario del shell Bash,el archivo .profile y el archivo .bashrc residen en el directorio
home del usuario y pueden utilizarse para personalizar su entorno de login.
d. Las variables se utilizan para personalizar el shell del usuario y son globales o locales.
e. Para que una variable esté disponible para todos los subshells, debe ser exportadas.
f. Si los comandos han de estar disponibles en un subshell, éstos deben colocarse en un archivo
de inicialización que se lee cada vez que se abre un subshell, como .kshrc o.bashrc.
Exporta variables del entorno:Export Environment Variables (Exportar Variables del Entorno) pone
las variables del entorno a disposición de los subshells tal como LOGNAME para nombre de login.
Exporta la variable PATH (RUTA) para la ruta de comandos por defecto:la ruta por defecto es una
lista de directorios donde mirará el shell cuando se ejecuta un comando. Exportarlo pone la lista de
directorios a disposición de todos los shells y subshells.
Configura el tipo de terminal por defecto de la variable TERM (TÉRMINO):esto define las
características de la pantalla y el teclado de la estación de trabajo del usuario.
Muestra el contenido del archivo /etc/motd:el archivo ‘mensaje del día’ [‘message of the day’]
puede personalizarse para mostrar saludos o proporcionar información acerca del sistema.
Configura permisos de creación de archivos por defecto:configura valores umask que determinan
los permisos por defecto cuando se crea un nuevo archivo o directorio.
Utilizando la información anterior complete los espacios en blanco en las siguientes oraciones.
a. Elarchivodeinicializaciónprincipalqueabarcatodoelsistemaeselarchivo
.profile, que se guarda en el directorio etc.
b. El archivo/etc/profile se crea por defecto cuando se instala el sistema operativo y puede ser
editado y personalizado por un usuario.
c. Cuando un usuario del Shell Korn hace login, el sistema lee primero el archivo
, y luego lee el archivo del usuario, y luego el archivo
d. Cuando un usuario del Shell Bash hace login, el sistema lee primero el archivo /etc/profile, y
luego lee el archivo .bashrc del usuario, y luego el archivo .profile.
e. El archivo/etc/profile exporta la variable path que define una lista de directorios donde el shell
mirará cuando se ejecuta un comando.
f. El archivo /etc/profile configura la variable term que define las características de pantalla y
teclado de la estación de trabajo del usuario.
Los archivos de inicialización del usuario pueden ser configurados en forma de patrones por el administrador
del sistema, y luego ser modificados por el usuario. El o los archivos de inicialización específicos del usuario
tales como .profile, .kshrc y .bashrc se almacenan en el directorio home del usuario. El archivo .kshrc es el
archivo principal de los que se utilizan para personalizar el entorno del usuario del shell Korn y el archivo
.bashrc se utiliza para personalizar el entorno del usuario del shell Bash. Dependiendo de la política de
administración de red, los archivos de inicialización específicos del usuario pueden llevar a cabo todo o parte
de lo siguiente:
Utilizando la información anterior complete los espacios en blanco de las siguientes oraciones.
a. Después de que /etc/profile es leído, en lo que se refiere a las opciones por defecto de todo el
sistema, se leen los de inicialización específicos en lo que se refiere al shell.
b. La inicialización y personalización puede lograrse utilizando el archivo de todo el sistema
/etc/profile por sí mismo o en combinación con los archivos de inicialización propios del usuario
de .profile y .kshrc para los usuarios del shell Korn o .profile y .bashrc para los usuarios del Shell
Bash.
c. El archivo .kshrc es el archivo principal que se utiliza para personalizar el entorno del usuario
del shell Korn y el archivo .bashrc es el archivo principal que se utiliza para personalizar el
entorno del usuario del Shell Bash.
d. Entre otras cosas, los archivos de inicialización del usuario .kshrc y .bashrc pueden utilizarse para
definir el entorno del usuario según se describe en el laboratorio previo como sustitutos para
comandos.
Cuando se define un nuevo usuario de los shells Korn o Bash, se crea una versión básica de los archivos .profile
o .bash_profile y se la coloca en el directorio home del usuario. Los usuarios del shell Korn necesitan modificar
el archivo .profile y definir y exportar la variable ENV. Esto le indica al shell Korn la ubicación y el nombre del
archivo de control de ejecución a ser leído cada vez que se inicia un nuevo shell, como es el caso de una
ventana de terminal, según se muestra más abajo. El archivo de control de ejecución del shell Korn no tiene
que tener como nombre .kshrc pero usualmente lo tiene. De igual forma, es necesario que los usuarios del
shell Bash modifiquen el archivo .bash_profile y definan y exporten la variable BASH_ENV que señala al archivo
.bashrc. Estos comandos usualmente son agregados al final del archivo .profile o .bash_profile. Este comando
configura la variable del entorno para que señale al archivo .kshrc o .bashrc en el directorio $HOME. HOME
es una variable definida por el sistema para que sea la ruta absoluta al directorio de login delusuario.
Formato del Comando (shell Korn):ENV=$HOME/.kshrc; export ENV
Formato del Comando (shell Bash);BASH_ENV=$HOME/,bashrc; export BASH_ENV
a. Verifiquequeelalumnoseencuentreeneldirectoriohomeyluegoutiliceelcomando
ls –la(listado largo de todos[all]los archivos) para determinar si existe el archivo .profile o
.bash_profile. El alumno deberá incluir los archivos ocultos y es posible que necesite utilizar el
pipe para redirigir el resultado del comando ls –la a more para encontrar los archivos
ocultos. En la mayoría de los casos el archivo .profile o .bash_profile se crea automáticamente
cuando se configura una nueva cuenta de usuario. De no ser así, será necesario que el alumno lo
cree. ¿Quién es el propietario del archivo .profile? Alumno ¿Cuáles son los permisos del alumno
para este archivo? lectura y escritura. ¿Podrá el alumno efectuar cambios en él? Si
b. Utilice el comando more para visualizar el contenido del archivo .profile o .bash_profile.
Nótese la variable PATH (RUTA) en el principio, que define los directorios donde mirará el
sistema cuando el alumno emita un comando. ¿Cómo está configurada la variable PATH?
PATH=”$HOME/bin:$PATH”
c. ¿Se ha exportado la variable PATH para poder utilizarla en subshells?
Si
d. Las rutas del directorio en la definición de la variable PATH están separadas por dos
puntos(:).¿Es/usr/bin una de las rutas de la lista? NO. Haga una lista del contenido del directorio
/usr/bin y utilice un pipe para dirigirlo al comando more. Escriba al menos cinco de los comandos
de la lista con el cual el alumno esté familiarizado. Apt, install, clear, cd.
e. Copie el archivo .profile o .bash_profile para crear una copia de seguridad del archivo llamada
.profile.bak o .bash_profile.bak para su salvaguardia. Si el alumno comete errores y necesita el
archivo copia de seguridad, puede borrar .profile o .bash_profile y hacer una copia del archivo
copia de seguridad utilizando el nombre de archivo original.
f. Utilice vi para modificar el archivo .profile o .bash_profile. Agregue ENV o BASH_ENV y los
comandos de exportación que figuran más arriba, en la línea de formato de comandos, al final
del archivo y luego guarde y salga de vi. Visualice nuevamente el contenido del archivo. ¿Están
presentes los comandos que introdujo el alumno? Si. Verifique los comandos para asegurarse de
haberlos tipeado correctamente.
a. Usualmente no hay una versión básica del archivo .kshrc o .bashrc en el directorio home del
usuario a menos que un administrador lo coloque allí como patrón para saber dónde comenzar.
El alumno debe crear uno o en algunos casos puede copiar unoyaexistente de otrousuario.
b. Creeun nuevo archivo .kshrc o .bashrc uti li za ndo vi. ¿Qué comandoseintrodujo? TOUCH
.BASHRC1
c. Si el alumno desea guardar los cambios y salir del editor vi, ¿qué comando de Última línea se
utilizaría?
d. Si el alumno deseara salir del editor sin guardar ningún cambio, ¿qué comando de Última línea
se utilizaría?
e. Configure el prompt del alumno según el nombre de su máquina con un signo de dólar y un
espacio después de él. ¿Qué se introdujo?Consejo:véase la sección Variables
delShellyPromptsPersonalizadosenelCapítulo14. PS1=’\u $’
f. Configure el editor vi para que se active para la edición de línea de comandos. ¿Qué seintrodujo?
Set -o vi
g. Cree un alias llamado h como atajo para representar el comando historyy otro alias llamado
c como atajo para el comando clear.
h. Cree un alias llamado p como atajo para representar el comando ps –ef | sort | more.
¿Qué comando se introdujo? Alias p=ps -ef|sort|more
i. Cree un alias llamado cp para reemplazar al comando regular cp que preguntaría al alumno si
estuviera a punto de sobrescribir un archivo. ¿Qué comando se introdujo? Alias cp=’cp -i’
j. Guarde los cambios en el archivo .kshrc o .bashrcy salga de vi. El alumno puede salir sin guardar
los cambios si desea comenzar de nuevo.
k. Utilice vi o el comando more para visualizar el archivo .kshrc del alumno y verifique que los
comandos se hayan introducido correctamente.
b. Haga login nuevamente como el mismo usuario y abra una ventana determinal.
d. Pruebe los alias que se definieron en los pasos anteriores. ¿Funcionan todos? S i
e. Si no funcionó ninguna de las funcionalidades de personalización del shell Korn, el alumno puede
tener un problema con la variable ENV del archivo .profile. Si algunas funcionaron y otras no, es
probable que el alumno haya cometido algunos errores en el archivo .kshrc o.bashrc.
f. Edite los archivos .profile y .kshrc o .bash_profile y .bashrc según sea necesario para que todos
los cambios personalizados funcionen.
c. Agregue un nuevo alias llamadohmque lo haga regresar al directorio home del alumno, despeje
la pantalla y muestre un listado largo de a una página a la vez. ¿Qué línea colocó el alumno en el
archivo .kshrc o. bashrc para definir el alias? Consejo: ¿qué símbolo, o metacarácter, se utiliza al
ejecutar varios comandos en una única línea de comandos? Alias hm=’cp;clear;ls-l’
d. Guarde el archivo y salga de vi.
e. Introduzca el comando que sirva para volver a leer el archivo .kshrc o .bashrc. ¿Qué línea de
comandos se introdujo? More .bashrc