Fedora & Redhat.pdf

Published on December 2016 | Categories: Documents | Downloads: 22 | Comments: 0 | Views: 322
of 182
Download PDF   Embed   Report

Comments

Content

Fedora & Redhat Linux
Byron Díaz Padilla

[email protected]
!

17:30-21:30 Hrs.
!

R:19:00 Hrs.
!
!

Presentación
•Nombre
!

•Empresa
!

•Puesto
!

•Conocimiento de Linux
!

•Expectativas del curso
!

•Cuales son sus hobbies?
!

Un vistazo a Fedora y Red Hat
Enterprise Linux
!

¿Qué es Linux?

!

Las raices de Linux en Unix

!

Principales ventajas de linux

!

Qué es RHEL y Fedora

!

Como elegir entre Fedora y RHEL

!

La cultura del Software Libre

¿Que es Linux?

Modelo de desarrollo:

!
Software

libre y código abierto


Núcleo:

!
Linux

Licencia:

!

GNU

GPL y otras


GNU/LINUX
GNU/Linux es uno de los términos empleados para
referirse a la combinación del núcleo o kernel libre
similar a Unix denominado Linux, que es usado con
herramientas de sistema GNU.
!
La historia del núcleo Linux esta fuertemente
vinculada a la del proyecto GNU. 


En 1991 Linus Torvalds empieza a trabajar en un
reemplazo no comercial para MINIX que mas
adelante acabaría siendo Linux.

Caracteristicas
•GNU/Linux es utilizado por el 80% de los principales 500

servidores del mundo.
•Otro informe le da una cuota de mercado de 90% en los

500 mayores supercomputadores.
•Con que cada vez va más en aumento en el mercado el

sistema GNU/Linux también es usado en el segmento de
las computadoras de escritorio, portátiles, computadoras
de bolsillo, teléfonos móviles, videoconsolas y otros
dispositivos.
•IBM Roadrunner, la supercomputadora más potente de

(2008, 2009) TIANHE 1A 2010 y TIANHE-2 2013
funciona bajo una distribución GNU/Linux

!
http://es.wikipedia.org/wiki/TOP500

Software Libre
!

Se basa en cuatro libertades
!

Ejecutar el programa con cualquier propósito

!

Estudiar y modificar el programa

!

Copiar y distribuir el producto

!

Mejorar el programa y publicar las mejoras

MPL

BSD

Características de Linux
!

Multitarea

!

Multiusuario

!

Sistema de memoria virtual (SWAP)

Estructura de un sistema
!

Kernel

!

Módulos

!

Shell o Consola

Video

Distribuciones

Fedora o RHEL
!

!

Fedora
!

Proyecto de RedHat

!

Ciclo rápido de actualizaciones

!

No hay soporte de parte de RedHat

!

http://docs.fedoraproject.org

RedHat
!

Ciclo de actualizaciones largo

!

Multiples opciones de soporte por RedHat

!

Documentación y capacitación de RedHat

Linux y la administración Pública

Alemania


Argentina


Australia


Brasil


España


Chile


China


Cuba


México


Perú


República Dominicana


Ecuador


El Salvador


Uruguay


Venezuela


Entre otros y cada día se suman más.

Instalación de fedora

Entornos Gráficos

!

•Consola
•GNOME

•KDE

•LXDE

•Xfce

•XF

•Entre otros

Formato de Paquetes

Actualmente existen 2 formatos de paquetes.

!

Debian


.deb


!

Red Hat


.rpm

Directorios en Linux

Carpeta /dev

Devices (Dispositivos)
!

/
!

/dev
Hda
! Sda
! Eth
! Wlan
! Cdrom
! Cdrw
! Dvd
!

Carpeta /dev

Devices (Dispositivos)
!

/dev/hda1

1ª partición primaria

!

/dev/hda2

2ª partición primaria

!

/dev/hda3

3ª partición primaria

!

/dev/hda4

4ª partición primaria ó partición extendida

!

------- hasta hda4 tanto primarias como extendidas -------

!

/dev/hda5

1ª partición lógica

!

/dev/hda6

2ª partición lógica

!

...

!

Las particiones lógicas empiezan desde 5 en adelante

Carpeta /home

Carpeta de usuarios
!

/
!

/home
Usuario1
! Usuario2
! …
! Usuarion
!

Carpeta media

Montajes Automaticos
!

/
!

/media
Miusb
! Cdrom
! DiscoDuroX
! Windows7
!

!
!
!

Para montajes con modo gráficos.

Carpeta /mnt

Montajes Manuales
!

/
!

/mnt
MiDiscoduro
! MiUsb
! Tarjetas SD
!

!
!
!

Para montajes con terminales.

Carpeta /tmp

Archivos Temporales
!

/
!

/tmp

!
!
!

!

Directorio temporal que se almacena
información de todos los usuarios.
Se borra al salir de linux.

Carpeta /etc

Carpeta de Configuraciones
!

/
!

/etc
Httpd.conf
! Samba.conf
! Xorg.conf
! Lftp.conf
! Lftp.conf
!

!
!

!

Se encuentran todas las configuraciones.
Por ejemplo si queremos modificar la configuración de
Samba tan solo hay que editar el archivo de texto /etc/

Carpeta /bin

Comandos para todos los usuarios
!

/
!

/bin
Ls
! Ln
! Nano
! Pwd
! Ping
!

!
!

Comandos esenciales para que funcione Gnu/
Linux que puedan usar todos los usuarios.

Carpeta /sbin

Comandos para Super Usuarios
!

/
!

/sbin
Fdisk
! Ifconfig
! Modprobe
! Fsck
!

Carpeta /usr

Configuraciones de aplicaciones de los usuarios
!

/
!

/usr
/bin
! /etc
! /lib32
! /lib64
! /share
!

!
!

!

Se encuentra la gran mayoría de los archivos
existentes en un sistema Linux.
Documentación,ejecutables, etc.

Carpeta de /root

Carpeta del administrador (root)
!

/
!

/root
Documentos
! Imagenes
! Escritorio
! Videos
!

Carpeta /var

Variables del sistema
!

/
!

/var
Logs
! Variables del sistema
! Variables de Aplicaciones
!

Carpeta /boot

Arranque del sistema
!

/
!

/boot
!

/grub
!

Grub.conf

!
!

Aquí está todo lo relacionado con el arranque
del sistema.

Carpeta /proc

Archivos virtuales y procesos del Kernel
!

/
!

/proc
!

!
!
!

Sistema de archivos virtual de información de
procesos y del kernel de la serie 2.4 y 2.6.

Carpeta /opt

Paquetes opcionales
!

/
!

/opt
Adobe
! Teamviewer
! Google
!

!
!
!

Paquetes de programas y aplicaciones
opcionales instalados manualmente.

Conociendo el escritorio Gnome
!

Preferencias
!

Aplicaciones preferidas

!

Descansa pantallas

!

Cambiando el tema

!

Iconos en el pánel

!

Applets

!

Paneles

!

Lanzadores de Aplicaciones

Gnome …
!

Propiedades de los páneles

!

Dispositivos removibles

!

Cambio de Escritorio

KDE
!

Conociendo Konqueror

!

Conociendo Dolphin

!

Buscando archivos

!

Barra de tareas

!

Cambiando el escritorio

!

Lanzadores

!

Atributos de los páneles

La línea de comandos
!

id – información del usuario en que estoy

!

ls – lista de archivos

!

ls -l lista de archivo con detalle

!

pwd – muestra la ruta en que me encuentro

!

cd – para ingresar a una carpeta

!

cd /etc – ingresa de cualquier parte a la
carpeta etc, cd / regresa al root.

!

cd – regresa a la carpeta anterior

!

cd ../../ - regresa 2 carpetas

Permisos de Archivos
!

3 grupos
!

Propietario

!

Grupo

!

Otros

Tipo de Archivo
!

- Archivo común

!

d Directorio

!

c Dispositivo de caracteres (tty o impresora)

!

b Dispositivo de Bloque (usualmente disco
rígido o CD-ROM)

!

l Enlace simbólico

!

s Socket

!

p Pipe

Tipo de Permisos
!

r Permiso de lectura
!

!

w Permiso de escritura
!

!

x Permiso de ejecución

Comando chmod
!

Cambia los permisos de un archivo.

!

u – usuario

!

g – grupo

!

o – otro

!

a – todos
!

!

Chmod a+rwx nombrearchivo

!

Chmod g-rwx nombrearchivo

Comando chmod
!

400 Lectura por parte del dueño

!

200 Escritura por parte del dueño

!

100 Ejecución por parte del dueño

!

040 Lectura por parte del grupo

!

020 Escritura por parte del grupo

!

010 Ejecución por parte del grupo

!

004 Lectura por parte de los otros

!

002 Escritura por parte de los otros

!

001 Ejecución por parte de los otros

Comando chmod
!

chmod 742 nombre archivo

!

chmod 777 nombre archivo

!

chmod 711 nombre archivo

Mas Comandos
!

who – Muestra información del usuario que esta
conectado.
!

-umH

!

ps – ae muestra todos los procesos de los usuarios

!

alias listado='ls -l' – modificar un comando

!

unalias listado - Quitar los alias

!

echo – muestra información en terminal.

!

touch – cambia la fecha de modificación de archivo.

!

nano

Mas comandos …
!
!

!

date – muestra la fecha
cat list | sort -n | nl | -d - muestra el listado de
un archivo
history - muestra el historial
!

# - Muestra los primeros # comandos

!

!# - Ejecuta el comando #

!

!! - Ejecuta el último comando

!

!?ech - Ejecuta el comando que inicie “ech”

Variables de entorno
!

VAR=”contenido”

!

VAR='contenido'

!

VAR=`comando`

!

VAR=$(comando)

!

VAR=$[operacion]

!

VAR=$((operacion))

!

env

!

Export

Modificando proxy
!

Export http_proxy=http://192.168.16.2:8080”

!

Export ftp_proxy=”ftp://usuario:[email protected]:8080”

!

Mayusculas y minusculas.

Operaciones en background
!

Comando &

!

Comando
!

Ctrl + z

!

Jobs – procesos en segundo plano

!

fg – procesos en primer plano

!

bg – procesos en segundo plano

Archivos de configuración de bash
!

/etc
!

/profile

!

/bashrc

!

~/.bashrc

!

~/.bash_profile

!

~/.bash_logout

Variable de entorno para prompt
!

PS1
!

\! comando actual

!

\# numero de comando ejecutado

!

\$ prompt de usuario

!

\W directorio de trabajo

!

\[ inicio de caracteres no imprimibles

!

\] fin de caracteres no imprimibles

PS1 ...
!

\\ contradiagonal

!

\d día

!

\h nombre del host

!

\n nueva líneal

!

\### caracter en octal sustituyendo los #

!

\s la actual shell

!

\u usuario actual

!

\w path completo

!

PS1="$(date +%H:%M:%S)[\u@\h \w]\$"

Tuberías

Expandiendo comandos
!
!

ls -l /etc | less

!

cat archivo.txt | nl

!

nl < ejemplo > ejemplo2 – copia a ejemplo 2
con numeracion

Redirección de archivos
!

ls /etc/ > listaEtc.txt

!

nl nombrearchivo – escribe con lineas

!

ls /usr/bin >> listado.txt
!

!
!

> crea un archivo y si existe lo reemplaza
>> añade a un archivo existente sino no existe
lo crea.

Creación de archivos y directorios
!
!

mkdir carpeta – crea una carpeta
mkdir carpeta/{a,b,c,d} – crea una carpeta y
subcarpetas

!

mkdir carpeta/{a,b,c,d}/{uno,dos,tres,cuatro}

!

rmdir carpeta – borra una carpeta

!

rm -rf carpeta – borra recursivamente una
carpeta

!

tree uno/ - muestra el arbol del directorio

!

touch

!

file

Moviendo y copiando archivos
!

mv origen destino

!

cp original copia

El editor vi o vim
!

h, l = izquierda, derecha

!

j, k = abajo, arriba

!

w b = izq y der por palabra

!

0 ó ^ = inicio de linea

!

$ final de linea

!

dw borrar palabra

!

d0 borrar hasta el comienzo

!

d$ borrar hasta el final

vi o vim...
!

ZZ guardar y salir

!

:w guardar

!

:q salir

!

:q! salir sin guardar

!

I, i insertar

!

R, r reemplazar

!

o nueva linea

!

/ , ? buscar texto

Script
!

Es un conjunto de código ejecutable

!

Se inicia con que interprete se ejecuta
!

#! /bin/bash

!

#son los comentarios

!

Se inicia el script

!

Se guarda con extension .sh → opcional

!

Y se le asignan permisos de ejecución

!

chmod +x nombredelscript

Operaciones Lógicas
!

-lt Menor que

!

-le Menor o igual que

!

-gt Mayor que

!

-ge Mayor o igual que

!

-eq Igual a

!

-ne No igual a

!

-o OR

!

-a AND

!

! NOT

Algunos tips para los scripts
!

!

read
!

Para leer datos del usuario

!

-n indica que se guarda hasta que se presiona enter

if [ $VAR == “cadena” ]; then

comandos

fi

!

$0 nombre del script

!

$1 primer parametro

!

$2 segundo parametro

If con script
!

if [ "$1" = "hola" ]; then

!

ordenes

!

elif [ ]; then

!

ordenes

!

else ordenes

!

fi

Case en script
!

case variable in

!

a) comandos ;;

!

b*) comandos ;;

!

*) comandos ;;

!

esac

For en script
!
!
!
!

for var1 in 0 1 2 3 4 ;
do
ordenes
done

Until do en script
!

until comando do

!

comandos

!

done

Funciones en script
!

[function] nombre() {
!

!

}

comandos;

Terminando un script
!

Si al final del script ponemos:
!

!

Al ejecutarse correctamente, esa variable la
podremos ver con:
!

!

exit

echo $?

Y esto nos asegura que el script se ejecuto
hasta esa línea.

Trabajo con ventanas de texto
!

Screen
!

Ctrl + A
c crea nueva terminal
! n siguiente
! p anterior
! d desconectar
!

Trabajo con ventanas
!

Opciones
!

-t <nombre>

!

-ls listar

Instalación de software
!

Paquetes de CD/DVD

!

Repositorios de Fedora

!

Repositorios de terceros

!

Paginas de proyectos
!

Freshmeat

!

SourceForge

!

rpmFind

!

rpm.pbone

Sitios que proveen paquetes RPM
!

RPMForge.net
!

!

Livna.org
!

!

http://dag.wieers.com/packages

FreshRPMs
!

!

http://rpm.livna.org

DAG
!

!

http://rpmforge.net

www.freshrpms.net

ATRPMs
!

http://atrpms.net/dist/f11

Paquetes en fedora rpm
yum list | less

!
!

Nombre paquete

!

Version

!

# de compilación o empaquetado

!

Version de fedora

!

Arquitectura

!

!

i686

!

x86_64

!

noarch – para cualquier arquitectura de unix

canna-libs-3.7p3-28.fc12.i686.rpm

UsandoYellowdog Updater Modified (YUM)
!

yum
!

install – instala un paquete

!

search – busca un paquete

!

deplist – muestra las dependencia de un paquete

!

erase – borra un paquete

!

update – actualiza uno o varios paquetes

!

check-update – chequea si hay actualizaciones de
paquetes

!

localinstall – instala un paquete que bajamos

!

list – muestra un paquete o grupo de paquetes

yum deplist

dependencias
!

Yum deplist compiz

!

Yum deplist yum

!

Yum deplist wine

Instalando paquetes con yum
!

yum install screen

!

yum install gcc

!

yum install gimp

!

yum install inkscape

Actualizando el kernel con yum
!

yum list kernel | grep “^kernel”

!

uname -a – version del kernel

!

yum search kernel | grep “^kernel”
!

!

yum install kernel-devel kernel-headers

!

yum update kernel

Eliminando el kernel con yum
NOTA:
NO desinstales el kernel linux-image-generic ya
que es necesario para recibir actualizaciones
del kernel.
!

1. Listar los paquetes existentes:
yum list linux-image
dpkg --get-selections | grep linux-image
!

2. Purgar la version de kernel que deseemo:
sudo aptitude purge paquete
clear

75

La herramienta rpm
Funciones de la herramienta:
!

Instalar

!

Actualizar

!

Remover y desinstalar

!

Consultar la base de datos para obtener
información

!

Verificar paquetes

!

Verificar archivos instalados

Comprobaciones que hace rpm
Verifica el espacio en disco antes de hacer alguna
instalación
Si existen los archivos no serán reemplazados
!

rpm -K archivo.rpm – para verificar el archivo.

Puede verificar integridad mediante MD5

Opciones de instalación
rpm -i archivo.rpm – instala un paquete
rpm -iv archivo.rpm – instala con barra de
progreso
rpm -ivh archivo.rpm – con señalizacion
!

--force – reemplaza archivos si existe

!

--nodeps – no verifica las dependencias

!

--repalcefiles – ignora conflictos
!

!

Repositorios:
!

nano /etc/yum.repos.d/fedora.repo

Repositorios
[fedora] ==> Identificación del Repositorio
name ==> Descripción del repositorio
baseurl ==> aquí ponemos el URL que apunta al directorio
donde residen los repositorio.
!
mirrorlist ==> identifica que un URL que apunta a un
archivo que contiene una lista de baseurls.
Donde esto podemos sustituido por el baseurl.
!
enable ==> puede ser 1 o 0. Esto le indica a yum que lo
puede utilizar o no. (1=SI 0=NO)
!
gpgcheck ==> puede ser 1 o 0. Esto le indica a yum si debe
o no realizar una verificación de la firma GPG.
!
gpgkey ==> aquí se debe poner un URL el cual contiene la
llave ASCII GPG del repositorio.
79

Actualización de paquetes
rpm --upgrade archivo.rpm
rpm -u archivo.rpm – verifica que este instalado
rpm -Fvh archivo.rpm – actualiza si ya esta
instalado
rpm -vh --freshen archivo.rpm

Desinstalación de paquetes
rpm -e nombre
rpm --uninstall nombre
!

--nodeps – no verifica las dependencias y lo desinstala.

Consultas a la BD
Búsqueda de paquetes
!

rpm -q compiz

!

rpm --query compiz

!

rpm -qa – consulta todos los paquetes.

Búsqueda de archivos
!

rpm -qf /etc/yum.conf – mira a que paquete
pertenece determionado archivo.

Lista de archivos que instalo el paquete
!

rpm -ql yum

Lista de archivos que contiene un paquete
!

rpm -qlp compiz....rpm

Consultas a la BD
Obtención de información de un paquete
instalado
!

rpm -qi yum

Obtención de información de un paquete no
instalado
!

rpm -qip compiz...rpm

Verificación de archivos si hay algún cambio o no
esta instalado
!

rpm -V nombre

Verificación de archivos de paquetes
!

rpm -Vp archivo.rpm

Comando Tar
!

Crea un paquete

!

tar -cf paquete.tar arhivo1 ... archivoN
!

!

Listar archivos de paquete

!

tar -tvf paquete.tar
!

!

Extrae todos los archivos de un paquete

!

tar -xf paquete.tar
84

Comando Tar
!

Agrega archivos de paquetes

!

tar -uf paquete.tar archivo1 ... archivon
!

!

!

Para agregar un directorio a un archivo .tar ya
existente
tar –rvf archivo.tar /path/directorio/

85

Comprimir o Descomprimir [tar]
!

Comprimir

!

1. Empaquetar
!

!

tar -cf archivo.tar nombrefichero

2. Comprimir
!

gzip fichero – para gz

!

bzip2 fichero – para bz2
!

!

Extrae – descomprime - desenpaqueta

!

tar -xvzf compiz.tar.gz - gzip

!

tar -xvjf compiz.tar.bz2 - bzip2

Instalación desde Código fuente
Localización de archivos fuente
!

sourceforge.net

!

code.google.com

!

freshmeat.net

Tipos de paquetes
!

archivo.tar.gz

!

archivo.tar.bz

Pasos para la instalación
Obtener el código fuente
Descomprimir el código fuente en un directorio
temporal
Leer la documentación
!

README

!

INSTALL

./configure
Make
Make install

Corriendo aplicaciones de otros SO
!

!

DOS
!

Dosbox - instalar

!

DOSEmu

!

Motools

Windows
!

WINE

!

Cedega

!

CrossOver

Corriendo aplicaciones de otros SO
!

!

Windows...
!

Win4Lin

!

QEMU

!

VirtualBox

!

VMWare

Macintosh
!

ARDI

!

MacOnLinus

Publicando con Fedora y RHEL
!

OpenOffice.org

!

StarOffice

!

AbiWord

!

KOffice

!

Groff

!

Latex
!

Lyx

Multimedia con Fedora
!

The Gimp

!

Inkscape

!

Scribus

!

Xmss

!

Audacity

!

Otros

ALSA
!
!

ALSA = Advanced Linux Sound Architecture
Es un componente del núcleo Linux destinado
a sustituir a Open Sound System, licenciado
bajo GNU General Public License.
!

!

Reconoce automaticamente las tarjetas
!

!

Archivos de informacion de ALSA
!

/proc/asound/devices

!

/proc/asound/cards

Dispositivos de audio
!

/dev/dsp

!

/dev/audio0

!

/dev/audio1

!

/dev/cdrom

!

/dev/mixer

!

/dev/sequencer

!

/dev/midi

!

/dev/snd/*

Archivos de configuracion de audio
y comando de prueba
!

!

Archivo de configuracion de audio
!

/etc/asound.conf

!

/usr/share/alsa/alsa.conf

Comando de prueba de speakers
!

speaker-test -c4 – c4= 4 canales o 4 altavoces

!

speaker-test -s – prueba un solo altavos

!

speaker-test -t wav=archivo.wav – con archivo wav

Audio
!

Programa de mezclado de audio
!

Soporta varias placas de sonido simultáneamente

!

Incorporado en el kernel

!

alsamixer

!

alsamixer -V capture – modo captura

!

alsamixer -c #detarjeta – configura # tarjeta

!

Control de volumen
!

!

gnome-volume-control

Audio configuracion

system-config-soundcard

Impresoras cups
!

Servidor CUPS

!

Protocolo IPP (Internet Printing Protocol)

!

cupsd – servicio de CUPS

!

service cups status – estado del servicio

!

service cups restart – reiniciar el servicio

!

service cups start – iniciar el servicio

Impresoras cups

herramientas de administración
!

system-config-printer

!

localhost:631
!

!

Archivo de configuracion de cups

!

/etc/cupsd.conf

!

/etc/cups/cupsd.conf
!

!

Archivo de configuracion de impresoras

!

/etc/printers.conf

!

/etc/cups/printers.conf

Impresoras cups
line printer lp
!

Definir impresora por default:

!

export PRINTER=lp0

!

ls /dev/lp* – lista las impresoras
!

!

lp0, lp1 .. lpn – impresoras puerto paralelo

!

lpusb0, lpusb1...lpusbn – impresoras puerto usb
!

!

!

echo “Mensaje ” > /dev/lp0 – envia a impresion el
mensaje.
lpr archivo.txt

Impresoras cups
!

lpr file.ps
!

-P NombreImpresora

!

-#5 - 5 copias

!
!

Con tuberia

!

$ cat archivo.txt | lpr – lo manda a impresora

!

$ cat archivo.txt | lp

!

$ cat archivo.txt > lp – lp enlace simbolico

!

lpq
!

Ve la cola de impresión

Impresoras cups

remover trabajos
!

lprm -U usuario – cancela el trabajo de un
usuario en especifico
!

!

lprm – cancela todos los trabajos de impresion
del usuario
!

!

lprm 70 – cancela el trabajo de impresion # 70
!

!

lprm -P lp0 – elimina los trabajos de lp0

Impresora cups

Linea de Comando lpc
!

lpc
!

Linea de comandos para manipular impresoras

!

? ayuda

!

Status – estado de impresora

!

Q – quit salir

!
!

lpc status

Comprendiendo la Administración del
sistema
!
!

su – Set User para cambiar de usuario
su cambia el usuario actual a root si
perteneciera al grupo root

!

su – para cambiar al usuario root = su - root

!

sudo [SUperuser DO]

!

Ejecutar un programa con los privilegios de root
!

/etc/sudoers

Configuración de sudoers
!

Sintaxis
!

%admin - Todos los usuarios del grupo admin

!

ALL= - Desde cualquier Host/IP

!

(ALL) - Puede ejecutar cualquier usuario
!

!

Usuario/grupo equipo=(regla) comando

!

juan ALL= /sbin/mount /sbin/ifconfig

!

%grupo ALL= /sbin/mount

/etc/sudoers
!

!

Agregando un usuarios a sudoers y que no
tenga password
NombreUsuario ALL=NOPASSWD:ALL
!

!

Agregamos usuarios que pida usuarios

!

NombreUsuario ALL = PASSWD:ALL
!

!

Tiempo antes que pida la contraseña

!

Defaults timestamp_timeout = 0

Configuración de sudoers
# Alias de Usuarios!
!
User_Alias! FULLTIMERS = millert, mikef, dowdy!
User_Alias! PARTTIMERS = bostley, jwfox, crawl!
User_Alias! WEBMASTERS = will, wendy, wim

106

Configuración de sudoers
# Usuarios!
root! ! ALL = (ALL) ALL!
%wheel! ! ALL = (ALL) ALL!
!
!
# FULLTIMERS: Pueden correr cualquier cosa sobre
cualquier maquina sin password!
FULLTIMERS! ALL = NOPASSWD: ALL!
!
!
# MEDIOTIEMPO: sysadmins pueden correr cualquier cosa
pero van a necesitar Password!
PARTTIMERS! ALL = ALL

107

Configuración de sudoers

#Host Alias!
Host_Alias! CUNETS = 128.138.0.0/255.255.0.0!
Host_Alias! CSNETS = 128.138.243.0, 128.138.204.0/24,
128.138.242.0!
Host_Alias! SERVERS = master, mail, www, ns!
Host_Alias! CDROM = orion, perseus, hercules

108

Configuración de sudoers

#Alias de Comandos!
Cmnd_Alias! KILL = /usr/bin/kill!
Cmnd_Alias! PRINTING = /usr/sbin/lpc, /usr/bin/lprm!
Cmnd_Alias! SHUTDOWN = /usr/sbin/shutdown!
Cmnd_Alias! HALT = /usr/sbin/halt, /usr/sbin/fasthalt!
Cmnd_Alias! REBOOT = /usr/sbin/reboot!
Cmnd_Alias! SHELLS = /usr/bin/sh, /usr/bin/csh

109

Configuración de sudoers

# Jack: Puede ejecutar cualquier cosa sobre la
maquina CSNETS!
jack!! CSNETS = ALL!
!
# Lisa: Puede ejecutar cualquier comando sobre CUNETS!
lisa!! CUNETS = ALL!
!
# OPERADOR: Puede ejecutar comandos de mantenimiento
en /usr/oper/bin/!
operator! ALL = KILL, PRINTING, SHUTDOWN, HALT,
REBOOT,/usr/oper/bin/

110

Configuración de sudoers
# users in the WEBMASTERS User_Alias (will, wendy,!
WEBMASTERS! www = (www) ALL, (root) /usr/bin/su www!
!
# Cualquiera puede montar y desmontar CDROM sobre
las maquinas que estan en el alias CDROM!
ALL! ! CDROM = NOPASSWD: /sbin/umount /CDROM,\!
! ! /sbin/mount -o nosuid\,nodev /dev/cd0a /CDROM

111

Archivos de configuración
!

/etc/passwd

!

/etc/group

!

/etc/profile

!

/etc/login.defs

Significado de los codigo de
usuarios
!

root:x:0:0:root:/root:/bin/bash

!

smbguest:x:1001:1001:Samba guest account:/dev/null:/dev/null

!

root: Nombre de la cuenta (Login)

!

X: que tiene password o clave de acceso encriptada

!

500: UID de esta cuenta

!

501: GID del grupo principal al que pertenece la cuenta

!

usuario pepito: Nombre del usuario

!

/home/usuario1: Directorio de trabajo de usuario

!

/bin/bash: Interprete de comando (shell) de usuario pepito
!

/bin/false indica que la consola esta desactivada

Añadiendo usuarios y grupos
!

useradd – agrega y actualiza usuarios
!

-m crea una carpeta

!

-e tiempo de expiracion (YYYY-MM-DD)

!

!

-f numero de días que expira la cuenta
definitivamente

!

-p cuentas con password

!

-u -valor numerico del id del usuario

!

-U crea un usuario y un grupo con el mismo id

!

-g id del grupo

!

-D coloca valores por default

useradd -g dipaby -d /home/dipaby -s /bin/bash
-m -k /etc/skel dipaby

Añadiendo usuarios y grupos
!
!

adduser – agrega usuarios y grupos
passwd nombreusuario -cambia de password al
usuario.

!

passwd - cambia el password al root

!

groupadd – agrega un grupo
!

groupadd -g 601 mi-grupo

!

usermod -g 601 usuario, usuario2 .. usuarion

!

groups – muestra a que grupo pertenecemos

!

Interfaces gráficas para la administración.

!

/etc/group – especifica que usuario a que grupo
pertenece

Configuración de contraseñas
!

Chage
!

!

!

!

!

!

-l NombreUsuario - lista las caracteristicas de
expiracion de contrasenas.
-m mínimo numero de días entre cambio de
contraseñas
-M máximo de días durante el cual es válida una
contraseña
-d ultimo numero de días desde que fue cambiado
(desde 1/1/1970)
-W cantidad de dias de aviso de cambio de
contraseñas
chage -d 0 miusuariofinal -m 10 -M 20 -W 7

Modificación de cuentas
!

usermod
!

-l login

!

-d directorio home

!

-s shell por defecto

!

-u uid

!

-c comentario

!

-e fecha en que expira la cuenta

!

-g grupo principal

!

-G Grupos adicionales

!

-L bloqueo de usuario

!

-U desbloquea un usuario

Borrado de cuentas
!

userdel
!

-r borra archivos del home
!

!
!

userdel miusuario – borra al usuario del sistema
userdel -r miusuario – borra del sistema y su
carpeta home

Montaje manual de dispositivos
!

# mount

!

# umount

!

# mount -l - listado de dispositivos montados

!

# /etc/mtab – todos los dispositivos montados

!

# /etc/fstab – caracteristicas de las particiones
!

# mount /dev/fd0 /mnt/floppy

!

# mount /dev/cdrom /mnt/cdrom

!

# umount /dev/fd0

!

# umount /dev/cdrom

Montando y desmontando sistema
de archivos
!

# fdisk -l

!

# mount -t ext3 -o rw /dev/sda2 /mnt/linux

!

# mount -t vfat -o defaults /dev/sdb1 /mnt/windows

!

# mount -t vfat -o rw /dev/floppy /mnt/disquet

!

# mount -t iso9660 -o ro,exec /dev/sdc /mnt/cdrom

!

# mount -t vfat -o rw /dev/sda1 /mnt/pendrive
!

!

# umount /dev/sda2

!

# umount /dev/sdb1

!

# umount /dev/sdc

Comprendiendo /etc/fstab
!

Nombre del dispositivo

!

Punto de montaje

!

Tipo de sistema de archivos

!

Opciones

!

Copias de seguridad con dump (0=no 1=si)

!

Comprobación de consistencia al iniciar (fsck)
!

!

/dev/sda2 /mnt/linux ext3 rw,user,auto 0 0

!

/dev/sdb1 /mnt/windows vfat defaults,auto 0 0

!

/dev/sdc /mnt/cdrom iso9660 ro,user,noauto,exec 0 0

!

/dev/sda1 /mnt/pendrive vfat rw,user,auto 0 0

Sistemas de archivos en el fstab
!

EXT2 Sistema de ficheros sin registro para Linux

!

EXT3 Sistema de ficheros con registro para Linux

!

VFAT Sistema de Windows ( versión 95, 98 )

!

NTFS Sistema de Windows ( versión NT, 2000, XP )

!

NFS Sistema distribuido de Sun

!

ISO9660 Sistema estándar para CD-ROM

!

JFS

!

REISERFS Sistema de ficheros con registro para Linux

!

SWAP Espacio de intercambio para Linux

!

Sistema de ficheros con registro de IBM

XFS Sistema de ficheros con registro de Silicon
Graphics

Administración de discos en consola
!

!

Administración de particiones
!

fdisk

!

cfdisk

!

Parted

Formateo de discos
!

mkfs -t
ext3
! reiserfs
! jfs
! xfs, etc
!

!

Creación de swap
!

mkswap

Mantenimiento del sistema de Archivos
!

Verificar configuraciones

!

Corregir daños simples

!

Configurar el sistema para optimo rendimiento

!

Restricciones de usuarios

!

Habilitar cuotas

Información del sistema de archivos
!

!

Obteniendo información de Ext2
!

dumpe2fs [opciones] partición

!

dumpe2fs -h /dev/sda1 – Descripcion de la particion

Datos importantes
!

Mount count

!

Max mount count

!

Check interval

!

Journal

!

Filesystem features

!

Filesystem stalte

Ajustando parámetros del sistema de
archivos
!

tune2fs [opciones] partición
!

Opciones
-c num Máximo numero de montajes antes de verificar
! -C num Numero actual de montajes
! -i intevalo Tiempo entre chequeo, donde intervalo es un
número seguido de d (días), w (semanas), m (meses)
! -j Añadir Journal
! -m porcentaje Reservar un espacio para el usuario root
!

!
!

tune2fs -c 10 -i 1m /dev/sda1

La Bitácora (Journal)
!
!

!
!

!

Previene inconsistencias
Tiene una estructura que describe las operaciones
pendientes
Antes de escribir al disco se guarda en el journal
Cuando las operaciones están completas se borran
del journal
Si se encuentran inconsistencias se deja el disco a
su estado anterior

Chequeo del sistema de archivos
!

fsck [opciones] [-t tipo] [particion]

!

Opciones:
!

-a Verifica todos los archivos

!

-c Barra de progreso

!

-v Salida en modo verboso

!

-n Efectúa el chequeo en modo demostración

!

fsck -a -c -v -t ext4 /dev/sda3

Monitorizando el espacio en disco
!

df [opciones] [archivos]

!

Opciones
!

-a Incluir todos los sistemas de archivos

!

-h Usar unidades en escalas

!

-k, -m unidades en Kilobytes y Megabytes

!

-i Estado de i-nodos

!

-l solo sistemas locales

!

- T imprimir sistemas de archivos

Monitorizando por directorio
!

du [opciones] [directorio]
!

Opciones:
-a Ver todos los archivos
! -c Generara suma total
! -h Usar unidades en escalas
! -k, -m unidades en Kilobytes y Megabytes
! -l Contar enlaces
! --max-detph=n Niveles de ingreso a directorios
! -s suma sin colocar directorios
! -x solo el sistema actual
!

Montaje de particiones
Montar un árbol de archivos de un dispositivo en
algún punto del árbol principal /
!

/etc/fstab para montar dispositivos al iniciar el
sistema
!

umount [opciones] [-t tipo] [-o opciones del tipo]
[dispositivo] [punto de montaje]
!

!

Opciones:
!

-a monta todos los dispositivos listados en fstab

!

-r monta como solo lectura

Montaje de particiones
!

!

Opciones (mount):
!

-v monta y despliega información

!

-w monta como lectura/escritura

!

-t especifica el tipo de sistema de archivos

/etc/mtab
!

Contiene la lista de dispositivos montados en el
sistema

Opciones de tipo de montaje
!

Uso de umount

umount [opciones] [t tipo] [particion | punto de
montaje]
!

!

Opciones:
!

-a desmonta todo lo contenido en fstab

!

-f Forza el desmontaje

!

!

-r si no se puede desmontar se monta de nuevo
con la opción solo lectura
-t tipo desmonta particiones de un tipo específico

Montaje permanente
!

/etc/fstab

!

Sintaxis
!

Dispositivo

!

Punto de montaje

!

Sistema de archivos

!

Opciones

!

Volcado u Operaciones de respaldo

!

Orden de verificación

Sintaxis fstab
!

Dispositivo
!

!

Punto de montaje
!

!

Indica el dispositivo o partición que se montará
Indica el punto donde se montará el dispositivo

Sistema de archivos
!

Indica el tipo de sistema de archivos que tiene el
dispositivo

Sintaxis fstab
!

Opciones de montaje
!

!

!

Opciones de montaje para el dispositivo y su
sistema de archivos

Operaciones de respaldo
!

1 si puede efectuar tareas de respaldo

!

0 no hará tareas de respaldo

Orden de verificación
!

!

Indica el orden en que los discos serán revisados al
cargar el sistema operativo
/dev/sdb1 /mnt/discob ext4 usrquota,grpquota 1 1

Profundizando en algunos comandos
!

ls [opciones] [dirección]
!

Opciones
--color
! -d no ingresa a los directorios cuando se usa wildards
! -p despliega el tipo de archivo
!

!
!
!
!

!

/ directorio
@ enlace simbólico
= socket
| tubería

-R lista recursiva

Profundizando en algunos comandos
!

cp [opciones] fuente destino

!

Opciones
!

-f fuerza copia

!

-i interactivo

!

-p preserva propietario y permisos

!

-R recursivo

!

-u copia solo si el archivo destino es distinto

Profundizando en algunos comandos
!

touch [opciones] archivos

!

Opciones:
!

-a solo cambia el tiempo de acceso

!

-m solo cambia el tiempo de modificiación

!

-c no crear si no existe

!

-t MMDDhhmm

Herramientas administrativas
!

system-config-bind – DNS

!

system-config-httpd – Apache

!

system-config-nfs – compartir archivos

!

system-config-samba – samba

!

system-config-gtk – Autenticacion

!

system-config-date – Fecha

!

system-config-display – cambios serivdor x

!

system-config-securitylevel – SELinux

!

system-config-lvm – LVM

Herramientas administrativas
!

gdm – Control de login

!

system-config-printer – CUPS

!

gnome-utils - Logs

Tar
!

-c crear

!

-A agregar tar

!

-r agregar archivos no tar

!

-t listar archivos

!

-x extraer

!

-g archiva en modo incremental

!

-l solo una partición del disco

!

-v modo verboso

Herramientas para localización
!

find <dirección> <expresión>

!

Expresión
!
!

!

-name búsqueda por nombre
-iname búsqueda por nombre sin distinción de
mayuscula/minuscula
-size n tamaño en bloques de 512 bytes,
c en byte
! k en kilobytes
!

Usando restricciones
# /etc/host.allow

# Permitir correo a todo el mundo

in.smtpd : ALL


!

# ftp y finger sólo a host en mi dominio !
# y una máquina específica

in.ftpd,in.fingerd : LOCAL, mihost.encasa.com


!

# Permito telnet para los host listados en un fichero !
# y la red 192.168.

in.telnetd : /etc/telnet.hosts, 192.168.

144

Usando restricciones
!

/etc/hosts.allow

!

/etc/hosts.deny

!

Sintaxis
!

Daemon-list : client-list

!

Daemon-list puede usar nombres de /etc/services

!

Client-list puede utilizar rangos de ip
ALL permite acceso a todas las computadoras
! EXCEPT causa una excepción en la regla
!

!

servicio: host: acción

!

ALL: 127.0.0.1

!

portmap : localhost : allow


Administración de Cuotas
Restringe por grupos o usuarios la capacidad de
datos guardados.
!

!

/etc/fstab
!

/dev/sdd1 /mnt/discod /ext4 usrquota,grpquota 1 1

!

mount -o remount /dev/sdd1

!

mount -a

quotacheck -avug – chequea si hay particiones
con quotas.
!

!

!

[m] opcional si queremos remontar

quotaon -avug - activa las quotas

Administración de Cuotas
!

edquota -u usuario
!
!

Soft limit = espacio que usara
Hard limit = espacio que usará junto con período de
gracia

!

Soft limit = cantidad de archivos

!

Hard limit = cantidad maximo

!

edquota -t tiempo de gracia 7days

!

repquota -a punto de montaje
!

!

export EDITOR=nano

Backups
!

Tar

!

Cpio

cpio
!

!

Copy-out mode
!

-o

!

ls | cpio -ov > directory.cpio

Copy-in mode
!

-i

!

cpio -idv < directory.cpio

Monitorear la actividad en la red
!

Usar herramientas para buscar actividad en la
red
!

netstat -ap – listado de programas que esten
listening

!

netstat -lp – listado de interfaces que esten listening

!

nmap -sT ip – escaneo de puertos con TCP

!

nmap -sU ip – escaneo de puertos con UDP

Configuración de la red
!

Ifconfig
!

Eth

!

Up

!

Down
!

!

ifconfig eth1 172.16.1.230 netmask 255.255.255.0

Entendiendo el proceso de Carga
!

Bios

!

MBR

!

Boot Loader – grup, lilo y otros

!

Kernel y sus modulos
!

Montar la partición / - archivo /etc/fstab

!

Ejecutar /sbin/init
!

/etc/inittab

Niveles
!
!
!

/etc/inittab
0 - halt – kernel, modulos, drivers
1 - Single user mode – servicios simples de
usuario

!

2 – Multiuser - sin red

!

3 - Full multiuser mode – con red

!

4 – unused – definidos por el usuario

!

5 – X11 – interfaz grafica

!

6 - reboot – salida del sistema

Identificación de los servicios
!

Sintaxis básica /etc/inittab
!

!

id:runlevel:acción:proceso

Id 1-4 caracteres que identifican la función

runlevel Los runlevels en que está activo,
pueden ser varios
!

acción Acción de como se comportará el
proceso
!

!

proceso Proceso que debe ser ejecutado

Inicio del sistema SysV
!

/etc/init.d/rc
!

/etc/init.d/

!

/etc/rcx.d/

!

Inicia todos los scripts que inician con S

!

Para todos los que tengan K

!

chkconfig --list

!

Modificar runlevels
!

chkconfig --list <runlevels> <script> <on|off>

!

chkconfig --add <script>

!

chkconfig --level 345 httpd off

Configurando un proxy
!

yum install squid
!

/etc/sysconfig/squid
SQUID_OPTS=”-D -a 8080 -X”
! -D inicia sin tener internet
! -a #puerto alternativo del 3128
! -X chequea el archivo squid.conf
!

!

squid -k reconfigure
!

!

Recarga la configuración sin apagar el servicio

squid -k shutdown
!

Apaga el servidor hasta que no haya mas
conexiones

Configurando squid
!

Cache en memoria
!

cache_mem 10 MB
!

!

Usar siempre una tercera parte del maximo que se le
desea dar
!

Listas de acceso
Acl nombre tipo [cadena | archivo]
! acl localnet src 192.168.1.0/255.255.255.0
! http_access allow localnet
!

Configuración de SAMBA
!

Server Message Block / CommonInternet File
System (SMB/CIFS)
!

Compartición entre varios SO que soportan este
sistema de archivos

!

Soporte de usuario y contraseña

!

Configurable mediante PAM

!

Compartición de archivos e impresoras

!

smbd

!

nmbd

!

Swat

Instalación de samba
!

!

Yum install samba samba-common samba-swat
samba-client system-config-samba
Habilitar swat
!

chkconfig swat on

!

service xinetd reload

!

http://localhost:901

Configuración del Servidor Samba
!

/etc/smb.conf

!

/etc/samba/smb.conf
!

!

testparm /etc/samba/smb.conf -chequea

http://localhost:901

Configuración de compartición de
archivos
!

Sintaxis en el archivo de configuracion
!

[nombre_carpeta]
Comment = descripción
! Path = /ruta/hacia/directorio
! Read only = [yes|no]
!

!

prueba de una carpeta compartida
!

smbclient //localhost/nombre_carpeta

Compartición de impresoras
!

Sintaxis del archivo de configuración
!

[nombre_impresora]
Comment = descripción
! Printable = [yes|no]
! Path = /path/cola/impresion
!

Añadir usuarios a samba
!

cat /etc/passwd | mksmbpasswd.sh > /etc/
samba/smbpasswd

!

smbpasswd usuario

!

smbstatus
!

Para ver el estado de samba

Navegación de directorios
!

smbclient -L ip
!

smbclient localhost – lista las caracteristicas del
host

!

smbclient //maquina/directorio -U usuario

!

smbclient //localhost/home/publico -U miusuario
!

Comparte el directori publico con miusuario

Configuración de un firewall
Firewall

Configuración del firewall
Software:
!

Ipfwadm (kernel 2.0.x)

!

Ipchains (kernel 2.4.x)

!

Iptables (kernel 2.6.x)

GUI
!

Firestarter

!

Guarddog

!

FirewallBuilder

IPTables

Usando iptables

!

Input
!

!

Output
!

!

Cadenas de salida

Forward
!

!

Cadenas de entrada

Cadenas de reenvio

Estados de las cadenas
!

ACCEPT

(aceptar)

!

DROP (descartar)

Creando reglas de iptables
Opciones principales
!

-L lista las reglas establecidas

!

-t tabla indica que tabla obscopiar pegar vimervar

!

-F cadena borrar las reglas

!

-P cadena estado valor de estado por defecto

!

-A cadena añadir

Creando reglas de iptables
Reglas para hacer coincidir paquetes
!

-p, --protocol protocolo a usar

!

--sport, --source-port puerto de origen

!

--dport, --destination-port puerto de destino

!

!

-s, --source fuente del paquete, generalemte rango
de ip o red
-d, --destination destino del paquete, también por
ip o red

!

-I, --in-interface interface o tarjeta de entrada

!

-o, --out-interface interface o tarjeta de salida

Creando reglas de iptables

#iptables -A INPUT -s 0.0.0.0/0 -i eth0 -p tcp -dport 1:1024 -j DROP

#iptables -A INPUT -s 0.0.0.0/0 -i eth0 -p udp -dport 1:1024 -j DROP!

!

#iptables -I INPUT 1 -i lo -p all -j ACCEPT!

!

#iptables -A INPUT -p tcp --dport 22 -j ACCEPT!
#iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

171

Sistema de Base de datos MySQL
!

Yum install mysql mysql-client mysql-server

!

Configuración

!

!

Yum install mysql-administrator

!

/etc/my.cf

Asegurar la contraseña de root
!

!

mysqladmin -u root password 'nueva contraseña'

Probando configuraciones
!

/usr/share/doc/mysql-server-5.1.36/

Servidor DHCP
!

Configuración
!

/etc/dhcp/dhcpd.conf

!

man dhcp-options

!

Configuración de clientes
!

dhclient eth
!

!

service dhcpd start

Servidor DHCP
default-lease-time 600;

max-lease-time 86400;
option
option
option
option

subnet-mask 255.255.255.0;

broadcast-address 192.168.1.255; 

routers 192.168.1.1; 

domain-name-servers 192.168.1.1;

subnet 192.168.1.0 netmask 255.255.255.0 {

range 192.168.1.2 192.168.1.200; 

}

174

Administración de trabajos
calendarizados
!

El nombre cron viene del griego chronos que significa “tiempo”

!

Cron
!

/etc/cron.d/

!

/etc/crontab
Minuto [0-59]
! Hora [0-23]
! Día [1-31]
! Mes [1-12]
! Día de la semana [0-6]
! * cualquier valor
! , separa valores
! - crea rangos inclusivos
!

Creando trabajos cron para
Usuarios
!

crontab [-u user] [-l | -e | -r] archivo
!

-u especifica la tarea del usuario

!

-l lista un trabajo

!

-r remueve un trabajo

!

-e usa un editor para configurar un archivo

!

crontab -u admin -e

!

/etc/cron.allow

!

/etc/cron.deny

!

30 6 1,3,7,12,15,20 * *

/root/actualizar.sh

cron.deny
$ cat /etc/cron.d/cron.deny
daemon
bin
smtp
nuucp
listen
nobody
noaccess
jones
temp
visitor

177

cron.allow
$ cat /etc/cron.d/cron.allow
root
jones
smith

178

Servidor ftp
!

yum install proftpd

!

Configuración
!

!

/etc/proftpd

Service proftpd start
!

!

/var/ftp/ - Fedora

!

/home/ftp/ - Ubuntu

Servidor Web Apache
!

!

Servidor web
!

HTML

!

/var/www/htdocs

Archivos de configuracion
!

/etc/httpd/httpd.conf

!

/etc/apache/apache.conf

Trabajando con SELinux
!

Security-Enhanced Linux

!

Role-Based Access Control (RBAC)

!

!

Role

!

Type

!

Level

Archivo de log
!

/var/log/audit/audit.log

!

ls -Z

!

/usr/sbin/semanage login -l

Fedora Linux
Ing. Byron Díaz Padilla

[email protected]

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close