¿Cuál de las siguientes opciones es verdad con respecto a CDP y el gráfico que se muestra?

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 37,67 KB

ISOP - Unidad didáctica 4


Implantación de sistemas operativos

1. Linux: Administración y aseguramiento del sistema

1.1. Permisos

Cada fichero y cada directorio tiene un usuario propietario que, normalmente, es quien lo creó. También tiene un grupo propietario que, por defecto, es el grupo del usuario anterior.

El usuario propietario puede asignar a sus archivos una serie de permisos, con el fin de restringir el acceso a otros usuarios. Para ello, se utiliza el comando chmod  que se estudiará más adelante teniendo en cuenta lo siguiente:

Los posibles permisos para archivos son:

 • r: Representa el permiso de lectura. 

• w: Representa el permiso de escritura.

 • x: Representa el permiso de ejecución. 

Si asignamos permisos a un directorio, el significado varía: 

• r: Representa el permiso de visualización del contenido del directorio. 

• w: Representa el permiso de creación y eliminación de archivos en el directorio. 

• x: Representa el permiso de acceso al directorio.

 Además, para que los permisos r y w sean efectivos, x debe estar activado.

Existen tres categorías de usuarios a los que se debe asignar permisos: 

• El usuario propietario del archivo.

• El grupo propietario del archivo.

 • El resto de usuarios. Cuando se ejecuta el comando ls -l aparece la siguiente información: 

• El primer carácter indica el tipo de fichero.

 • Los siguientes tres caracteres establecen los permisos para el usuario propietario, de forma que el primero hace referencia al permiso r, el segundo al permiso w y el tercero al permiso x.

 • Los siguientes tres caracteres indican los permisos para el grupo propietario, en el mismo orden indicado anteriormente.


Implantación de sistemas operativos

• Los siguientes tres caracteres señalán los permisos para el resto de usuarios, también siguiendo la misma ordenación.

 • Si en alguna de esas posiciones aparece un guion, significa que no se ha establecido el permiso correspondiente.

Ejemplo: En la imagen de abajo, se observa que se trata de un directorio cuyo usuario propietario tiene todos los permisos, el grupo solo tiene lectura y acceso y, finalmente, el resto de usuarios no tiene ningún permiso.

Es posible establecer los permisos de forma más compacta, sabiendo que cada uno de ellos tiene asociado un número. En particular:

Permiso Valor r 4 w 2 x 1

Y a cada categoría de usuarios se le asigna el número obtenido al sumar los valores correspondientes. Ejemplos:

Valor simbólico Valor numérico r w x r - - - - - 740 r w - r w - r - - 664 r w x r w x r - x 775

1.1.1. Comandos para la gestión de permisos

chmod

Sintaxis

chmod permisos fichero | directorio

4

Implantación de sistemas operativos

Descripción

Establece permisos para cheros y directorios. Esta tarea solo la pueden llevar a cabo el propietario del archivo y el superusuario. Los permisos se pueden establecer en formato octal o simbólico (con letras). Se usa + para añadir permisos, para quitarlos y el signo = para establecer exactamente los permisos que se indiquen. Se utiliza u para representar al propietario, g al grupo, o al resto de usuarios y a para representar a todos. Además se pueden establecer permisos de propiedad especiales para archivos ejecutables (en lugar de x), como son s, que permite al resto de usuarios y grupos ejecutar el programa como si se tratasen del usuario y grupo propietario, y t, que permite que el programa permanezca en memoria después de su ejecución.

Opciones

-R: Se aplica a directorios y sirve para establecer los permisos no solo del directorio sino también de su contenido.

Ejemplos

chmod u+rw-x,g+r,o+r-wx fichero

chmod u=rw,go=r fichero

chmod a=rw fichero

chmod 644 fichero

chmod ug+s fichero

chmod 4555 fichero

chown

Sintaxis

chown usuario[:grupo] fichero | directorio

5

Implantación de sistemas operativos

Descripción

Establece el usuario propietario de un archivo y, opcionalmente, también el grupo. Solo el usuario root tiene permiso para hacerlo.

Opciones

-R: Se aplica a directorios y sirve para establecer el propietario no solo del directorio sino también de su contenido.

Ejemplos

chown nuevo_prop fichero

chown nuevo_prop:nuevo_grp fichero

chgrp

Sintaxis

chgrp nuevo_grupo fichero | directorio

Descripción

Cambia el grupo propietario de un archivo o directorio. Solo lo puede hacer el superusuario.

Opciones

-R: Se aplica a directorios y sirve para cambiar de grupo no solo al directorio sino también a su contenido.

6

Implantación de sistemas operativos

Ejemplos

chgrp otro_grupo fichero

chgrp -R otro_grupo directorio

umask

Sintaxis

umask [máscara]

Descripción

Sin argumentos, muestra la máscara que se aplicará para obtener los permisos por defecto al crear archivos y directorios. También permite establecer la máscara a aplicar. A la hora de usar este comando, se puede utilizar un formato octal o uno simbólico. Para obtener el resultado nal, el comando realiza una operación and entre el valor 666 y el complementario de la máscara cuando se crea un chero ordinario, y entre 777 y el complementario de la máscara cuando se crea un directorio.

Opciones

-S: Permite manejar el comando utilizando notación simbólica en lugar de octal.

Ejemplos

umask -S

umask 022

1.2. Ejecución automática de cheros

Ya vimos que en MS-DOS se dispónía de los cheros Autoexec.Bat y Cong.Sys en los que se podían incluir los comandos necesarios para personalizar el entorno, ya que se ejecutaban automáticamente al iniciar el sistema.

7

Implantación de sistemas operativos

En Linux también vamos a encontrar un conjunto de cheros que ayudarán a realizar esta tarea, pero con una diferencia importante: MS-DOS es un SO monousuario, mientras que Linux es multiusuario. Por tanto, dentro de ese conjunto habrá cheros de conguración del entorno propios de cada usuario, y cheros de conguración comunes a todos los usuarios.

Para saber cuáles son estos cheros y en qué momento se ejecutan, vamos a estudiar los pasos que se dan en un inicio de sesíón en modo consola:

Se debe introducir el nombre de usuario y pulsar <Intro>.

Se debe introducir la contraseña (con el eco desactivado) y pulsar <Intro>.

El sistema comprueba que existe un usuario con ese nombre y contraseña.

Si no se encuentra, se muestra un mensaje de error y se vuelve al paso inicial.

Si se encuentra, se asignan las variables de entorno (USER, UID, GID, etc.), se cambia al directorio de trabajo del usuario y se ejecuta la shell de inicio que, a su vez, lanza los siguientes archivos en el orden que se especica: En primer lugar se ejecuta el chero /etc/prole para todos los usuarios. A continuación se buscan por orden alguno de los siguientes cheros, propios de cada usuario: ~/.Bash_prole, ~/.Bash_login o ~/.Prole, y se ejcuta el primero que se encuentre.

El chero ~/.Bashrc se ejecuta de forma automática en cualquier shell que no sea de inicio.

Por último, se carga el entorno de línea de comandos lo que permite al usuario ejecutar comandos. En particular, con el comando startx se puede arrancar algún gestor de ventanas que se encuentre instalado (KDE, Gnome, etc.).

Cuando el usuario abandona la sesíón, se ejecuta el chero ~/.Bash_logout.

Salvo el primero, el resto de cheros están contenidos en el directorio /etc/skel junto con otros que son copiados al directorio home de un usuario, cuando se le da de alta en el sistema. Si modicamos cualquiera de los cheros en /etc/skel, las modicaciones afectarán a todos los usuarios que se creen a partir de entonces.

8

Implantación de sistemas operativos

1.3. Administración de usuarios

Cada usuario del sistema tiene asociado un número único que lo idéntica, denominado UID (User IDentier) y, además, debe pertenecer al menos a un grupo (conjunto de usuarios establecido por el administrador) también identicado con un número único denominado GID (Group IDentier). Cuando se crea un usuario, además del login y la contraseña, se le asigna un directorio de trabajo y una shell de inicio. Toda esta conguración se establece a través de ciertos cheros que vamos a estudiar en el siguiente apartado.

1.3.1. Ficheros involucrados

Para la gestión de usuarios y grupos se usan básicamente cuatro archivos de conguración:

/etc/passwd: Almacena el login de cada usuario, su contraseña encriptada (o una x, si se usa el chero /etc/shadow), el UID, el GID, un comentario (descripción o nombre completo) sobre el usuario, el directorio de trabajo y la shell de inicio. Esta información aparece en una línea por cada usuario y cada campo está separado por el carácter :. Un * o un ! En el campo de contraseña indica que el usuario no puede acceder al sistema desde el programa de login. Nota: La shell de inicio de un usuario (bash por defecto) se puede cambiar modicando la entrada correspondiente en el chero /etc/passwd o mediante el comando chsh -s <nueva_shell> <usuario>. El conjunto de shells disponibles se encuentran en el chero /etc/shells.

/etc/shadow: En un principio, las contraseñas encriptadas se guardaban en el chero /etc/passwd, que era de lectura para todo el mundo. Para aumentar la seguridad, se decidíó almacenarlas en un chero aparte, que sólo pudiera ser leído por el superusuario (o usuarios de su grupo) y por programas con privilegios de root. Este chero almacena la siguiente información: El nombre de cada usuario (login), su contraseña encriptada, días transcurridos desde el 1/1/1970 (inicio de la era de la informática) hasta el último cambio de contraseña, días que quedan antes de que se pueda cambiar la actual contraseña, días después de los cuales se debe cambiar la contraseña, días antes de que expire la contraseña y se avise al usuario, días después de la expiración de la contraseña en los que se inhabilita la cuenta si no se cambia la contraseña, días transcurridos desde el 1/1/1970 para que se inhabilite la cuenta y, por último, un campo reservado. El formato es análogo al del chero /etc/passwd y las entradas con -1 indican innito (o nunca).

9

Implantación de sistemas operativos

/etc/group: Almacena el nombre de cada grupo, la contraseña encriptada para el grupo (generalmente no se usa), el GID y una lista de usuarios del grupo, separada por comas. El formato es similar al de los cheros anteriores. Si en el campo de la contraseña aparece un * o un !, se impide que alguien pueda unirse al grupo. Si se establece una contraseña, cualquiera que la conozca se podrá añadir usuarios al grupo.

/etc/gshadow: Tiene la misma función que /etc/shadow, pero para las contraseñas del grupo.

1.3.2. Comandos relacionados

useradd

Sintaxis

useradd [opciones] usuario

Descripción

Crea un usuario. Cuando se especica que se cree un directorio de trabajo, se copia el contenido del directorio /etc/skel.

Opciones

-d <directorio>: Especica el directorio de trabajo del usuario.

-m: Si no existe el directorio de trabajo, lo crea.

-e <aaaa-mm-dd>: Especica la fecha de expiración de la cuenta del usuario.

-g <grupo>: Especica el grupo del usuario.

-p <clave>: Establece la clave encriptada del usuario.

Ejemplos

useradd -md /home/usuarios/Juan Juan

useradd -m -g empleados ana

10

Implantación de sistemas operativos

passwd

Sintaxis

passwd [usuario]

Descripción

Permite a cada usuario cambiar su propia contraseña. Al root, además, le permite cambiar las contraseñas de los usuarios existentes.

Ejemplos

passwd

passwd Juan

userdel

Sintaxis

userdel usuario

Descripción

Sin parámetros, elimina todas las entradas correspondientes al usuario en los cheros vistos en el apartado anterior.

Opciones

-r: Además de las entradas en los cheros, también borra el directorio de trabajo del usuario.

11

Implantación de sistemas operativos

Ejemplos

userdel Juan

userdel -r ana

usermod

Sintaxis

usermod [opciones] usuario

Descripción

Módica los atributos de un usuario existente en el sistema. Para ello, se pueden usar los mismos parámetros que se utilizaban con useradd.

Opciones

-l: Cambia el nombre de un usuario existente.

-aG grupo: Añade un usuario al grupo.

Ejemplos

usermod -g nuevo_gr Juan

chgrp -l José pepe

groupadd

Sintaxis

groupadd [opciones] grupo

12

Implantación de sistemas operativos

Descripción

Crea un nuevo grupo.

Opciones

-g <GID>: Establece un GID personalizado. Si no se indica, el sistema elige uno de forma automática.

gpasswd

Sintaxis

gpasswd [opciones] grupo

Descripción

Establece una contraseña para un grupo. Solo lo puede hacer el superusuario.

Opciones

-a usuario grupo: Añade un usuario a un grupo.

-d usuario grupo: Elimina un usuario de un grupo.

groupdel

Sintaxis

groupdel grupo

13

Implantación de sistemas operativos

Descripción

Borra el grupo especicado si no contiene usuarios. Solo lo puede hacer el superusuario.

groupmod

Sintaxis

groupmod [opciones] grupo

Descripción

Módica los atributos de un grupo existente. Para ello, se pueden usar los parámetros que se usaban con groupadd.

Opciones

-n nuevo_nombre: Módica el nombre de un grupo.

Ejemplos

groupmod -n sabios inteligentes

groups

Sintaxis

groups [usuario]

Descripción

Sin parámetros muestra los grupos del usuario actual. También se pueden consultar los grupos a los que pertenece un usuario concreto.

14

Implantación de sistemas operativos

id

Sintaxis

id [usuario]

Descripción

Sin argumento muestra el uid y el gid de los grupos a los que pertenece el usuario actual. Si se pasa el nombre de un usuario muestra esa misma información relativa al usuario indicado.

1.4. Administración de procesos

Cada orden que ejecutamos desde la línea de comandos provoca la ejecución de uno o más procesos en el ordenador. A cada proceso se le asigna un número entero, que permite identicarlo de forma única. A este número se le conoce como pid (Process IDentier). Como Linux es un sistema multitarea los podrá atender de manera concurrente. Los procesos se pueden ejecutar en primer plano (foreground) bajo el control del usuario, o en segundo plano (background) lo que permitirá trabajar en primer término con el intérprete de comandos. Para ejecutar una orden como un proceso en segundo plano, se debe incluir el carácter & al nal de la línea de órdenes y la shell devolverá el control, tras mostrar el número identicador del proceso.

Ejemplo:

sort archivo &

Existe una combinación de teclas que permite pasar a segundo plano un proceso que esté ejecutándose en primer plano y lo mantiene suspendido hasta que se vuelva a retomar:


El orden jerárquico de los procesos se establece en forma de árbol. Un proceso puede crear otros procesos (padre e hijos respectivamente). En general, cuando un proceso muere, mueren con él

15

Implantación de sistemas operativos

todos sus hijos, pero no siempre es así y para evitar que los procesos hijos queden huérfanos, se les asigna como proceso padre un proceso especial llamado init o systemd, que es el primer proceso que se ejecuta en Linux.

Existe otro tipo de procesos llamados daemons (demonios) que se inician al arrancar el sistema y mantienen en memoria hasta que se apaga el computador. Suelen controlar los servicios, las comunicaciones, el estado de las impresoras, etc. Un ejemplo demonio es el proceso Cron que permite a los usuarios programar aplicaciones para ejecutarlas en una determinada fecha y hora, controlando periódicamente las especicaciones de los usuarios.

Los procesos se pueden comunicar entre sí y para ello existen varias técnicas:

Pipes: Son canales unidireccionales entre dos procesos de forma que uno escribe una secuencia de bytes que es leída por el otro.

Named Pipes: Son similares a las anteriores pero pueden ser usados por procesos que no estén relacionados, siempre dentro de la misma máquina.

Sockets: Son mecanismos de comunicación entre procesos, aunque estos se encuentren en máquinas diferentes.

1.4.1. Comandos relacionados

jobs

Sintaxis

jobs

Descripción

Lista los procesos de usuario que se están ejecutando en segundo plano, con el siguiente formato: Un número entre corchetes para identicar el proceso, un signo + que indica el último proceso pasado a segundo plano o un signo que indica el penúltimo proceso pasado a segundo plano y, por último, si está detenido, ejecutándose o nalizado.

fg

16

Implantación de sistemas operativos

Sintaxis

fg [%número]

Descripción

Pasa a primer plano el proceso suspendido o en segundo plano, cuyo número es <número>. Sin argumentos, pasa a primer plano el último proceso suspendido o en segundo plano.

bg

Sintaxis

bg [%número]

Descripción

Pasa el proceso suspendido cuyo número es <número> a segundo plano (como si se hubiese ejecutado con &). Sin argumentos, pasa a segundo plano el último proceso suspendido.

top

Sintaxis

top

Descripción

Muestra dinámicamente y en tiempo real los procesos que se están ejecutando, junto con otro tipo de información como estadísticas, porcentajes de uso de la memoria, de la CPU, etc.

17

Implantación de sistemas operativos

ps

Sintaxis

ps [opciones]

Descripción

Lista todos los procesos que se están ejecutando en ese instante.

Opciones

-aux: Muestra información detallada de todos los procesos del sistema.

-ejH: Muestra un árbol de procesos.

-eLf: Muestra información sobre los hilos de ejecución.

kill

Sintaxis

kill pid |%número

Descripción

Elimina el proceso identicado con el número pid o el asignado por jobs.

Opciones

-9: Existen procesos que se aferran a la vida desesperadamente. En estos casos se utiliza este parámetro para matar el proceso sin contemplaciones.

18

Implantación de sistemas operativos

xkill

Sintaxis

xkill

Descripción

Convierte el cursor en un aspa y elimina la aplicación sobre la que se haga clic en el entorno gráco. Hay que tener cuidado sobre dónde se hace clic, pues se pueden eliminar elementos importantes que dejen inoperativo el escritorio.

pidof

Sintaxis

pidof aplicación

Descripción

Muestra cuál es el pid de la aplicación pasada como parámetro.

1.5. Conguración de red

Cada distribución de Linux dispone de una herramienta gráca para llevar a cabo la conguración de red. Sin embargo nos vamos a centrar en los comandos de conguración de la red desde la línea de comandos.

1.5.1. Nomenclatura

Hasta hace poco, los dispositivos de red ethernet tenían el identicador ethN siendo N el número del dispositivo. De esta manera el primer dispositivo sería eth0, el segundo eth1, y así sucesivamente. El problema que a veces surgía era que, tras un reinicio en equipos con más de una tarjeta,

19

Implantación de sistemas operativos

se podían asignar los identicadores en otro orden. Por tanto, se desarrolló un método para predecir el nombre de una interfaz de forma ja. Existe alguna variante más, pero la nomenclatura más extendida consta de tres partes:

Tecnología: en, wl, etc.

Periférico: p0, p1, etc.

Slot: s0, s1, etc.

Ejemplos: enp0s3, wlp10s0, etc.

1.5.2. Comandos relacionados

ifcong

Sintaxis

ifconfig [interfaz] [opciones]

Descripción

Sin parámetros, muestra por pantalla todos los dispositivos activos. Además, permite realizar conguraciones de red.

Opciones

-a: Muestra todos los dispositivos, activos o inactivos.

mtu <N>: Establece la unidad máxima de transferencia en N bytes.

<Ifaz> up: Activa la interfaz Ifaz.

<Ifaz> down: Desactiva la interfaz Ifaz.

<Ifaz> <IP>: Establece una IP para la interfaz indicada. Asocia la máscara y la dirección de broadcast por defecto.

20

Implantación de sistemas operativos

<Ifaz> netmask <MR>: Establece una máscara de red para la interfaz indicada.

<Ifaz> broadcast <BC>: Establece una dirección de broadcast para la interfaz indicada.

Ejemplos

ifconfig

ifconfig -a

ifconfig enp0s3 up

ifconfig enp0s3 192.168.1.1

ifconfig enp0s3 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255

route

Sintaxis

route [<acción> <tipo> <IP1> <netmask MR> <default gw IP2> dev interfaz]

Descripción

Permite modicar la tabla de enrutamiento del sistema ya sabemos que Linux puede funcionar como un router.

Opciones

acción: Admite los valores add o del para añadir o eliminar una ruta.

tipo: Admite los valores -net o -host dependiendo de si se hace referencia a una dirección de red o de un host.

IP1: Puede ser una dirección de red o una dirección de host.

netmask MR: Establece MR como la máscara de red asociada a IP1.

default gw IP2: Establece IP2 como la puerta de enlace.

dev interfaz: Utiliza interfaz para enviar los paquetes.

21

Implantación de sistemas operativos

Ejemplos

route add -net 192.168.3.0 netmask 255.255.255.0 dev eth0

route add default gw 192.168.3.8 dev eth0

route del 192.168.3.0

1.5.3. Conguración de la puerta de enlace

Para establecer los servidores DNS principal y secundario se utiliza el chero /etc/resolv.Conf, con la estructura que se muestra a continuación:

nameserver IP1 #Servidor DNS principal

nameserver IP2 #Servidor DNS secundario

search dominio1 #Dominio de búsqueda de los servidores

search dominio2 #Dominio de búsqueda adicional

1.5.4. Conguración a bajo nivel

También es posible establecer la conguración de red a través del chero /etc/network/interfaces. De esta forma, cada vez que arranque el equipo, se leerá la conguración almacenada en él y se cargará en RAM. La estructura de este chero es la siguiente:

auto enp0s3

iface enp0s3 inet static

address IP1

netmask MR

gateway IP2

dns-nameservers IP3 [IP4]

dns-search dominio.Com

22

Implantación de sistemas operativos

En Ubuntu se utiliza una herramienta de conguración de red, denominada Netplan, que reemplaza a las existentes anteriormente. La conguración se almacena en cheros ubicados en el directorio /etc/netplan y tienen extensión .Yaml. El contenido de estos cheros debe tener la siguiente estructura:

network:

ethernets:

enp0s3:

addresses: [IP1/MR]

gateway4: IP2

nameservers:

addresses: [IP3,IP4]

dhcp: no

versión: 2

Una vez congurado el chero, para que los cambios surtan efecto hay que ejecutar el comando netplan apply.

1.5.5. NFS: Compartiendo recursos en red

Para que se puedan compartir cheros y directorios entre dos o más equipos, se utiliza el protocolo NFS de forma que el servidor (ordenador que ofrece sus archivos) debe estar congurado para permitir que la partición requerida pueda ser compartida con los clientes (ordenadores que acceden a los cheros del servidor). Para utilizar la parte servidora de NFS basta con instalar el paquete nfs-kernel-server.

La conguración de un servidor NFS está compuesta de dos pasos:

Congurar el archivo /etc/exports, que deberá listar los directorios compartidos, los equipos con los que se comparten, y con qué permisos, con el siguiente formato:

Directorio 1 equipo1(permisos) equipo2(permisos) ... EquipoN(permisos) ...

Directorio K equipoP(permisos) equipoQ(permisos) ... EquipoZ(permisos) Si se añade más de un permiso, se deberán separar por comas. Los permisos más importantes son:

23

Implantación de sistemas operativos

• ro: Permiso de sólo lectura. • rw: Permiso de lectura y escritura. • noaccess: Impide al cliente acceder a los subdirectorios del directorio compartido. • no_root_squash: Medida de seguridad que impide el acceso al root de una máquina cliente.

Iniciar el proceso servidor de NFS. Por defecto debería estar ejecutándose, pero si no es así, se arranca con el comando: /etc/init.D/nfs-kernel-server start. Se detiene con /etc/init.D/nfs-kernel-server stop.

La conguración de un cliente no requiere la instalación de ningún paquete. Se reduce a montar adecuadamente el directorio compartido, según la siguiente sintaxis:

mount Servidor:/Directorio origen Directorio destino

El resultado de la ejecución del comando anterior es un directorio que cuelga del raíz del cliente, y se trabajará con él como con cualquier otro directorio local.

1.6. Utilidades

En este apartado vamos a estudiar algunos comandos que pueden resultar bastante útiles.

lynx

Sintaxis

lynx [página web | fichero]

Descripción

lynx es una herramienta que permite la navegación por Internet en modo texto (desde una terminal de consola) e, incluso, visualizar cheros de texto. Hace cierto tiempo, el uso de la Web supónía pasar mucho tiempo esperando debido, entre otras cosas, a que las imágenes tardaban mucho tiempo en cargarse. Al utilizar lynx, no se cargan imágenes, por lo que la navegación es más rápida.

24

Implantación de sistemas operativos

Para iniciar lynx basta con escribir su nombre en consola o bien su nombre seguido de una dirección URL. También se puede usar para visualizar archivos convencionales, que mostrará de forma paginada. Para cambiar de URL hay que pulsar g NuevaURL <INTRO>. Para navegar se utilizan las teclas del cursor (para moverse por la pantalla), la barra espaciadora (para ver la siguiente pantalla) e <INTRO> para seguir un hipervínculo.

Opciones

q: Sale pidiendo conrmación.

Q: Sale sin pedir conrmación. Equivale a la combinación <CTRL> + <D>

H: Muestra la ayuda del comando. Es equivalente a escribir ?

!: Abre una nueva interfaz de comandos en la que se pueden introducir órdenes. Para volver a lynx, hay que escribir exit.

\: Permite ver el código fuente de la página HTML actual.

write

Sintaxis

write usuario [tty]

Descripción

Permite enviar un mensaje a un usuario del mismo sistema. Para bloquear estos mensajes se utiliza el comando mesg n. Para desbloquearlos, se usa mesg y. Para terminar la comunicación, basta con pulsar <Ctrl> + <c>.

talk

Sintaxis

talk usuario[@equipo] [tty]

25

Implantación de sistemas operativos

Descripción

Permite una charla con otro usuario. La pantalla aparece dividida horizontalmente, de manera que en la parte superior aparecerá lo que escribamos nosotros y en la inferior lo que escriba el otro usuario. Para terminar la comunicación, basta con pulsar <Ctrl> + <c>.

tar

Sintaxis

kill pid |%número

Descripción

Comando que empaqueta otros archivos y/o directorios en un único chero. En un principio se diseñó para crear archivos en cintas magnéticas y de ahí su nombre: Tape ARchive. Se suele utilizar para crear copias de seguridad o transmitir varios archivos en uno solo. Cuando se crea un archivo con esta herramienta, se le suele dar la extensión tar, aunque no es obligatorio.

Opciones

-c: Crea un archivo tar conteniendo los cheros pasados como parámetros.

-x: Extrae los cheros de un archivo tar en el directorio donde se ejecute el comando.

-t: Lista el contenido de un archivo tar.

-v: Muestra información adicional sobre los archivos y directorios del archivo tar.

-f archivo: Especica el chero tar con el que se quiere trabajar.

-z: Permite comprimir o descomprimir el archivo.

gzip

26

Implantación de sistemas operativos

Sintaxis

gzip [opciones] fichero

Descripción

Comprime el archivo pasado como parámetro, de manera que este se sustituye por la versión comprimida, con extensión gz. Si se usa el parámetro -d, descomprime el chero pasado como parámetro (que deberá estar comprimido).

Opciones

-d: Descomprime el chero pasado como parámetro (que deberá estar comprimido). Equivale al comando gunzip.

mail

Sintaxis

mail -s "asunto" [usuario1 [usuario2] ... ]

Descripción

Herramienta para enviar y visualizar mensajes de correo. Dispone de su propia línea de comandos para la gestión del correo cuyo prompt está representado por ?.

zcat

Sintaxis

zcat fichero.Gz

27

Implantación de sistemas operativos

Descripción

Muestra el contenido de un chero comprimido sin llevar a cabo la descompresión.

gcc

Sintaxis

gcc fuente.C

Descripción

Compilador de C, C++ y Objetive C. Genera un binario con el nombre a.Out.

Opciones

-o nombre: En vez de a.Out genera un ejectuable llamado nombre.

1.7. Procesos destacados

1.7.1. Cron

Este proceso es un demonio que permite a los usuarios programar aplicaciones para ejecutarlas en cualquier fecha y hora. El servicio cron trabaja despertándose cada minuto y comprobando el archivo crontab de cada usuario. Este chero contiene la lista de las tareas que se deben ejecutar en una fecha y hora determinadas y presenta el siguiente formato:

Minuto Hora Día_del_mes Mes Día_de_la_Semana Tarea

Los días de la semana se representan de forma numérica de la siguiente forma:

28

Implantación de sistemas operativos

Día Código Lunes 1 Martes 2 Miércoles 3 Jueves 4 Viernes 5 Sábado 6 Domingo 0

Admite varios valores en una misma columna. Para ello hay que escribirlos separados por comas o bien indicar un rango utilizando un guion. Si en una columna aparece un asterisco, signica que el proceso deberá ejecutarse para todos sus posibles valores, es decir, cada minuto si aparece en la columna minuto, cada mes si aparece en la columna mes, etc.

Cualquier salida que se produzca por la ejecución de estos procesos, no se enviará por la pantalla sino que se mandará al usuario mediante correo electrónico, pudiéndose acceder al mismo con el comando mail (teclear help desde el prompt ?, para obtener ayuda).

Comando relacionado:

crontab

Sintaxis

crontab [opciones] [fichero]

Descripción

Permite la creación de un chero crontab en el directorio /var/spool/cron/crontabs con el contenido del archivo pasado como argumento. Este chero será asociado al usuario que haya ejecutado el comando. El archivo creado tendrá el nombre de dicho usuario. No se debe editar el archivo crontab directamente.

Opciones

-e: La primera vez que se ejecuta, crea un nuevo chero crontab para el usuario. Las sucesivas ejecuciones editan el chero.

29

Implantación de sistemas operativos

-l: Muestra el contenido del chero sin opción a modicarlo.

-r: Elimina el chero.

1.7.2. Systemd o init

Es el primer proceso que se ejecuta una vez cargado el kernel y siempre tiene como identicador de proceso el número 1. Cuando se ejecuta, este proceso determina el nivel de ejecución que debe adoptarse. Básicamente un nivel de ejecución se encarga de establecer el comportamiento del sistema. Existen siete niveles, cada uno de ellos con un propósito especíco:

Nivel 0: Se encarga de detener el sistema.

Nivel 1: Permite la entrada en modo monousuario (únicamente al root).

Nivel 2: Entra en modo multiusuario en modo texto y no está disponible la red.

Nivel 3: Entra en modo multiusuario en modo texto y, además, está disponible la red.

Nivel 4: No tiene uso.

Nivel 5: Análogo al nivel 3, salvo porque se entra en modo gráco.

Nivel 6: Se encarga de reiniciar el sistema.

Nota: Nunca deben establecerse como niveles por defecto 0 ni 6.

1.7.2.1. Comandos relacionados .

runlevel

Sintaxis

runlevel

30

Implantación de sistemas operativos

Descripción

Indica el nivel de ejecución actual.

init

Sintaxis

init <Nivel de ejecución>

Descripción

Permite cambiar a un nivel de ejecución distinto del actual.

1.7.3. Inetd

Es un proceso demonio que se encarga de supervisar otros procesos relacionados con la red, como Telnet o FTP, manteniendo una lista de los servicios de red que se quieren usar. Este proceso evita tener cargados en memoria varios servicios si no se están utilizando. En lugar de esto sólo está inetd escuchando todas las peticiones. Cuando se produce alguna petición, entonces inetd invoca al servidor adecuado. El archivo para congurar este demonio es /etc/inetd.Conf y tiene el siguiente formato:

Nombre del servicio Tipo de socket Protocolo Flujo Usuario Programa

Nombre del servicio: Es el nombre del servicio y debe aparecer en el chero /etc/services (este chero asocia servicios con puertos y protocolos) .

Tipo de socket: Admite dos valores: • stream: Se reere a un tipo de datos orientados a la conexión, como TCP. • dgram: Se reere a un tipo de datos no orientado a la conexión, como UDP. Protocolo: Indica el protocolo que se usa y debe aparecer en el chero /etc/protocols.


Flujo: Admite los valores siguientes: • wait: Antes de desconectarse del servidor, el cliente espera una respuesta de este. • nowait: Cuando se envía la información, el cliente desconecta sin esperar respuesta del servidor.Usuario: Especica el usuario con cuyos permisos se va a ejecutar el servicio.Programa: Es el nombre del programa que va a ejecutarse, junto con los parámetros apropiados. Debe aparecer escrito indicando la ruta absoluta a dicho programa.1.7.4. SyslogdEs un proceso que se encarga de guardar los mensajes y eventos que se producen mientras se trabaja con Linux. Esta información se registra en cheros de texto que se almacenan en el directorio /var/log.Para clasicar los mensajes se utiliza, por un lado, información referente al módulo o subsistema que ha generado el mensaje, y por otro, información referente a la prioridad del mensaje, separadas ambas informaciones por un punto.Algunos de los identicadores más importantes para referirse a la información de subsistemas son:auth: Se reere a mensajes de autenticación.cron: Se reere a mensajes generados por el subsistema cron.kern: Se reere a mensajes generados por el núcleo del sistema.mail: Se reere a mensajes generados por el módulo de correo.syslog: Se reere a mensajes internos del propio syslogd.user: Se reere a mensajes generados por aplicaciones de usuarios.Algunos de los identicadores más importantes para referirse a la información sobre prioridades son:debug: Mensajes de depuración. Tienen la prioridad más baja.32Implantación de sistemas operativosnotice: Es un aviso importante aunque no necesariamente son malas noticias.warning: Es un aviso sobre una situación potencialmente peligrosa.err: Es un aviso sobre una situación de error.crit: Aviso sobre una situación crítica.emerg: Aviso sobre una situación de emergencia, en la que el sistema no puede seguir usándose.Cada uno de estos identicadores contiene a los de prioridad inferior. Para almacenar únicamente los mensajes de una determinada prioridad, se usa el signo = después del punto. Además, estas cadenas admiten el uso del asterisco como comodín.Ejemplos:mail.Err: Hace referencia a los mensajes de error relacionados con el correo y de prioridad inferior.*.=err: Hace referencia a los mensajes de error de todos los servicios.mail.*: Hace referencia a todos los mensajes relacionados con el correo.1.8. El gestor de arranque GrubEl gestor de arranque por excelencia en el universo Linux es Grub. Todo el proceso de arranque se gestiona desde un único archivo, /boot/grub/grub.Cfg, que se genera a partir de otros archivos que se encuentran en el directorio /etc/grub.D/Si queremos modicar algún parámetro del arranque no conviene hacerlo directamente sobre el primer chero, puesto que en algún momento será autogenerado y se perderán los cambios. En lugar de eso hay que realizar las modicaciones oportunas en los ficheros ubicados en /etc/grub.D/El nombre de estos ficheros empieza por dos dígitos, un signo de subrayado y el nombre propiamente dicho de los ficheros. Los números que se forman con esos dos dígitos determinan el orden en el que se va a acoplar para generar el fichero definitivo.Algunas opciones por defecto de Grub se pueden establecer desde el archivo /etc/default/grub. Por ejemplo, la opción por defecto o el timeout. Para omitir la opción de recuperación del sistema, que aparece en las Opciones avanzadas, habría que descomentar la siguiente línea:33Implantación de sistemas operativos#GRUB_DISABLE_LINUX_RECOVERY="true"Por último, tras haber realizado los cambios, se debe ejecutar el comando update-grub2 para reconstruir el fichero principal.


Entradas relacionadas: