Академический Документы
Профессиональный Документы
Культура Документы
Juan Hernando
jhernando@.upm.es
Septiembre 2013
jhernando@.upm.es
1/37
en UNIX/Linux Administracion
Tres pilares fundamentales:
jhernando@.upm.es
2/37
L nea de mandatos
sistemas de la familia UNIX Es una aplicacion que forma parte del S.O. y ofrece una de la cual usuarios y administradores interfaz a traves pueden operar el sistema.
Consultar el estado del sistema Recorrer el arbol de directorios Lanzar otras aplicaciones ...
jhernando@.upm.es
3/37
L nea de mandatos
SUS dene un estandar de UNIX shell, basado en el
Bourne Shell
Aplicaciones de l nea de mandatos comunes: Korn Shell (ksh) Bourne Shell (sh) Bourne Again Shell (bash) C shell (csh) TC shell (tcsh)
Sintaxis t pica: (prompt) mandato [par ametro 1] ... [par ametro n] Ejemplo: $ echo "Hola Mundo"
jhernando@.upm.es
4/37
Mandatos basicos
Listar un directorio
Mandato ls ls archivo1 archivo2 ls -l -rw-r--r-- 1 user -rw-r--r-- 1 user drwx------ 2 user Mandato cd cd directorio
directorio group 6750 15 feb 13:56 archivo1 group 1027 29 mar 17:26 archivo2 group 4096 12 abr 11:05 directorio
Cambiar de directorio
jhernando@.upm.es
5/37
Mandatos basicos
Manual del sistema
Mandato man
El manual de UNIX contiene informacion sobre la mayor a
Scripts
Los scripts son la base de la administracion de sistemas
UNIX
Programas sencillos, ejecutados mediante un interprete
jhernando@.upm.es
7/37
CUPS (impresoras) Apache (servidor web) nfs-daemon (directorios compartidos por red) remota) nis (autenticacion gdm (login graco) ...
jhernando@.upm.es
8/37
bin dev etc home lib mnt / opt proc bin sbin etc tmp include usr lib var man local
DVDs, Blu-Rays...) Discos extraibles (USB, FireWire...) Directorios montados remotamente (nfs, smb...) Las diferentes versiones de UNIX
suelen emplear estructuras de directorios basicas mas o menos de jas para facilitar la organizacion la informacion
jhernando@.upm.es
9/37
bin dev etc home lib mnt / opt proc bin sbin etc tmp include usr lib var man local
asociados a dispositivos. UNIX proyecta los dispositivos como cheros en este directorio (interfaz comun) /etc: Conguracion del sistema. de Ficheros de conguracion servicios, arranque, etc
/home: Cuentas personales de los
10/37
ciertos sistemas de cheros. Por lo general, vac o o con un nivel de directorios. Se utiliza para montar otros dispositivos
/opt: Aplicaciones adicionales del
sistema. En principio todo aquello que el administrador instale fuera del SSOO estandar (el del fabricante o distro)
jhernando@.upm.es
11/37
de recursos. El para la gestion kernel presenta en este directorio del sistema informacion
/sbin: Ejecutables de
bin dev etc home lib mnt / opt proc bin sbin etc tmp include usr lib var man local
del SSOO. administracion Subconjunto de mandatos con privilegios. En principio un usuario tenerlos en el PATH no tiene por que
/tmp: Directorio para cheros
temporales. Ficheros auxiliares de aplicaciones. Todos los usuarios pueden escribir en este directorio. En algunos UNIX se comparte con el swap
jhernando@.upm.es
12/37
SSOO. Este directorio contiene los mandatos que no son basicos (ls, cp, etc.) pero que se distribuyen con del fabricante la instalacion
/usr/local: Programas locales del
bin dev etc home lib mnt / opt proc bin sbin etc tmp include usr lib var man local
y colas de trabajos. Lo usa el sistema para guardar el registro de operaciones (accesos, errores y otros mensajes), as como colas de determinados servicios (correo o impresora)
jhernando@.upm.es
13/37
Directorio /dev
Agrupa entrada de diferentes tipos: Dispositivos de tipo caracter: terminales o cintas Dispositivos de bloque: discos Dispositivos virtuales (/dev/zero, /dev/null) Todos ellos tiene asociado un major y minor number. Son
parametros que usa el kernel para determinar como tratar un acceso al dispositivo
Major number: Identica el manejador (driver) que lo va a
jhernando@.upm.es
14/37
Directorio /proc
Se corresponde con un sistema de cheros virtual (no
El contenido de este directorio depende mucho del sistema El sistema operativo: Al registrar entradas en el directorio guarda una pareja de funciones (una para lectura y otra para escritura) Una operacion de lectura (e.g.: cat /proc/cpuinfo) en dentro del kernel (no lee realidad ejecuta una funcion verdaderamente de ningun dispositivo) Idem para la escritura.
jhernando@.upm.es
15/37
Directorio /proc
Algunos archivos interesantes dentro de /proc: version: Version del kernel cpuinfo: Informacion sobre el procesador meminfo: Informacion sobre la memoria del sistema devices: Dispositivos del sistema partitions: Particiones de los discos duros encontrados modules: Modulos del kernel cargados Ademas /proc contiene un directorio con el PID de cada
exe: Enlace simbolico al ejecutable cwd: Enlace simbolico al directorio de ejecucion status: Estado del proceso Directorio fd: Enlaces simbolicos a cada chero abierto por el proceso. El nombre del enlace identica el descriptor de chero del proceso
jhernando@.upm.es UNIX: Fundamentos basicos Administracion 16/37
jhernando@.upm.es
17/37
de acceso a los cheros (entre otras cosas) En UNIX existen tres tipos de permisos:
r: Lectura. Necesario para poder acceder a los datos del
chero
w: Escritura. Necesario para modicar los datos del chero x: Ejecucion. Necesario para lanzar programas y hacer
operaciones especiales
jhernando@.upm.es
18/37
jhernando@.upm.es
19/37
chero: d directorio, l enlace simbolico, etc El primer grupo de 3 (a continuacion) indica permisos al propietario
El siguiente grupo de 3 indica permisos al grupo El siguiente grupo de 3 indica permisos al mundo
jhernando@.upm.es
20/37
Mandato chgrp
Similar a chown pero para grupos chgrp [OPTION]... GROUP FILE...
jhernando@.upm.es
21/37
Ejemplos chmod chmod chmod chmod 0755 archivo1 u+w archivo1 ug+rx archivo1 a-w archivo1
jhernando@.upm.es UNIX: Fundamentos basicos Administracion 22/37
de usuarios Gestion
de un usuario: Creacion
1
Insertarlo en el chero de usuarios. Se le asigna un nombre, un identicador y un directorio de trabajo (entre otras cosas) (password ). La pasword se Asignarle una contrasena procesa y se asocia al usuario Denir parametros (l mites). Numero de procesos maximo, memoria, etc Crear el directorio home. Vericar espacio disponible y organizar las cuentas de forma manejable. Copiar cheros iniciales. El directorio /etc/skel suele contener los cheros basicos para una nueva cuenta de usuario (esqueleto de una cuenta) Dar de alta en otro servicios disponibles (mail, quota...)
jhernando@.upm.es UNIX: Fundamentos basicos Administracion 23/37
de usuarios Gestion
Fichero de usuarios /etc/passwd
usuario:passwd:uid:gid:desc:home:shell
usuario: identicador del usuario y login en la maquina passwd: Contrasena. Normalmente se oculta usando
/etc/shadow
uid/gid: identicadores de sistema del usuario y su grupo
principal
desc: Informacion adicional home: Ruta del directorio donde se arranca el login. Raiz
jhernando@.upm.es
24/37
de usuarios Gestion
Fichero de grupos /etc/group
grupo:passwd:gid:lista usuarios
grupo: identicador del grupo passwd: Contrasena del grupo. No se suele usar gid: identicador de sistema
grupo1:x:1000:usuario1,usuario2,usuario3
Fichero de passwords ocultos /etc/shadow
usuario:passwd:fecha:edadmin:edadmax:aviso:inact:cad:res
jhernando@.upm.es
25/37
de usuarios Gestion
de contrasenas en /etc/shadow Codicacion
Almacenar las contrasenas en claro puede crear un
problema de seguridad Las contrasenas se codican usando una funcion hash (normalmente MD5 o SHA) El resultado de la funcion hash se almacena en /etc/shadow
$1$EUMrwt7d$pP.qwe2PyX9zo1N0xFkhG
/etc/shadow
hash
$1$EUMrwt7d$pP.qwe2PyX9zo1N0xFkhG
jhernando@.upm.es
26/37
de usuarios Gestion
Crear usuarios
de un usuario se puede automatizar El proceso de creacion usando el mandato adduser
adduser [options] [--home DIR] [--shell SHELL] [--no-create-home] [--uid ID] [--firstuid ID] [--lastuid ID] [--ingroup GROUP | --gid ID] [--disabled-password] [--disabled-login] [--gecos GECOS] [--add_extra_groups] [--encrypt-home] user
Ejemplo:
adduser --home /home/user1 -shell /bin/bash --ingroup users user1
Cambiar contrasena
de un usuario podemos usar el Para cambiar la contrasena mandato passwd
jhernando@.upm.es
27/37
jhernando@.upm.es
28/37
Login de un usuario
Al conectarse un usuario al sistema: (local o remoto) es 1 Se evalua si el modo de conexion valido. Puede haber restricciones a nivel del usuario (por ejemplo, dependiendo del getty, el root no se debe conectar de forma remota)
2
Se arranca el programa shell asociado. Este programa puede no ser un shell propiamente dicho de la sesion Conguracion
Conguracion general (/etc/profile, /etc/bash.bashrc) Conguracion por usuario (/.profile, /.bashrc)
jhernando@.upm.es
29/37
Inhabilitar usuarios
Para cerrar o bloquear una cuenta sin borrar su contenido podemos: Bloquear la contrasena poniendo * en el campo passwd del /etc/passwd Sustituir el shell en el /etc/passwd por un mandato que realice otra operacion
/bin/false: Programa que no hace nada y termina con
valor de retorno 1
Otro programa que imprima el mensaje cuenta
se puede bloquear temporalmente el acceso a todos Tambien los usuarios menos root creando el chero de texto /etc/nologin. Cuando un usuario intente hacer login el el contenido del chero (mensaje de aviso). sistema mostrara
jhernando@.upm.es UNIX: Fundamentos basicos Administracion 30/37
Cambio de usuario
Los mandatos su y sudo permiten a unos usuarios convertirse en otros
Mandato su
su [options] [username] La identidad del usuario cambia al indicado. Normalmente (solicita la contrasena del nuevo requiere autenticacion usuario)
Mandato sudo
sudo [command] Permite a un usuario asumir la identidad de otro para ejecutar un mandato.
Antes de proceder autentica al usuario de partida Controlado por el chero /etc/sudoers
jhernando@.upm.es
31/37
de root /etc/sudoers se convierte en un chero cr tico del sistema, que solo deber ser modicable por el root. El mandato visudo permite al root editar este chero de forma segura (almacena los cambios en un temporal y comprueba la sintaxis antes de modicar /etc/sudoers) man sudoers
jhernando@.upm.es
32/37
periodica Ejecucion
que deben Existen mutitud de tareas de adminsitracion realizarse de forma periodica Actualizacion de software
Comprobaciones de seguridad Realizacion de back-ups etc.
Herramientas comunes
cron y crontab (parte del estandar SUS) anacron
jhernando@.upm.es
33/37
cron y crontab
cron
Demonio que permite programar mandatos de administracion, automaticamente que se ejecutaran de forma periodica
Se congura usando el chero /etc/crontab Los directorios /etc/cron.daily, /etc/cron.weekly y
/etc/cron.monthly facilitan la tarea: Los programas que dentro se ejecutan cada d esten a, cada semana o cada mes respectivamente
crontab
El mandato crontab permite gestionar cheros crontab para cada usuario
Se almacenan en /var/spool/cron/crontabs Se controla con /etc/cron.allow y /etc/cron.deny
jhernando@.upm.es UNIX: Fundamentos basicos Administracion 34/37
Ficheros crontab
Fichero de texto que contiene una tabla, con una la por l nea y las columnas separadas por tabulador
1 2 3 4 5 6
Minuto (0 - 59) Hora (0 - 23) D a del mes (1 - 31) Mes (1 - 12) 7) D as de la semana (0 - 7, domingo = 0 o Mandato que ejecutar
Ejemplo
0 0 * * * backup.sh 5 5 * * 7 system check.sh 0 2 1 * * software update.sh
jhernando@.upm.es
35/37
El editor de texto
Junta la consola, la otra herramienta fundamental de todo administrador UNIX es el editor de texto. Modicar cheros de conguracion
Programar scripts
Es importante disponer de un editor potente con el que el administrador se sienta comodo IMPORTANTE: Un editor de texto no es un IDE. Debe ser un programa ligero que pueda funcionar de manera rapida en una presente en la mayor terminal de texto y que este a de sistemas que operemos
jhernando@.upm.es
36/37
Editores
pico/nano Editor sencillo, similar al bloc de notas de Windows Muy limitado y no recomendable vi/vim Editor minimalista pero muy potente Presente en todos los sistemas de la familia UNIX (parte del estandar SUS) Recomendable pero dif cil de aprender emacs Editor multi-funcion, muy potente Parte del proyecto GNU Presente en muchos UNIX, pero a menudo como software adicional Tamiben recomendable