Linux Avanzado Tema 3: Terminal Inicio de sesión Una vez que ha instalado su distribución de Linux y arrancado su sistema, iniciará sesión automáticamente o verá una pantalla de inicio de sesión. La siguiente sección muestra cómo conmutar entre estos dos métodos de inicialización y discute las implicaciones de seguridad del inicio de sesión automático. Para esta sección, asumimos que usted está iniciando sesión. Los tres sistemas que consideramos en este tutorial implementan el inicio de sesión un poco distinto unos de otros, pero todo se solicitará con el nombre de uno o más usuarios. Una vez que un usuario es seleccionado, necesita ingresar una contraseña. La pantalla de inicio de sesión La apariencia de la pantalla varía de acuerdo con su distribución de Linux y no será sorpresa que pueda personalizarla más, aunque no cubrimos eso en este corto tutorial. Una pantalla típica de inicio de sesión para un sistema Ubuntu 10.10 es mostrada en la Figura 1, una típica para Fedora 14 es mostrada en la Figura 2. Estas dos ilustran el escritorio de GNOME predeterminado usado en estos sistemas.
Figura 1. Pantalla de inicio de sesión de Ubuntu 10.10
1
Figura 2. Pantalla de inicio de sesión de Fedora 14
Una pantalla típica de inicio de sesión para un sistema OpenSUSE 11.3 con el escritorio de KDE 4 predeterminado es mostrada en la Figura 3 o Figura 3. Pantalla de inicio de sesión de OpenSUSE Linux 11.3
Cuando ingrese o seleccione un ID y presione Enter, se le solicitará su contraseña. Si se está mostrando un campo de contraseña en la pantalla de inicio de sesión, como en el ejemplo de OpenSUSE aquí, puede cambiarse al campo de contraseña e ingresar su contraseña. Si no se muestra ningún campo de entrada para un ID y necesita ingresar un ID que no esté en la lista de IDs disponibles, normalmente encontrará una entrada para algo como "otro..." como se muestra en la Figura 2. Seleccione eso y deberá ver un campo de entrada para el ID. Las pantallas de inicio de sesión pueden tener otros elementos en ellas, incluyendo un reloj, quizá el nombre del sistema e iconos o menús nombrados que le permiten concluir o reiniciar el sistema.
2
Accesibilidad En los desktops de GNOME hay un icono pequeño que se ve como la figura de una persona dentro de un círculo. Haga clic en esto y verá un diálogo para opciones de accesibilidad tales como un teclado en pantalla o una fuente más grande. Un ejemplo de nuestro sistema de Fedora es mostrado en la Figura 4. Usamos la opción para hacer el texto más grande y más fácil de leer para la pantalla de inicio de sesión mostrada en la Figura 2. Figura 4. Opciones de accesibilidad de inicio de sesión de Fedora
La pantalla del escritorio Después de que escribe su contraseña y presiona Enter de nuevo, debe haber iniciado sesión y ver su escritorio. Figura 5 le muestra lo que puede ver como un el usuario ian en un sistema de Ubuntu 10.10, con un panel en la parte superior y otro en el fondo. Para explorar el escritorio, mueva su ratón sobre los iconos o haga clic en ellos. Nota: Las siguientes tres imágenes pretenden darle una impresión de la forma en que se verá su escritorio. No se preocupe si no puede leer la impresión pequeña en ellas. Figura 5. Ventana inicial de muestra para el escritorio de Ubuntu 10 y GNOME
Fedora 14 también usa un escritorio de GNOME. En la Figura 6, hicimos clic en el icono System en la parte izquierda del panel superior y después seleccionamos Preferencias.
3
Mientras pasamos el ratón sobre las opciones de Desktop Effects en el menú subsidiario, la ayuda contextual muestra Select desktop effects. Aquí es donde selecciona efectos de escritorio tales como que los bordes de su ventana oscilen mientras los mueve alrededor del desktop. Note que esto requiere posibilidades de gráficas 3-D y posiblemente un controlador de gráficas que no es de código abierto. Figura 6. Ventana inicial de muestra para el escritorio de Fedora 14 y GNOME
Figura 7 muestra lo que puede ver con OpenSUSE y un escritorio de KDE 4. Figura 7. Ventana inicial de muestra para el escritorio de SUSE Linux y KDE
El relativamente nuevo escritorio de KDE 4 usa una metáfora de navegación distinta, la cual discutiremos más en la secciónNavegación y valores. Note que el menú de ventana para la
4
Carpeta de Escritorio se desplaza hacia la izquierda o derecha de la ventana, en lugar de estar arreglada en la parte superior.
Navegación y valores Tomemos un momento para explorar los paneles de Linux en el escritorio y después observar la navegación y un ejemplo de cómo puede personalizar su escritorio al cambiarse al uso del ratón con la mano izquierda. Paneles de escritorio Los paneles le dan un lugar de inicio para interactuar con su escritorio y proporcionan información sobre su sistema. Normalmente encontrará uno o dos paneles en su escritorio. Normalmente estos estarán de forma predeterminada en la parte superior, en el fondo o en ambos límites de la pantalla. Puede moverlos a los límites de la izquierda o la derecha si así lo desea, normalmente al hacer clic con el botón derecho y cambiar las propiedades. Distintas distribuciones y distintos desktops frecuentemente difieren en el diseño del panel, así que espere diferencias en esto. Nuestros paneles de Ubuntu GNOME son mostrados en la Figura 8. Hemos mostrado los límites de los paneles para mayor claridad. Figura 8. Dispositivos del panel de GNOME en Ubuntu
• •
• •
La parte izquierda del panel superior proporciona un lugar de lanzamiento para acceder a programas, carpetas (directorios) o valores de sistema e información. La parte derecha del panel superior proporciona información tal como la hora y la fecha, junto con varios botones de acceso rápido para funciones como establecer el control de volumen, abrir ventanas de conversación y cerrar la sesión. La parte izquierda del panel del fondo tiene un botón para ocultar todas las ventanas y mostrar el escritorio, junto con botones para ventanas activas. La parte derecha del panel del fondo contiene una papelera y cuatro rectángulos que le permiten navegar entre sus desktops virtuales. La mayoría de los sistemas de Linux configuran múltiples escritorios distintos, por lo que puede mantener su e-mail y navegación web en un desktop, mientras hace desarrollo de programas en otro y realiza pruebas en otro más, por ejemplo. Usted conmuta entre ellos al hacer clic en el recuadro más pequeño apropiado o al usar una combinación de teclas. Para GNOME, Ctrl-Altflecha izquierda o Ctrl-Alt-flecha derecha normalmente pasa a través de ellas en la misma forma que Alt-tab pasará a través de las ventanas de aplicación en un escritorio dado. Para OpenSUSE, de ctrl-F1 a ctrl-F4 directamente seleccionará del desktop 1 al 4. Al explorar, asegúrese de iniciar sesión como un usuario que no es de raíz para evitar accidentes; estos errores pueden ser más serios cuando tiene autoridad ilimitada.
Los paneles para nuestro sistema de Fedora son mostrados en la Figura 9. El elemento de Sistema en la parte superior izquierda es seleccionado como usamos la imagen de la Figura 6 para crear esta imagen. Tome en cuenta que no tenemos acceso rápido para la función de cierre de sesión en la parte superior derecha, la función para ocultar todas las ventanas en la parte inferior izquierda o el icono de papelera que vimos en la parte superior derecha de los paneles de Ubuntu. Fuera de esto, el diseño del panel es razonablemente similar.
5
Figura 9. Dispositivos del panel de GNOME en Fedora
El sistema OpenSUSE tiene un panel a través del fondo únicamente, como se muestra en la Figura 10. El acceso a los programas así como a las carpetas y las funciones del sistema inicia con el botón grande en el extremo izquierdo, el cual conoceremos como el botón Start . También en la izquierda hay botones de acceso rápido para un navegador y un navegador de desktop, seguidos por botones para cada uno de los cinco escritorios virtuales. En el extremo derecho del panel, encuentra un reloj y varios botones de conveniencia similares a aquellos en el extremo derecho del panel superior de GNOME de Ubuntu.
Figura 10. Dispositivos de panel de KDE 4 en OpenSUSE
Navegación El escritorio GNOME 2.3x usa los menús de cascada que ahora ya son conocidos. Figura 11 ilustra cómo acceder a los valores del ratón en el icono de Fedora System. Distintas distribuciones pueden organizar estos menús en forma distinta. Por ejemplo, encontrará los valores de ratón en Ubuntu en la misma ubicación, pero si está buscando las preferencias de Desktop Effects, las cuales encontrará en System->Preferences->Desktop Effects en nuestro sistema de Fedora, las encuentra como la pestaña Visual Effects en System->Preferences->Appearance. Explorar aplicaciones gráficas es frecuentemente como voltear distintas rocas para ver qué se oculta debajo de ellas.
6
Figura 11. Accediendo a los valores del ratón en Fedora
En contraste, el escritorio de KDE 4 usa una metáfora distinta para el menú Start . Los paneles de menú se reemplazan unos con otros y usted navega al hacer clic en elementos en el menú o al pasar el ratón sobre los iconos al fondo del menú. Figura 12 ilustra los menús Favorites y Applications .
7
Figura 12. Cambiando menús de KDE 4 al pasar el ratón sobre los iconos
Cuando se seleccionan submenús, tales como en Start->Applications->Utilities, un botón de retroceso se abre a la izquierda del menú de forma que pueda regresar al nivel de menú anterior. Figura 12 ilustra esto. Figura 13. Botón de retroceso de menú de KDE 4
8
Algunos elementos del menú Start en OpenSUSE abren un recuadro de diálogo. Un ejemplo es el menú Start->Applications->Configure Desktop , que abre una ventana como la de la Figura 14, donde mostramos la ayuda contextual para el elemento de menú de valores Keyboard & Mouse . Figura 14. Menú Configure Desktop de KDE 4
Cambiando al uso de ratón con la mano izquierda Un usuario diestro es asumido generalmente, pero puede cambiar su configuración del ratón para el uso con la mano izquierda, junto con muchos otros valores de escritorio. Consulte nuevamente la Figura 11 o la Figura 14 para navegar hacia el diálogo de valores del ratón. En un sistema de Ubuntu, debe ver una ventana similar a la Figura 15 donde puede cambiar los valores de su ratón. Además del uso básico zurdo o diestro, existen muchos otros valores que puede cambiar y una pestaña de valores adicionales para accesibilidad. Los valores tienen efecto inmediatamente, así que una vez que hace clic en la opción para la mano izquierda, su ratón es establecido para el uso con la mano izquierda y tendrá que usar el botón derecho del ratón como botón 1 para cerrar el diálogo. El diálogo en un sistema de Fedora es similar.
9
Figura 15. Diálogo de GNOME para cambiar los valores del ratón
En un sistema de OpenSUSE con KDE, debe ver una ventana similar a la Figura 16 donde puede cambiar sus valores de ratón. Note la imagen del ratón en el diálogo. Si cambia al uso con la mano izquierda, el botón derecho en la ilustración del ratón será resaltado para indicar que es su botón de selección principal. Regrese al uso con la mano derecha, y el botón izquierdo será resaltado. Al igual que con el diálogo de Ubuntu, existen varias opciones más que puede configurar. A diferencia del diálogo de Ubuntu, los cambios sólo tienen efecto cuando hace clic en el botón Apply .
10
Figura 16. Diálogo de KDE para cambiar los valores del ratón
Acceso de línea de comandos Algunas veces en un sistema Linux necesita ingresar comandos de Linux en lugar de usar una GUI. Una ventana de TerminalLinux es similar a un prompt de comandos de DOS en Windows. En nuestro escritorio de KDE, puede obtener una lista de programas de termina disponibles usando Start->Applications->System->Terminal como se muestra en la Figura 17. Figura 17. Abriendo un terminal en OpenSUSE con KDE 4
11
En el sistema de Ubuntu, puede encontrar una ventana de terminal en Applications>Accessories->Terminal como se muestra en la Figura 18 o en Applications->System>Terminal. En sistemas de Fedora, busque en Applications->System Tools->Terminal. Nota: Si hace clic con el botón derecho (o si usa el botón apropiado si reconfiguró su ratón) en la opción del menú de terminal, normalmente verá una opción para añadir este icono a su panel o escritorio. Añadirlo a su panel le da acceso rápido a una terminal sin pasar por los menús. Figura 18. Icono de shell de KDE
En el sistema de OpenSUSE, seleccione la opción de Terminal (consola) y obtendrá una ventana de terminal similar a la Figura 19. En la Figura 19 y en la Figura 20, hemos incluido algunos comandos y su salida, lo que discutiremos a continuación. Figura 19. Icono de shell de KDE
La ventana de terminal de Ubuntu se verá como en la Figura 20.
12
Figura 20. Icono de shell de KDE
La apariencia predeterminada de su ventana de shell depende de su distribución y su opción de escritorio. Para ajustar su tamaño, puede usar el botón izquierdo del ratón para arrastrar las esquinas o los costados de la ventana. Para desplazarse de regreso en el historial más reciente, puede usar la barra de desplazamiento. El indicador de comandos normalmente termina con el carácter $ para usuarios que no sean de raíz. Normalmente el prompt de comandos terminará con el carácter #indicando que el usuario de este shell es el usuario raíz o que tiene autoridad de raíz. Puede usar la flecha hacia arriba para recuperar comandos previos y modificarlos si es necesario. Normalmente encontrará un menú Settings o Terminal donde cambia cosas como colores de ventana y fuentes. Figura 19 y la Figura 20 muestran algunos comandos y su salida: whoami Muestra quién está usando esta ventana de terminal, ian en este caso. pwd Imprime el nombre completo del directorio en funcionamiento actual, que es /home/ian en este caso. Note que la tilde (~) antes de $ en el prompt de comandos muestra que el usuario está actualmente en su directorio de inicio. cd Cambia el directorio actual o en funcionamiento. Ilustramos el cambio al directorio / (o raíz) y después al directorio /tmp, que es normalmente utilizado para almacenar archivos temporales. Note que / es la raíz de todo el sistema de archivos y /root es el directorio de inicio del usuario de raíz . Usar cd sin ningún nombre de directorio regresa al usuario al directorio de inicio y usar cd - lo regresa al último directorio en el que estuvo antes del actual. Los usuarios que no sean de raíz normalmente tendrán un directorio de inicio en /home. Por ejemplo, /home/ian es mi directorio de inicio en un sistema donde mi ID es ian. Recuerde que la tilte (~) es la taquigrafía para el directorio de inicio del usuario actual. Y el nombre de un usuario específico para referenciar el directorio de inicio de ese usuario. Por ejemplo, el directorio de inicio para el usuario ian también puede referenciarse como ~ian. uname Sin parámetros, muestra el nombre del sistema operativo: Linux. Con el parámetro -a , muestra información adicional sobre su sistema. which
13
Explora los directorios en su variable de entorno PATH y muestra la ruta completa para un programa ejecutable que será ejecutado si escribió el comando en la línea de comando shell. En este caso, vemos que el programa xclocksería ejecutado desde /usr/bin/xclock. Nota: Esta aplicación no siempre es instalada en una instalación de Linux predeterminada. Es normalmente parte de un paquete con un nombre como xorg-x11-apps, así que tal vez tenga que encontrar e instalar el paquete apropiado para usarlo. xclock Lanza una nueva ventana en su escritorio con un reloj. Note el final & en el comando, que indica que el procesador de comandos debe regresar el control a la ventana de terminal en lugar de esperar a que el comando termine. Note también que este es el primer proceso de ese tipo generado por esta ventana de terminal, y tiene un ID de proceso (PID) de 1774. ps Con la opción -T , muestra todos los procesos iniciados por esta terminal. En algunos sistemas, la visualización predeterminada del comando ps incluye un estado de proceso. Vea las páginas de man para obtener más detalles sobre todas las opciones posibles y columnas de salida. Si el estado fuera mostrado en este ejemplo, debería ver el programa de shell bash esperando la entrada (estado S para dormir) como sería el proceso de xclock . El comandops se está ejecutando y tendría un estado de R por ejecutable. La salida de estos comandos es mostrada en las dos ventanas de terminal anteriores. Un formulario de texto del sistema de Ubuntu es mostrado en el Listado 1. Listado 1. Salida de Ubuntu de algunos comandos básicos ian@pinguino:~$ whoami ian ian@pinguino:~$ pwd /home/ian ian@pinguino:~$ cd / ian@pinguino:/$ cd /tmp ian@pinguino:/tmp$ uname Linux ian@pinguino:/tmp$ uname -a Linux pinguino 2.6.35-27-generic #48-Ubuntu SMP Tue Feb 22 20:25:29 UTC 2011 i686 GNU/Linux ian@pinguino:/tmp$ which xclock /usr/bin/xclock ian@pinguino:/tmp$ xclock& [1] 2072 ian@pinguino:/tmp$ ps -T PID SPID TTY TIME CMD 2049 2049 pts/1 00:00:00 bash 2072 2072 pts/1 00:00:00 xclock 2073 2073 pts/1 00:00:00 ps ian@pinguino:/tmp$ Algunos otros comandos que puede encontrar útiles son: info cmd_name Muestra información sobre el comando llamado cmd_name. Intente con info info para conocer sobre el sistema de documentación de información. man cmd_name Es una interfaz para las páginas de manual (man) online sobre el comando llamado cmd_name. Alguna información está en el formato info, mientras que alguna está disponible sólo en el formato de página man. Intente con man manpara conocer más sobre las páginas manuales.
14
Volviéndose un superusuario (o raíz) Para muchas tareas en Linux, necesita autoridad de raíz o de superusuario . El usuario de raíz , algunas veces llamado el superusuario, es el usuario que es normalmente utilizado para tareas administrativas como configurar el sistema o instalar el software. Use raíz sólo cuando necesite tareas administrativas; evite usar raíz para su trabajo normal. El usuario de raíz puede hacer lo que sea, incluyendo destruir accidentalmente su sistema, que normalmente no es algo bueno. Los usuarios normales tienen menos privilegios, y el sistema está mucho más protegido de ser dañado inadvertidamente por usuarios normales. La mayoría de las aplicaciones administrativas que tienen una interfaz gráfica ahora piden la contraseña de raíz antes de permitir que usuarios que no son de raíz accedan a la función. Cuando necesita ejecutar comandos en una ventana de terminal como raíz, esto no ayuda. Su primer pensamiento puede ser conmutar a otro ID de usuario al cerrar cesión del ID de usuario actual e iniciar sesión como el nuevo ID de usuario. ¿Pero qué pasa si sólo necesita ejecutar un par de comandos rápidos como otro usuario? Linux tiene una solución para usted: Los comandos su (usuario sustituto)y sudo le permiten ejecutar temporalmente uno o más comandos como otro usuario. Esto es frecuentemente utilizado para tareas que requieren acceso de raíz. Ciertamente, si se conecta remotamente a un sistema usando un programa de terminal tal como ssh (o el tan inseguro telnet), entonces muchos distribuidores de Linux le prevendrán de iniciar sesión como raíz. Esta es una buena práctica de seguridad, y lo invitamos a no intentar evadirla. Por el contrario, debe iniciar sesión como un usuario no privilegiado y después usar los comandos su o sudo para realizar el trabajo que necesita hacer con autoridad de raíz. En resumen, hay dos formas principales de ejecutar un comando arbitrario con autoridad de raíz. 1. Use el comando su , normalmente con la opción - para volverse raíz. 2. Use el comando sudo para ejecutar un solo comando con autoridad de raíz. En sistemas tales como Fedora u OpenSUSE, ambos métodos están disponibles, aunque usar su quizá es más común. En sistemas basados en Debian tales como Ubuntu, el modelo de seguridad previene el inicio de sesión de raíz, de forma que no puede iniciar sesión como raíz ni usar su para volverse raíz, por lo que debe usar sudo.
Usando su Suponga que ha iniciado sesión y está viendo una ventana de terminal y no está en el usuario raíz pero necesita ejecutar un comando, como fdisk, que requiere autoridad de raíz. Usted conmuta a raíz usando el comando su únicamente o, más comúnmente, añade la opción - . El comando su sin la opción - simplemente lo conmuta para volverse raíz, pero no cambia sus variables de entorno, incluyendo su ruta. La opción - , que también puede escribirse como -l o login si realmente le gusta escribir caracteres extra, permite que los archivos de inicio para el inicio de sesión del usuario sustituto sean leídos, configurando así cosas como la ruta, el entorno y la solicitud para aquellos que son del usuario objetivo. Listado 2 muestra ejemplos de estos dos formularios en nuestro sistema de Fedora. Hemos usado el comando pwd (imprimir el directorio en funcionamiento) para mostrar el directorio en funcionamiento actual en cada caso. Note cómo difieren las solicitudes. Si desea entender más sobre cómo personalizar sus propias solicitudes o qué hace que estas solicitudes aparezcan como lo hacen, eche un vistazo al consejo práctico "Prompt magic" en developerWorks. Listado 2. Conmutando al usuario de raíz
[ian@echidna ~]$ su Password: [root@echidna ian]# pwd /home/ian [root@echidna ian]# su [root@echidna ~]# pwd /root
15
Notará, sin sorpresa, que tuvo que proporcionar una contraseña para conmutar a raíz. Una vez que tiene autoridad de raíz, puede usar su o su - para conmutar a otro usuario o para conmutar a raíz con la opción de inicio de sesión. Si desea conmutar a un usuario que no sea de raíz, simplemente añada el ID. Igual que antes, puede usar la opción - o no, de acuerdo a sus necesidades. Por ejemplo: su - db2inst1 Para regresar al ID anterior, presione Ctrl-d o escriba exit y presione Enter si está usando el Bash Shell, que es el predeterminado en la mayoría de los sistemas de Linux. Ahora que ha aprendido cómo usar su, pongámoslo en práctica con el comando fdisk . Listado 3. Ejecutando el comando fdisk con su
[ian@echidna ~]$ fdisk /dev/sda Unable to open /dev/sda [ian@echidna ~]$ su Password: [root@echidna ~]# fdisk /dev/sda Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): q [root@echidna ~]# exit logout [ian@echidna ~]$
Usando sudo Como el comando su , el comando sudo le permite ejecutar comandos con la autoridad de otro usuario. Los comandos que un usuario dado o clase de usuarios pueden ejecutar están listados en el archivo /etc/sudoers. A diferencia del comando su , usted no necesita conocer la contraseña de raíz, o de otro usuario, aunque necesitará proporcionar su propia contraseña. El archivo /etc/sudoers es mantenido por la raíz y puede ser editado usando el comando visudo .
16
Normalmente, si está ejecutando múltiples comandos sudo en rápida sucesión, no necesitará volver a ingresar su contraseña para cada uno. Una alternativa es ejecutar sudo con la opción -s , que ejecuta un shell para usted, desde donde puede ejecutar muchos comandos como el usuario de destino hasta que cierra el shell. Listado 4 ilustra estos dos métodos. Listado 4. Usando el comando sudo en Ubuntu
ian@pinguino:~$ fdisk /dev/sda Unable to open /dev/sda ian@pinguino:~$ sudo fdisk /dev/sda [sudo] password for ian: WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): p Disk /dev/sda: 120.0 GB, 120034123776 bytes 255 heads, 63 sectors/track, 14593 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x54085408 Device Boot /dev/sda1 * /dev/sda2 /dev/sda3 /dev/sda5 /dev/sda6 /dev/sda7 /dev/sda8
Start 1 2612 2625 2625 2690 5181 9342
End Blocks Id System 2611 20972826 7 HPFS/NTFS 2624 104422+ 83 Linux 14593 96140962 5 Extended 2689 522081 82 Linux swap / Solaris 5180 20008926 83 Linux 9341 33423201 83 Linux 14593 42186658+ 83 Linux
Command (m for help): q ian@pinguino:~$ sudo -s root@pinguino:~# fdisk /dev/sda WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): q root@pinguino:~# exit ian@pinguino:~$ Si no está autorizado en el archivo sudoers, recibirá un mensaje de error similar al de la Listado 5.
17
Listado 5. Intentando usar sudo sin autoridad
[ian@echidna ~]$ sudo fdisk /dev/sda [sudo] password for ian: ian is not in the sudoers file. This incident will be reported.
Usando una aplicación GUI como otro usuario Tal vez haya notado en la discusión del comando su en la sección anterior que ejecutamos únicamente comandos que mostraron una salida en la ventana de terminal. Normalmente usted podrá ejecutar comandos de GUI también. Por ejemplo, algunos programas de instalación requieren que tenga autoridad de raíz para instalar un programa y tener un instalador de GUI. Si encuentra que no puede iniciar aplicaciones de GUI como otro usuario, entonces siga leyendo, ya que tal vez tenga que tomar etapas adicionales en algunas distribuciones para ejecutar aplicaciones de GUI como otro usuario. Nota: Distribuciones recientes frecuentemente le permiten tener múltiples desktops abiertos a la vez y conmutar entre ellos usando una secuencia de teclas tal como Ctrl-Alt-F7 o Ctrl-Alt-F8. Dependiendo de lo que necesite hacer, esto puede ser otra alternativa. Vea la sección en Cierre de sesión para obtener detalles sobre esta opción de menú. Las aplicaciones de GUI en Linux usan X Window System, un sistema de cliente-servidor diseñado para permitir que múltiples usuarios accedan una computadora a través de una red usando aplicaciones en ventana. Una visualización de X es conocida por un nombre en la forma de hostname:displaynumber.screennumber. Para Linux ejecutándose en una estación de trabajo como un PC, existe normalmente sólo una visualización con una sola pantalla. En este caso, displayname puede ser, y normalmente es, omitido, por lo que la visualización es conocida como :0.0 o algunas veces sólo :0. El servidor de X Window System necesita conocer la visualización y también si está autorizado para conectarse al servidor. La autorización es más comúnmente realizada utilizando MIT-MAGICCOOKIE-1, que es una cadena de caracteres aleatoria larga que es regenerada siempre que el servidor es reiniciado. Así esas aplicaciones pueden pasar esta información al servidor de X y usted tendrá las variables DISPLAY y XAUTHORITY establecidas en su entorno. La variable XAUTHORITY señalará a un archivo que normalmente sólo puede ser leído o escrito por el usuario propietario como media de precaución. Asumimos que está usando un inicio de sesión gráfico si está leyendo eso, así que su inicio ya debió haber establecido estas para usted. El ejemplo en el Listado 6 es de nuestro sistema de Ubuntu y muestra los valores de las variables DISPLAY y XAUTHORITY así como la propiedad del archivo señalado por la variable XAUTHORITY. Listado 6. DISPLAY y XAUTHORITY
ian@pinguino:~$ echo $DISPLAY :0.0 ian@pinguino:~$ echo $XAUTHORITY /var/run/gdm/auth-for-ian-WoeKHn/database ian@pinguino:~$ ls -l $XAUTHORITY -rw------- 1 ian ian 53 2011-04-01 16:24 /var/run/gdm/auth-for-ian-WoeKHn/database Ahora intentamos usar sudo para ejecutar el comando xclock como usuario editor, de nuevo en nuestro sistema de Ubuntu. Como muestra el Listado 7 , los valores para las variables DISPLAY y XAUTHORITY son los mismos que para el usuario ian, pero el comando xclock falla.
18
Listado 7. DISPLAY y XAUTHORITY con sudo
ian@pinguino:~$ sudo -u editor echo $DISPLAY [sudo] password for ian: :0.0 ian@pinguino:~$ sudo -u editor echo $XAUTHORITY /var/run/gdm/auth-for-ian-WoeKHn/database ian@pinguino:~$ sudo -u editor xclock No protocol specified Error: Can't open display: :0.0 En este caso, el usuario editor tiene la variable XAUTHORITY establecida para /var/run/gdm/authfor-ian-WoeKHn/database, pero ya vimos que los permisos en ese archivo sólo permiten al usuario ian leerlo o escribirlo. La variable también puede no establecerse si el usuario editor no puede leer el archivo al que señala. Antes de que veamos cómo atender este problema, observemos lo que pasa si dejamos de establecer las variables DISPLAY o XAUTHORITY para el usuario ian.. Haremos esto al ejecutar el comando xclock con una variable de entorno modificada usando del comando env la opción -u para dejar de establecer una variable de entorno antes de ejecutar xclock. Nuestros resultados están en el Listado 8. Listado 8. Dejando de establecer DISPLAY y XAUTHORITY
ian@pinguino:~$ env -u DISPLAY xclock Error: Can't open display: ian@pinguino:~$ env -u XAUTHORITY xclock Tal vez le sorprenda ver que el comando xclock se ejecute, a pesar de que dejamos de establecer la variable de entorno XAUTHORITY. Hasta ahora, hemos mencionado el método de seguridad MIT-MAGIC-COOKIE-1. Si el token no es proporcionado, el servidor de X también verificará una lista de hosts autorizados. Use el comando xhost para mostrar o actualizar la lista. Use la opción +para añadir entradas y la opción para eliminar entradas. Use la entrada familiar especial local: (note el carácter ':') para permitir el acceso a la visualización por cualquier usuario local en el sistema. Ya que usted es un sistema de un solo usuario, esto significa que puede usar su para un usuario arbitrario que no sea de raíz y puede ahora lanzar xclock u otras aplicaciones de X. Ilustramos el uso del comando xhost en el Listado 9. Listado 9. Usando xhost
ian@pinguino:~$ xhost access control enabled, only authorized clients can connect SI:localuser:ian ian@pinguino:~$ xhost +local: non-network local connections being added to access control list ian@pinguino:~$ xhost access control enabled, only authorized clients can connect LOCAL: SI:localuser:ian ian@pinguino:~$ sudo -u editor xclock ian@pinguino:~$ # Close the xclock window to return here
19
ian@pinguino:~$ xhost -local: non-network local connections being removed from access control list ian@pinguino:~$ xhost access control enabled, only authorized clients can connect SI:localuser:ian En un sistema de un solo usuario, habilitar la visualización para usarse por todos los usuario locales es normalmente una solución razonable y simple. Si necesita ser más restrictivo, use xauth para extraer la cookie de su archivo XAUTHORITY y désela al usuario que necesite el acceso a la visualización. En el Listado 10 realizamos las siguientes tareas: 1. Use xauth como el usuario ian para mostrar la cookie en un formato que pueda ser enviado por e-mail o enviado al otro usuario deseado. 2. Use sudo -s y conmute al usuario editor para ejecutar varios comandos. 3. Use xauth para crear un nuevo archivo de autorización. Note que usamos echo para conducir los datos a stdin mientras se divide el comando en varias líneas al usar una barra inclinada invertida (\). 4. Exportamos un nuevo valor para la variable XAUTHORITY de forma que ahora señale a nuestro archivo de autorización recién creado. 5. Finalmente, ejecutamos el comando xclock usando el carácter & para ejecutarlo en segundo plano y mantener el control de nuestra ventana de terminal. Listado 10. Usando xauth
ian@pinguino:~$ xauth -f $XAUTHORITY nextract - :0 0100 0008 70696e6775696e6f 0001 30 0012 4d49542d4d414749432d434f4f4b49452d31 0010 3c4bc87 c2ce4ce5e97f8199c213b4ec9 ian@pinguino:~$ sudo -s -u editor editor@pinguino:~$ echo "0100 0008 70696e6775696e6f 0001 30 0012"\ > " 4d49542d4d414749432d434f4f4b49452d31"\ > " 0010 3c4bc87c2ce4ce5e97f8199c213b4ec9" | > xauth -f ~editor/temp-xauth nmerge xauth: creating new authority file /home/editor/temp-xauth editor@pinguino:~$ export XAUTHORITY=~editor/temp-xauth editor@pinguino:~$ xclock& [1] 4827 Esta breve introducción probablemente lo iniciará con la ejecución de aplicaciones de X como otro usuario. Aunque hemos usado Ubuntu como un ejemplo, los principios básicos que hemos demostrado aquí se aplican para todas las distribuciones. Para obtener más detalles sobre el uso de los comandos xauth y xhost , puede usar cualquiera de estos comandos según sea apropiado para ver las páginas del manual online: • info xauth • man xauth • info xhost • man xhost
Dispositivos eliminables En sistemas de Linux y UNIX® , todos los archivos son accedidos como parte de un solo gran árbol que tiene su raíz en /. Para acceder a los archivos en un CD-ROM, necesita montar el dispositivo de CD-ROM en algún punto del montaje en el árbol de archivos. En distribuciones actuales, esto está normalmente automatizado para usted; sólo necesita instalar el disco y será reconocido y
20
montado. Una vez montado, es importante desmontar apropiadamente el dispositivo para evitar la pérdida de datos.
Montando dispositivos eliminables Cuando inserta un CD o un DVD en un sistema de SUSE 11.3, o adjunta una unidad de USB, verá una ventana emergente similar a la Figura 21. Si no vio la ventana emergente antes de que se cerrara, puede usar el icono del panel que hemos mostrado en la parte superior izquierda de la figura para abrirla de nuevo. Pasar el ratón sobre el icono muestra la ayuda contextual indicando que el dispositivo aún no ha sido montado. Figura 21. Ventana emergente cuando un CD o DVD es cargado en el sistema de SUSE
Pasar el ratón sobre el icono de conexión a la derecha de la imagen revela una ayuda contextual que dice "Click to access this device from other applications". Hacer clic sobre el texto "4 actions for this device" expande la imagen para que se vea como la Figura 22. Las acciones disponibles pueden diferir en sus sistemas si ha instalado distintos paquetes de software. Figura 22. Acciones disponibles para CD o DVD
Si hace clic en la selección "Open with File Manager", verá una ventana parecida a la Figura 23. En esta ventana puede navegar alrededor del DVD, abrir archivos o ejecutar aplicaciones. Pase el ratón sobre un elemento para ver una descripción en la parte derecha de la ventana.
21
Figura 23. Gestor de Archivos de SUSE
En sistemas de Ubuntu y Fedora, la acción predeterminada para insertar un disco es ligeramente distinta. Normalmente, un icono similar al mostrado en la Figura 24 aparecerá en su escritorio. El gestor de archivos (Nautilus) también podría abrirse automáticamente. Si no lo hace, puede hacer doble clic en el icono para abrir el gestor de archivos. Dependiendo de su sistema, también se le podría solicitar si ejecutar o no el archivo autorun en la raíz del disco.
Figura 24. CD insertado en Ubuntu
Si hizo clic para acceder al dispositivo desde otras aplicaciones (OpenSUSE) o lo abrió con el Gestor de Archivos u otra aplicación en cualquier distribución, entonces el dispositivo habrá sido montado para usted. Normalmente será montado en el directorio /media y probablemente usará la etiqueta del disco como punto de montaje. Puede verificarlo al abrir una ventana de terminal y ejecutar el comando mount como se muestra para nuestro sistema de OpenSUSE en el Listado 11. Otros sistemas son muy similares, aunque las opciones de montaje pueden diferir ligeramente. Listado 11. Usando el comando de montaje
ian@lyrebird:~> mount /dev/sdb12 on / type ext4 (rw,acl,user_xattr) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) ... /dev/sr0 on /media/openSUSE-DVD-x86_64.0702..001 type iso9660 (ro,nosuid,nodev,uid=1000,
22
utf8) En este caso nuestro disco es montado en /media/openSUSE-DVD-x86_64.0702..001 y puede explorarlo o cambiarlo a un directorio en el disco desde la ventana de terminal. Note que el dispositivo de CD/DVD es /dev/sr0. Los dispositivos en un sistema Linux también aparecen en el árbol del sistema de archivos. Para ponerlo de otra manera, el sistema de archivos que está en el soporte físico en el dispositivo /dev/sr0 es accesible para aplicaciones que inician en el punto de montaje /media/openSUSE-DVD-x86_64.0702..001
Eliminar dispositivos con seguridad Una vez que un DVD o CD es montado, puede usar los archivos en el disco, ya que ahora son parte de su sistema de archivos. Mientras un CD-ROM es montado, Linux bloqueará el CD de forma que no pueda ser expulsado con el botón de Expulsión. Por supuesto, esto no lo detiene de desconectar una unidad externa de CD o USB, extrayendo una memoria USB fuera del socket de USB o expulsando un disquete. Para evitar la pérdida de datos potencial, siempre debe eliminar el dispositivo con seguridad al desmontarlo primero. Puede desmontar dispositivos desde el escritorio gráfico o desde la línea de comandos. El comando umount (note que es umount sin la 'n') desmonta un dispositivo y el comando eject primero desmonta un dispositivo y después intenta expulsarlo, por ejemplo al abrir una bandeja de CD. Tradicionalmente, montar y desmontar dispositivos requería autoridad de raíz. Actualmente, es común permitir el montaje de usuario, de forma que un usuario que no sea de raíz puede montar y desmontar dispositivos. Tal vez notó en el Listado 11 la opción uid=1000. El uid de 1000 corresponde al usuario ian en este sistema como se muestra en el Listado 12. Listado 12. Usando el comando id para el usuario actual
iian@lyrebird:~> id uid=1000(ian) gid=100(users) groups=33(video),100(users) Si usa las herramientas del escritorio gráfico para desmontar el dispositivo, tal vez sólo necesite preocuparse sobre los IDs si ha cerrado la sesión y ha vuelto a iniciar sesión como un usuario distinto. Así que observemos las herramientas gráficas y después las de línea de comandos. En Ubuntu o Fedora, si hace clic con el botón derecho en el icono para el soporte físico eliminable, verá un menú contextual similar a aquel en la Figura 25. Tendrá una opción para desmontar o para expulsar el dispositivo. Seleccione la opción de expulsión para un CD o DVD y el dispositivo será desmontado, el icono desaparecerá de su escritorio y su bandeja se abrirá. Para una unidad de USB, la opción puede ser desmontar en lugar de expulsar, y puede desconectar con seguridad el dispositivo después de que ha sido desmontado. Si usa un disco duro externo con múltiples particiones, necesita asegurarse de que todas las particiones son desmontadas antes de eliminar o apagar la unidad.
23
Figura 25. Gestor de Archivos de SUSE
En la Figura 26 mostramos nuestro sistema de OpenSUSE con una unidad de USB adjunta así como el DVD que hemos usado anteriormente. El DVD y una partición de la unidad de disco duro están montados. OpenSUSE distingue lo montado de lo desmontado al cambiar el icono de conexión (cuando un dispositivo no está montado) por un botón de expulsión (cuando está montado). También notará que el recuadro pequeño en el fondo izquierdo del icono del dispositivo también cambia de tener una línea diagonal a tener un asterisco. Note que para el soporte físico escribible, tal como nuestro disco duro, el espacio disponible también es mostrado. Figura 26. Gestor de Archivos de OpenSUSE
Para desmontar o expulsar una unidad montada, simplemente haga clic en el botón de expulsión (mostrado anteriormente para la partición de 2006R1). Si expulsa un dispositivo tal como un CD o
24
DVD donde una bandeja se abre o alguna otra desconexión física similar tiene lugar, entonces el dispositivo será eliminado de su lista de dispositivos conectados.
Eliminación segura desde la línea de comandos Mencionamos los comandos umount y eject anteriormente. Ahora veamos cómo usarlos, y lsof , sobre el que tal vez también quiera saber. Encontrará algunas diferencias entre sistemas en esta área, así que esté preparado para que las cosas no sean exactamente como las ilustramos aquí. Para comenzar, veremos el uso del comando unmount para desmontar el CD en nuestro sistema de Ubuntu como se muestra en el Listado 13. Primero usamos grep para filtrar las entradas de la salida de mount para mostrar sólo aquellas entradas que contengan 'media', el punto de montaje usual para soporte físico eliminable. Después usamos umount para desmontar el dispositivo usando su punto de montaje (/media/Ubuntu 10.10 i386). Finalmente, repetimos el filtro mount + grep para confirmar que el dispositivo ya no está montado. Note que puede usar el punto de montaje o el nombre de dispositivo (/dev/sr0 en este caso) como el argumento para umount. Listado 13. Desmontando un CD en Ubuntu desde la línea de comandos
ian@pinguino:~$ mount | grep media /dev/sr0 on /media/Ubuntu 10.10 i386 type iso9660 (ro,nosuid,nodev,uhelper=udisks, uid=1000,gid=1000,iocharset=utf8,mode=0400,dmode=0500) ian@pinguino:~$ umount /media/Ubuntu\ 10.10\ i386 ian@pinguino:~$ mount | grep media Como puede ver, Ubuntu le permite usar la línea de comandos para desmontar una unidad que fue automáticamente montada. Repitiendo el escenario anterior, en OpenSUSE 11.3 es probable que resulte en algo como el Listado 14. Listado 14. Desmontando un CD en OpenSUSE desde la línea de comandos (1)
ian@lyrebird:~> mount | grep media /dev/sr0 on /media/openSUSE-DVD-x86_64.0702..001 type iso9660 (ro,nosuid,nodev,uid=1000, utf8) /dev/sdc6 on /media/2006R1 type ext3 (rw,nosuid,nodev) ian@lyrebird:~> umount /media/openSUSE-DVD-x86_64.0702..001/ umount: /media/openSUSE-DVD-x86_64.0702..001 is not in the fstab (and you are not root) ian@lyrebird:~> umount /dev/sr0 umount: /dev/sr0 is not in the fstab (and you are not root) Algunas veces encontrará una desconexión entre lo que puede hacer gráficamente y lo que puede esperar hacer en una línea de comandos. A medida que Linux madura, dichas desconexiones se vuelven menos frecuentes, pero algunas veces las encontrará como lo hemos hecho nosotros aquí. La solución obvia, tomando en cuenta lo que ha aprendido en este tutorial, es usar su o sudo para ejecutar el comando requerido con privilegios de raíz. Así que vamos a intentarlo usando su como se muestra en el Listado 15. Listado 15. Desmontando un CD en OpenSUSE desde la línea de comandos (2)
ian@lyrebird:~> su Password: lyrebird:~ # mount | grep media
25
/dev/sr0 on /media/openSUSE-DVD-x86_64.0702..001 type iso9660 (ro,nosuid,nodev,uid=1000, utf8) /dev/sdc6 on /media/2006R1 type ext3 (rw,nosuid,nodev) lyrebird:~ # umount /dev/sdc6 lyrebird:~ # umount /media/openSUSE-DVD-x86_64.0702..001/ umount: /media/openSUSE-DVD-x86_64.0702..001: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) Pudimos desmontar /dev/sdc6 con éxito, pero no pudimos desmontar /media/openSUSE-DVDx86_64.0702..001 porque Linux declaró que estaba ocupado. Obtendremos un mensaje de error similar si intentamos usar el comando eject . Recuerde que dijimos que Linux mantendrá cerrado un CD o DVD mientras está en uso. Generalmente, no puede desmontar un sistema de archivos si está siendo usado por otro usuario. Como se sugiere en el mensaje de error anterior, puede usar los comandoslsof o fuser para encontrar el usuario que está causando su problema al desmontar. El uso típico es ilustrado en el Listado 16. Listado 16. Usando lsof y fuser (como raíz)
lyrebird:~ # lsof /media/openSUSE-DVD-x86_64.0702..001/ COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 3824 ian cwd DIR 11,0 2048 2048 /media/openSUSE-DVD-x86_64.0702..001/ boot lyrebird:~ # fuser -um /media/openSUSE-DVD-x86_64.0702..001/ /media/openSUSE-DVD-x86_64.0702..001: 3824c(ian) El comando lsof muestra el archivo o el directorio real (/media/openSUSE-DVDx86_64.0702..001/boot en este caso) que está abierto así como el ID de proceso (3824) y el ID de usuario (ian) usando el archivo o directorio. El comando fuser muestra el usuario y el ID de proceso usando el sistema de archivos /media/openSUSE-DVD-x86_64.0702..001, pero no el archivo o directorio abierto específico. Normalmente usted usaría esta información para cerrar con limpieza el proceso abierto o la ventana usando el sistema de archivos. En algunos sistemas de Linux también hay una opción L para umount que permite un desmontaje diferido donde el sistema de archivos es separado de la jerarquía del sistema de archivos inmediatamente y todas las referencias al sistema de archivos son borradas cuando el sistema de archivos deja de estar ocupado. En OpenSUSE 11.3 esta opción no está disponible, por lo que necesita borrar las referencias del sistema de archivos, ya sea al finalizar los procesos ofensivos o al asegurarse de que ya no están usando recursos afectados, antes de desmontar. Mencionamos anteriormente en el Listado 14 que el sistema de OpenSUSE no soporta el uso de línea de comandos deumount para un dispositivo que fue montado desde el escritorio, así que atacamos el problema al usar autoridad de raíz. Existe otro enfoque al usar el comando halmount para desmontar el dispositivo. HAL es una Capa de Abstracción de Hardware, que proporciona una interfaz de aplicación consistente para diversos dispositivos de hardware. Si usted usa halmount, seguirá sin poder desmontar un dispositivo ocupado. Listado 17 muestra cómo utilizar halmount y después conmutar a raíz para forzar la finalización del proceso que está manteniendo ocupado al disco. Tome en cuenta que terminar el proceso de esta forma puede causar pérdida de daos, así que no lo recomendamos a menos que esté seguro de que no perderá datos. Después conmutamos de regreso al modo de usuario normal y usamos halmount para desmontar el sistema de archivos que ya no está ocupado. Finalmente usamos eject para abrir la bandeja y expulsar el DVD.
26
Listado 17. Usando halmount, kill y eject
ian@lyrebird:~> halmount -u /dev/sr0 /dev/sr0: org.freedesktop.Hal.Device.Volume.Busy: umount: /media/openSUSE-DVD-x86_64.0702 ..001: device is busy. ian@lyrebird:~> lsof /dev/sr0 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME bash 3824 ian cwd DIR 11,0 2048 2048 /media/openSUSE-DVD-x86_64.0702..001/ boot ian@lyrebird:~> su Password: lyrebird:~ # kill -9 3824 lyrebird:~ # ps -ef | grep 3824 root 5542 5507 0 22:47 pts/2 00:00:00 grep 3824 lyrebird:~ # logout ian@lyrebird:~> halmount -u /dev/sr0 ian@lyrebird:~> eject /dev/sr0 Esperamos que esta breve introducción al uso de soporte físico eliminable en Linux le ayude a disfrutar sus archivos de soporte físico eliminable y a evitar la pérdida de datos.
Cierre de sesión Las tareas de cierre de sesión, bloqueo de su pantalla, apagado y reinicio del sistema están normalmente relacionadas en el sentido de que son accedidas desde los mismos o similares menús. Frecuentemente su distribución añadirá un botón de lanzamiento rápido para acceder a estas tareas.
Cierre de sesión de OpenSUSE Para cerrar la sesión, haga clic en Start y después en Leave. Verá un menú como en la Figura 27 con opciones para cerrar la sesión, bloquear la pantalla y apagar o reiniciar el sistema. Haga clic en la selección apropiada.
27
Figura 27. Añadiendo un botón de cierre de sesión con Red Hat Enterprise Linux 3
También verá iconos para abandonar y bloquear en la parte derecha del fondo del panel de OpenSUSE. Haga clic en el iconoLeave a la derecha y verá un recuadro de diálogo como en la Figura 28. De nuevo, haga su selección. Figura 28. Usando el icono de cierre de sesión del panel de OpenSUSE
Ubuntu Accede a las funciones de cierre de sesión y reinicio de Ubuntu desde un icono de panel en el extremo derecho de la parte superior del panel de Ubuntu. Este icono es similar al icono Leave en OpenSUSE. Haga clic en él para revelar un diálogo similar al de la Figura 29 donde puede hacer su elección.
28
Figura 29. Usando el icono de cierre de sesión del panel de Ubuntu
Cierre de sesión de Fedora Acceda a las funciones de cierre de sesión y reinicio de Fedora en el menú System en el panel superior como se muestra en la Figura 30. Sus opciones son similares a las opciones de OpenSUSE y Ubuntu que ha visto anteriormente. Figura 30. Cerrando sesión en el escritorio de GNOME de Fedora
Añadiendo un botón de cierre de sesión a su panel Fedora no instala un icono de panel para cierre de sesión o bloqueo de pantalla similar a aquellos en OpenSUSE o Ubuntu. Sin embargo, puede añadir sus propios iconos fácilmente. Inicie haciendo clic con el botón derecho en una parte en blanco del panel. En el menú contextual, seleccione Add to Panel..., y verá una selección de elementos que puede añadir. Desplácese hacia abajo a la selección Log Out y haga clic en ella para añadirla a su panel. Puede añadir el icono Lock Screen de la misma forma.
29
Figura 31. Añadiendo un botón de cierre de sesión al escritorio de GNOME de Fedora
Un icono de cierre de sesión será añadido a su panel. Si una aplicación no está en la lista y puede iniciarla desde el menú Applications o puede abrir el menú hasta el punto donde iniciaría la aplicación, entonces haga clic con el botón derecho para abrir un menú contextual que incluya opciones para añadir un iniciador para el panel o para su escritorio.
Añadiendo usuarios y grupos Algunas veces necesitará definir nuevos usuarios para su sistema y nuevos grupos para esos usuarios. Por ejemplo, tal vez necesite definir un usuario llamado mqm y un grupo también llamado mqm (así como otro grupo llamado mqbrkrs al instalar el componente de mensajería incorporado en WebSphere Application Server), o tal vez necesite crear usuarios para administrar bases de datos. Si no especifica un número de usuario, herramientas gráficas normalmente asignarán el siguiente número de usuario disponible. Para sistemas de Fedora y Red Hat, los números de usuario comienzan en 500, de forma que el usuario que creó cuando instaló su sistema es probablemente el usuario 500. Para OpenSUSE y Ubuntu, los números comienzan en 1000. Si usa el mismo ID en varios sistemas como yo lo hago, probablemente lo encontrará conveniente para usar los mismos números de ID y grupo en cada sistema también. Para los propósitos de esta sección, añadiremos un usuario llamado testuser con el ID 2000 y grupo 2000. Normalmente necesita definir primero el grupo y después definir los usuarios que usarán el grupo, así que eso es lo que haremos aquí. Puede usar las herramientas gráficas para la administración de usuario o ingresar comandos en una ventana de terminal. Daremos una visión general del proceso gráfico aquí usando herramientas de administración de sistema de OpenSUSE. Después le diremos dónde encontrar las herramientas correspondientes en un sistema de Fedora o Ubuntu. Finalmente le daremos los comandos si realmente desea hacerlo desde la línea de comandos.
30
Añadiendo usuarios y grupos a su sistema de OpenSUSE En un sistema de OpenSUSE con KDE, usted accede al centro de control de YaST (Yet Another System Tool) al usar Start->Applications, después seleccionar System y desplazarse hacia abajo a Administrator Settings como se muestra en la Figura 32. Figura 32. Centro de Control de YaST2
Abra esta aplicación y haga clic en Security and users en el panel izquierdo para ver las tareas mostradas en el panel principal de la Figura 33. Figura 33. Centro de Control de YaST2
Seleccione User and Group Management. Si no ha recibido recientemente autoridad de raíz, se le solicitará la contraseña de raíz. En la siguiente pantalla, verá cualquier usuario existente. Seleccione la pestaña Groups , y verá algo como en la Figura 34.
31
Figura
34.
Lista
de
grupos
en
el
Centro
de
Control
de
YaST2
Haga clic en el botón Add para añadir un nuevo grupo. Verá algo como en la Figura 35. Note que hay un número de grupos que fueron creados cuando instaló su sistema. Ingrese 'testuser' para Group Name y '2000' para Group ID. Haga clic enOK para regresar a la visualización de lista de grupos y vea el nuevo grupo listado. En este punto su grupo aún no ha sido salvado en el sistema, así que se perderá si cancela. Figura 35. Añadiendo un grupo en el Centro de Control de YaST2
Haga clic en la pestaña Users para regresar a la visualización de usuario, después haga clic en Add para añadir un nuevo usuario. Ingrese 'Test User' para User's Full Name, 'testuser'
32
para User Name, después escriba y vuelva a escribir una contraseña inicial para el usuario. Vea la Figura 36. Figura 36. Añadiendo un usuario en el Centro de Control de YaST2
Haga clic en la pestaña Details e ingrese '2000' para User ID (uid) y seleccione 'testuser' en el menú desplegableDefault Group . Este panel es donde puede cambiar el directorio de inicio predeterminado y el shell de inicio de sesión predeterminado, entre otros elementos. También puede seleccionar grupos adicionales de los que este usuario será miembro. Cuando haya terminado, haga clic en OK para regresar a la lista de usuario donde verá su nuevo usuario. Haga clic en OK, y YaST procesará todos sus cambios y los salvará en el sistema. Figura 37. Detalles de usuario en el Centro de Control de YaST2
33
Añadiendo usuarios y grupos a su sistema de Fedora o Ubuntu En sistemas de GNOME, tales como nuestros sistemas de Fedora y Ubuntu, usted inicia la gestión de usuario desde el menúSystem->Administration->Users and Groups como se muestra en la Figura 38. Figura 38. Iniciando la gestión de usuario y grupo en GNOME
Sin embargo, Fedora y Ubuntu tienen distintos diálogos una vez que abre la gestión de Usuario y Grupo. Fedora inicia la aplicación system-config-users , mientras que Ubuntu inicia la aplicación users-admin . Ilustraremos el uso de Fedora aquí y después resumiremos las diferencias para Ubuntu. Si no ha iniciado sesión o si no ha sido recientemente autenticado como raíz, necesitará proporcionar la contraseña de raíz cuando se le solicite. Entonces verá la pantalla User Manager, abierta en la pestaña Users como en la Figura 39. De forma predeterminada, sólo los usuarios y grupos normales son mostrados. Para ver los usuarios y grupos de sistema, desmarque el recuadro de selección Hide system users and groups en Edit->Preferences.
34
Figura 39. Gestor de Usuarios de Fedora
Podemos hacer lo que hicimos anteriormente para el sistema de OpenSUSE y definir nuestros grupos primero. Sin embargo, el Gestor de Usuarios de Red Hat tiene un dispositivo conveniente que le permite crear un grupo privado para un usuario con el nombre de grupo siendo el mismo que el nombre de usuario. Así que haga clic en el botón Add User y llene los detalles para el usuario testuser igual que para OpenSUSE anteriormente. Sin embargo, en esta ocasión, marque los recuadros de selección Specify user ID manually y Specify group ID manually y ponga 2000 para cada uno de estos valores. Nuestra pantalla ahora se ve como la Figura 40. Figura 40. Añadiendo un usuario en Fedora
35
Después de que haga clic en OK, regresará al Gestor de Usuarios. Su nuevo usuario ya estará añadido en el sistema, a diferencia del caso de OpenSUSE. Haga clic en Add Group para añadir cualquier grupo adicional que pueda necesitar. Para hacer a los usuarios miembros de grupos adicionales, puede seleccionar un grupo y usar sus propiedades para añadir usuarios o seleccionar un usuario y usar las propiedades para añadir grupos. Cuando termine con las propiedades, haga clic en OK para regresar al Gestor de Usuarios y después en File->Quit para cerrar el Gestor de Usuarios. Gestor de usuarios de Ubuntu Ahora que se ha familiarizado con añadir usuarios en OpenSUSE y Fedora, podrá gestionar el proceso de Ubuntu. En general, Ubuntu lo guiará a través del proceso para añadir un usuario y configurar el usuario con un ID y grupo predeterminados. Una vez que ha añadido a testuser de esta forma, debe ver una pantalla como en la Figura 41. Figura 41. Gestión de usuarios en Ubuntu
En este punto necesitará usar el botón Manage Groups para añadir el nuevo grupo (o puede añadirlo antes de que añada el usuario). Una vez que ha añadido el grupo testuser necesitará regresar a la pantalla de la Figura 41, seleccionar el ID detestuser y hacer clic en el botón Advanced para cambiar el número de ID y el grupo principal para el usuario.
Añadiendo usuarios y grupos usando la línea de comandos Puede añadir o cambiar usuarios y grupos desde la línea de comandos. Estas tareas requieren autoridad de raíz. La información sobre los grupos es almacenada como un archivo plano en /etc/group. Puede usar el comando groupadd para añadir un nuevo grupo. Esto es bastante simple. Añadir un nuevo usuario es un poco más complejo, ya que existen más parámetros, y necesitará el número del grupo del usuario. Usemos el comando groupadd para añadir nuestro grupo detestuser , con el ID de grupo 2000, y después usemos el comando grep para buscar /etc/group y verificar los valores. Nota: Si no proporciona un ID de grupo, el sistema asignará el siguiente que sea más alto que cualquier ID de grupo existente. root@pinguino:~# groupadd -g 2000 testuser root@pinguino:~# grep testuser /etc/group testuser:x:2000:
36
Como puede ver, el grupo de testuser es 2000. Ahora usemos el comando useradd para añadir el usuario testuser . La opción -c nos permite especificar un comentario que es normalmente el nombre real de un usuario. La opción -u nos permite especificar el ID numérico (2000) para el usuario. La opción -d nos permite especificar el directorio de inicio para el usuario. La opción g especifica el grupo principal del usuario. Aquí usamos 2000, que es el grupo de testuser que acabamos de crear. La última opción que usamos es la opción -G para especificar grupos adicionales para este usuario. Aquí podemos usar el nombre de grupo. En este caso, añadiremos testuser al grupo ian. Una vez que ha añadido el usuario, puede usar el comando grep de nuevo y verá que el usuario testuser ha sido añadido a los grupos testuser e ian . En este punto ha creado un nuevo usuario, pero el usuario no tiene una contraseña y no puede iniciar sesión en el sistema. Algunos usuarios no necesitan iniciar sesión, así que eso estaría bien para esos usuarios. El usuario de raíz tiene la autoridad para establecer (o restablecer) contraseñas para otros usuarios. Para hacer esto, usted usa el comando passwd y da el nombre de usuario como un parámetro. Se le solicitará la nueva contraseña y después se le solicitará que vuelva a escribirla para verificación. root@pinguino:~# useradd -c"Test User" -u 2000 -d/home/testuser -g 2000 -G ian \ > testuser root@pinguino:~# grep testuser /etc/group ian:x:1000:testuser testuser:x:2000: root@pinguino:~# passwd testuser Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Finalmente, tal vez necesite añadir usuarios a un grupo existente. Puede usar el comando usermod para hacer esto, pero necesita la lista de grupos existentes para el usuario, ya que sustituirá la lista de grupos adicionales. Frecuentemente es más fácil editar /etc/group directamente. Haga una copia de seguridad primero, por si acaso cometiera un error. Para añadir el usuario editor a los grupos ian y testuser, edite /etc/group y actualice las líneas para ian y testuser de forma que se vean de la siguiente manera: ian:x:1000:testuser,editor testuser:x:2000:editor Encontrará que la mayoría de la información de usuario está almacenada en /etc/passwd, pero no debe editar este archivo usted mismo. Use los comandos useradd, usermod y userdel en su lugar. Si usted no es un administrador de sistema de tiempo completo, probablemente encontrará más fácil hacer una manipulación ocasional de usuarios y grupos mediante las interfaces gráficas.
Recursos Aprender • Aprenda más sobre cómo son montados los dispositivos en "Aprenda Linux, 101: Control al montar y desmontar sistemas de archivos" (developerWorks, octubre 2010). •
En la zona Linux de developerWorks, encontrará cientos de artículos "cómo hacer" y tutoriales, así como descargas, foros de discusión, y gran cantidad de otros recursos para desarrolladores y administradores Linux.
•
Permanezca actualizado(a) con los Eventos técnicos y webcasts de developerWorks enfocados en una variedad de productos IBM y de temas de la industria TI.
37
•
Asista a ¡developerWorks Live gratis! sesión informativa para actualizarse rápidamente sobre productos y herramientas IBM y sobre las tendencias de la industria de TI.
•
Vigile demostraciones developerWorks on-demand que van desde demostraciones sobre instalación y configuración de productos para principiantes, hasta funcionalidades avanzadas pera desarrolladores experimentados.
•
Siga a DeveloperWorks en Twitter, o suscríbase a un feed de tweets Linux en developerWorks.
Autor:
David Mertz es Turing completo, pero probablemente no apruebe la Prueba de Turing. Para conocer más acerca de su vida, consulte su página Web personal. David escribe las columnas developerWorks Charming Python y XML Matters desde el año 2000. Consulte su libroText Processing in Python [Procesamiento de texto en Python].
Compilación y edición: Ing. Sergio Aguilera. Facultad de Tecnología Informática. Universidad de Belgrano.
[email protected] Todos los Derechos Reservados a IBM Corp. – Marzo 2012.
38