Curso de administración básica GNU/Linux

ADMINISTRACIÓN BÁSICA I

Jesús David Navarro

jEsuSdA

Tuxes

Índice

ARCHIVOS BÁSICOS DE CONFIGURACIÓN

ARCHIVOS BÁSICOS DE CONFIGURACIÓN

archivos de configuración

Archivos básicos de configuración

/etc/crontab
Tareas programadas
/etc/fstab
Montaje del sistema de archivos
/etc/hostname
Nombre del sistema
/etc/modules
Carga de módulos en el inicio

Archivos básicos de configuración

/etc/hosts.deny
Host a los que no se les permite el acceso al sistema
/etc/hosts.allow
Host a los que se les permite el acceso al sistema
/etc/apt/sources.list
Repositorios o fuentes de paquetes
/etc/cups/cupsd.conf
Servidor de Impresión

Usad "man hosts_access" para obtener completa ayuda sobre los archivos hosts.deny y hosts.allow .

Archivos básicos de configuración

/etc/rc[X].d/
Scripts que se ejecutan en cada nivel X de ejecución
/etc/samba/smb.conf
Configuración de Samba
/etc/udev/udev.rules
Reglas de definición de dispositivos para UDEV
/etc/X11/xorg.conf
Configuración del entorno gráfico (sistema X)

Archivos básicos de configuración

/boot/grub/menu.lst
Configuración del menú de arranque GRUB
/etc/bash.bashrc
Se ejecuta cuando cualquier usuario inicia una sesión.
/home/[USER]/.bashrc
Se ejecuta cuando el usuario inicia una sesión.
/home/[USER]/.xinitrc
Se ejecuta cuando el usuario inicia una sesión gráfica.

Notad como muchos de los logs se van guardando periódica y cíclicamente con otros nombres para evitar que el archivo de logs crezca desmesuradamente (facilitando así su manejo).

LOGS

LOGS

Archivo de Log

Logs

/var/log/apt/term.log
Log de APT.
/var/log/cups/
Logs del servidor de impresión.
/var/log/debian-installer/
Log de la Instalación de Debian.
/var/log/fsck/
Log de los chequeos de discos.

Logs

/var/log/samba/
Log de SAMBA
/var/log/auth.log
Logs de los accesos al sistema.
/var/log/dmesg
Log con mensajes del sistema.
/var/log/syslog
Log del Sistema.

Logs

/var/log/kern.log
Log del Kernel.
/var/log/mail.log
Logs del sistema de correo (pej. postfix).
/var/log/messages
Log de mensajes del sistema.
/var/log/Xorg.0.log
Log del servidor gráfico.

Algunos comandos de Log e Información

dmesg
Muestra mensajes del sistema (no es un cat /var/log/dmesg)
tail -f /var/log/[ARCHIVO]
Muestra por pantalla en tiempo real el contenido del archivo [ARCHIVO] (las 10 últimas líneas)
date
Muestra la fecha y hora actual del sistema.
uptime
Muestra el tiempo que lleva funcionando el sistema.

Algunos comandos de Log e Información

w
Muestra los usuarios conectados actualmente en el sistema.
whoami
Muestra el nombre del usuario que lo invoca
finger [USUARIO]
Muestra información sobre el USUARIO.
cat /proc/cpuinfo
Muestra información sobre la CPU.

Algunos comandos de Log e Información

cat /proc/meminfo
Muestra información sobre la MEMORIA.
df
Muestra información sobre el uso de los discos.
du [RUTA]
Muestra el espacio usado por los archivos de RUTA.
free
Muestra información memoria y swap.

GESTIÓN DE PAQUETES

GESTIÓN DE PAQUETES

paquete deb

Tipos de Paquetes

Comparativa de tipos de paquetes [Inglés]

Repositorios

APT-GET

A veces un paquete no se instala porque no puede sobreescribir archivos que fueron generados o instalados por otro paquete anterior.

Para solucionarlo, basta con ejecutar dpkg -i --force-overwrite nombre-del-paquete.deb

USAD ESTO CON EXTREMA PRECAUCIÓN. ;)

Otras veces, el sistema de paquetes queda inconsistente porque la instalación de un paquete fue errónea o porque algún paquete quedó sin cubrir sus dependencias (generalmente debido a la mezcla de repositorios no actualizados o no oficiales).

Para solucionar y dejar en un estado consistente el sistema de paquetes, basta con ejecutar: apt-get -f install.

Gestión de paquetes

Actualizaciones masivas

apt-get upgrade
Actualiza todos los paquetes a la nueva versión.
apt-get dist-upgrade
Actualiza todos los paquetes a la nueva versión e instala otros nuevos paquetes que estén relacionados con estos.

Yo recomiendo usar el parámetro -d (apt-get -d dist-upgrade) para DESCARGAR primero todos los paquetes a actualizar antes de INSTALARLOS.

De no hacerlo así, corremos el riesgo de quedarnos a mitad de una instalación por culpa de paquetes no descargados correctamente, dejando así el sistema inconsistente o inutilizable.

Añadir repositorios

Basta con añadir las líneas requeridas en /etc/apt/sources.list

Por ejemplo:


			deb http://debian.hands.com/debian/ testing main contrib non-free
			deb http://debian.org/debian/ sid main contrib non-free
			deb http://www.debian-multimedia.org/ sid main
		

Procedemos a un apt-get update para actualizar los índices y listo. ;)

A veces ocurre que algunos repositorios mantienen paquetes firmados, de modo que al realizar el update, recibiremos un mensaje de error parecido a este:

W: GPG error: http://ftp.debian-unofficial.org unstable Release: Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 394D199524C52AC3

La solución es tan sencilla como teclear (como root):

#gpg --recv-keys 394D199524C52AC3 #gpg --export -a 394D199524C52AC3 > key.asc #apt-key add key.asc

La próxima vez que hagamos un update de los repositorios, no encontraremos problemas. :D

USUARIOS Y GRUPOS

USUARIOS Y GRUPOS

usuarios

USUARIOS Y GRUPOS

adduser
Genera usuarios HUMANOS.
adduser --system
Genera usuarios de Sistema.
addgroup
Genera un grupo.
addgroup --system
Genera un grupo de Sistema.

USUARIOS Y GRUPOS

adduser [USUARIO] [GRUPO]
Agrega al usuario [USUARIO] al grupo [GRUPO]
deluser [USUARIO] [GRUPO]
Elimina al usuario [USUARIO] del grupo [GRUPO]
deluser [USUARIO]
Elimina al usuario.
delgroup [GRUPO]
Elimina el grupo.

Aunque se eliminen los usuarios, no se eliminan sus archivos de /home/

USUARIOS: Cambiar una contraseña

passwd [USUARIO]
Cambiar contraseña del usuario [USUARIO].

PERMISOS

Ejemplos:

chmod 666 hola.txt
Lectura y escritura para u,g y o.
chmod 777 hola.txt
Lectura, escritura y ejecución para u,g y o.
chmod 744 hola.txt
Lectura, escritura y ejecución para u y lectura para g y o.
chmod 754 hola.txt
Lectura, escritura y ejecución para u , lectura y ejecución para g y lectura para o.
chmod -R 644 /home/usuario/
Lectura, escritura para u y lectura para g y o.

PERMISOS: Cambiar propietario

chown [USUARIO] [ARCHIVO]
[USUARIO] será el dueño del archivo [ARCHIVO]
chgrp [GRUPO] [ARCHIVO]
[ARCHIVO] pertenece ahora al grupo [GRUPO]

Para hacer cambios recursivamente, podemos usar -R.

SERVICIOS DEL SISTEMA

SERVICIOS DEL SISTEMA

servicio

Trabajando con Servicios

Ejemplo: /etc/init.d/samba stop -> Para el servicio SAMBA.

Reload obliga a que el servicio actualice su configuración sin reiniciarse.

Force-Reload trata de hacer un Reload y si el servicio no lo soporta, entonces hace un Restart.

Niveles de ejecución

0
Parada del sistema
1
Monousuario sin red
2
Multiusuario con red
3
Multiusuario con red y entorno gráfico
6
Reinicio del sistema

¡OJO!: Pueden variar según la distribución

En algunas distribuciones actuales se suelen lanzar las X también en nivel 2

Los niveles 4 y 5 tienen usos específicos menos comunes.

Para pasar de un nivel a otro: init [NIVEL] o telinit [NIVEL]

Para cada nivel, los servicios de /etc/init.d/ son enlazados a la carpeta /etc/rc[X].d .

Cuando se cambia de nivel de ejecución, INIT mira en el directorio perintente y ejecuta los scripts que se encuentra allí.

Los nombres de los enlaces tienen la forma S[MM]script o K[MM]script, donde [MM] es un número de dos dígitos y script es el nombre del script (que debería ser el mismo que el del archivo al que apunta en /etc/init.d/).

Cuando INIT cambia de nivel, los scripts que primero se ejecutan son los que empiezan por K, cada uno con el argumento "stop" (es decir, que se paran los servicios que empiezan por K).

Seguidamente se ejecutan los scripts que empiezan por S con el argumento start.

En definitiva, los scripts K son los responsables de detener servicios y los scripts S de levantarlos al entrar en cada nivel de ejecución.

Los dos dígitos [MM] son usados para determinar el orden en que se ejecutarán los scripts: los de menor número se ejecutan primero.

Esto es usado para asegurarnos de que los servicios necesarios para que otros servicios funcionen, se ejecutan antes que los segundos.

Ejemplo:

Preparar el lanzamiento del servicio mysql:

$ chmod 744 /etc/init.d/mysql.server $ cd /etc/rc3.d $ ln –s ../init.d/mysql-server ./S99.mysql $ ln –s ../init.d/mysql-server /etc/rc0.d/K01.mysql