Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Manual LP001 V1 PDF
Manual LP001 V1 PDF
UNIDAD 1 Conceptos e Historia de Linux...............................................................................................5
¿Qué es el Software Libre?....................................................................................................................6
Orígenes de Linux..................................................................................................................................8
¿Que son las distribuciones?..................................................................................................................8
El proyecto CentOS...............................................................................................................................9
Requisitos de sistema...........................................................................................................................10
UNIDAD 2 El sistema de ficheros...........................................................................................................11
Conceptos del sistema de ficheros de Linux........................................................................................12
El directorio de trabajo........................................................................................................................12
Nombres de ficheros y directorios.......................................................................................................12
Rutas absolutas y relativas...................................................................................................................13
Cambiar el directorio de trabajo..........................................................................................................13
Ver el contenido de un directorio........................................................................................................13
Copiar, mover, crear y eliminar ficheros y directorios........................................................................13
Uso de exploradores de archivos.........................................................................................................14
Determinar el tipo de contenido de un fichero....................................................................................15
El sistema de ficheros de Gnu/Linux en profundidad..........................................................................15
Particiones y sistemas de ficheros (formato de discos).......................................................................15
Inodos y directorios.............................................................................................................................15
cp, mv, rm, e inodos.............................................................................................................................16
Enlaces duros y simbólicos..................................................................................................................17
Los siete tipos fundamentales de ficheros...........................................................................................17
Comprobar el espacio libre en disco....................................................................................................18
Montar CDs, DVDs, dispositivos USB...............................................................................................18
Empaquetar y desempaquetar ficheros................................................................................................18
Comprimir y descomprimir ficheros...................................................................................................19
Buscar y procesar ficheros...................................................................................................................19
locate....................................................................................................................................................19
find.......................................................................................................................................................20
UNIDAD 3 Uso Básico de Linux.............................................................................................................22
Ingreso en CentOS Linux....................................................................................................................23
Inicio de consola y acceso a shell desde entorno gráfico.....................................................................23
Cambiar la Clave.................................................................................................................................23
root el usuario administrador...............................................................................................................23
Administrar privilegios........................................................................................................................23
Edición de ficheros de texto................................................................................................................38
UNIDAD 4 Los editores vi y vim............................................................................................................39
Introducción a VIM.............................................................................................................................40
Orígenes de Linux
1984: El proyecto GNU y la Free Software Foundation, Crean una versión open source de utilidades
de UNIX.
Crean la General Public License (GPL), Licencia de software
Arquitectura:
CentOS soporta casi las mismas arquitecturas que Red Hat Enterprise Linux:
• Intel x86-compatible (32 bit) (Intel Pentium I/II/III/IV/Celeron/Xeon, AMD K6/II/III, AMD Duron,
Athlon/XP/MP).
• Advanced Micro Devices AMD64(Athlon 64, etc) e Intel EM64T (64 bit).
El directorio de trabajo
Cada entorno de trabajo y proceso del sistema tiene un directorio de trabajo actual (cwd, current
working directory)
pwd Despliega la ruta absoluta a el directorio de trabajo actual
Los iconos del escritorio o Inicio: El directorio de inicio, equipo: sistema de archivos raíz, los recursos
de red y de medios extraíbles
Sistema de ficheros por defecto: ext3, el sistema de ficheros Linux extendido, otros sistemas de
ficheros comunes:
ext2 y msdos (típicamente usado para floppy)
iso9660 (típicamente usado para CD)
GFS y GFS2 (típicamente para SANs)
Inodos y directorios
Inodos, Una tabla de inodos contiene una lista de todos los archivos en un sistema de ficheros ext2
o ext3, un inodo (nodo índice) es una entrada en la tabla, que contiene información sobre un archivo
(los metadatos), entre ellos:
Tipo de archivo, permisos, UID, GID
El conteo de enlaces (recuento de los nombres de ruta que apunta a este archivo)
El tamaño del archivo y varias marcas de tiempo
Punteros a los bloques de datos del archivo en el disco
Otros datos sobre el archivo
Nombre
Asociado con un inodo de directorio padre
Inodo de metadatos
Propiedades y un puntero a los bloques en el disco
Contenidos
Para directorios: nombre/Lista de inodos (muestra)
Para los archivos: datos arbitrarios
mv e inodos
Si el destino del comando mv es el mismo sistema de archivos como la fuente, el comando mv:
1. Crea una nueva entrada de directorio con el nombre de archivo nuevo
2. Elimina la entrada del directorio viejo con el nombre de archivo viejo
No tiene ningún impacto en la tabla de inodos (a excepción de un sello de tiempo) o la ubicación de
los datos en el disco: se mueve sin datos!
Si el destino es un sistema de archivos diferentes, los actos mv como copiar y eliminar
Cambiar la Clave
Cambie la contraseña la primera vez que se conecte, cambie con regularidad a partir de entonces,
seleccione una contraseña que sea difícil de adivinar.
Para cambiar la contraseña usando GNOME, vaya a Sistema-> Preferencias-> Acerca de mí y
luego haga clic en Contraseña.
Para cambiar la contraseña en una terminal usar el comando: passwd
Administrar privilegios
Cambio de Identidades
su - permite acceder a un nuevo shell como otro usuario en la sesión activa. Es decir, nos
permite asumir la identidad de otro usuario (si conocemos su password):
Para terminar la sesión bastaría con presionar Ctrl + D (fin de fichero) o tecleando exit.
sudo ejecuta un comando como root, permite implementar un control de acceso altamente
granulado de que usuarios ejecutan que comandos. Si un usuario normal desea ejecutar un comando
de root (o de cualquier otro usuario), sudo verifica en su lista de permisos y si está permitido la
ejecución de ese comando para ese usuario, entonces sudo se encarga de ejecutarlo. Es decir, sudo
es un programa que basado en una lista de control (/etc/sudoers) permite (o no) la ejecución al
usuario que lo invocó sobre un determinado programa propiedad de otro usuario, generalmente del
administrador del sistema 'root'.
Para fines prácticos se puede dividir en tres partes:
* sudo, el comando con permisos de SUID, que los usuarios usan para ejecutar otros comandos a
los que se les permite usar.
* visudo, el comando que permite al administrador modificar /etc/sudoers.
* /etc/sudoers, el archivo de permisos que le indica a sudo que usuarios ejecutan cuáles
comandos.
sudo lo ejecuta un usuario normal, al que se supone tiene permisos para ejecutar cierto comando.
Entonces, sudo requiere que los usuarios se autentifiquen a si mismos a través de su contraseña
para permitirles la ejecución del comando. Veamos un ejemplo:
$ sudo /sbin/ifconfig
Password: ....
Como se podrá observar se usa el comando sudo seguido del comando (con toda su ruta si es que
este no esta en el PATH del usuario) al que se tiene permiso. sudo pregunta por la contraseña del
usuario que ejecuta el comando y listo.
Por defecto, después de hacer lo anterior tendrás 5 minutos para volver a usar el mismo comando u
otros a los que tuvieras derecho, sin necesidad de ingresar la contraseña de nuevo. Si se quiere
extender el tiempo por otros 5 minutos usa la opción sudo -v (validate). Por el contrario, si ya
terminaste lo que tenías que hacer, puedes usar sudo -k (kill) para terminar con el tiempo de gracia
de validación.
Ahora bien, ¿Qué comandos son los que puedo utilizar?, pues la opción -l es la indicada para eso:
$ sudo -l
User usuario may run the following commands on this host:
(root) /sbin/ifconfig
(root) /sbin/lspci
Una de las opciones más interesantes es la que permite editar archivos de texto de root (claro, con el
permiso otorgado en 'sudoers' como se verá más adelante), y esto se logra con la opción -e, esta
opción esta ligada a otro comando de sudo llamado sudoedit que invoca al editor por defecto del
usuario, que generalmente es 'vi'.
$ sudo -e /etc/inittab
(Permitirá modificar el archivo indicado como si se fuera root)
Cuando se configura sudo se tienen múltiples opciones que se pueden establecer, estás se consultan
a través de la opción -L
$> sudo -L
Available options in a sudoers ``Defaults'' line:
syslog: Syslog facility if syslog is being used for logging
syslog_goodpri: Syslog priority to use when user authenticates successfully
syslog_badpri: Syslog priority to use when user authenticates unsuccessfully
long_otp_prompt: Put OTP prompt on its own line
ignore_dot: Ignore '.' in $PATH
mail_always: Always send mail when sudo is run
mail_badpass: Send mail if user authentication fails
mail_no_user: Send mail if the user is not in sudoers
mail_no_host: Send mail if the user is not in sudoers for this host
mail_no_perms: Send mail if the user is not allowed to run a command
tty_tickets: Use a separate timestamp for each user/tty combo
lecture: Lecture user the first time they run sudo
lecture_file: File containing the sudo lecture
authenticate: Require users to authenticate by default
root_sudo: Root may run sudo
...
(varias opciones más)
La opción -s activa el modo 'estricto' del uso de visudo, es decir no solo se comprobará lo sintáctico
sino también el orden correcto de las reglas, por ejemplo si se define el alias para un grupo de
comandos y este se usa antes de su definición, con esta opción se detectará este tipo de errores.
Alias
Un alias se refiere a un usuario, un comando o a un equipo. El alias engloba bajo un solo nombre
(nombre del alias) una serie de elementos que después en la parte de definición de reglas serán
referidos aplicados bajos cierto criterio. Es decir, regresando a EBNF estamos creando las reglas de
producción inicial. La forma para crear un alias es la siguiente:
tipo_alias NOMBRE_DEL_ALIAS = elemento1, elemento2, elemento3, ... elementoN
tipo_alias NOMBRE1 = elemento1, elemento2 : NOMBRE2 = elemento1, elemento2
En el segundo caso, separado por ":" es posible indicar más de un alias en una misma definición.
El tipo_alias define los elementos, es decir, dependiendo del tipo de alias serán sus elementos. Los
tipo de alias son cuatro y son los siguientes:
* Cmnd_Alias - define alias de comandos.
* User_Alias - define alias de usuarios normales.
* Runas_Alias - define alias de usuarios administradores o con privilegios.
* Host_Alias - define alias de hosts o equipos.
El NOMBRE_DEL_ALIAS puede llevar letras, números o guión bajo ( _ ) y DEBE de comenzar con
una letra mayúscula, se acostumbra a usarlos siempre en mayúsculas.
Cmnd_Alias
Definen uno o más comandos y otros alias de comandos que podrán ser utilizados después en alias
de usuarios. Ejemplos:
User_Alias
Definen a uno o más usuarios, grupos del sistema (indicados con %), grupos de red (netgroups
indicados con +) u otros alias de usuarios. Ejemplos:
Runas_Alias
Funciona exactamente igual que User_Alias, la única diferencia es que es posible usar el ID del
usuario UID con el carácter '#'.
Runas_Alias OPERADORES = #501, constanza
Al alias OPERADORES pertenecen el usuario con UID 501 y el usuario 'constanza'
Host_Alias
Definen uno o más equipos u otros alias de host. Los equipos pueden indicarse por su nombre (si se
encuentra en /etc/hosts) por nombre de dominio, si existe un resolvedor de dominios, por dirección
IP, por dirección IP con máscara de red. Ejemplos:
Opciones (defaults)
Las opciones o defaults permiten definir ciertas características de comportamiento para los alias
previamente creados, para usuarios, usuarios privilegiados, para equipos o de manera global para
todos. No es necesario definir opciones o defaults, sudo ya tiene establecidas el valor de cada uno, y
Se usa la palabra reservada 'Defaults' para establecer las opciones y dependiendo del nivel que
deseamos afectar su sintaxis es la siguiente:
* Global: Defaults opcion1, opcion2 ...
* Usuario: Defaults:usuario opcion1, opcion2 ...
* Usuario Privilegiado: Defaults>usuario opcion1, opcion2 ...
* Equipo: Defaults@equipo opcion1, opcion2 ...
La lista de opciones es algo extensa, pueden consultarse en las páginas del manual (man sudoers)
o en el manual sobre sudo del sitio http://www.rpublica.net/sudo/indice.html#defaults, está en
español y define muy claramente lo que significa cada opción. En este manual nos concentraremos
a mostrar varios ejemplos del uso de establecer opciones.
Los defaults los divide el manual (man sudoers) en cuatro: flags o booleanos, enteros, cadenas y
listas. Veamos entonces algunos ejemplos de uso para cada uno de ellos:
flags o booleanos
Generalmente se usan de manera global, simplemente se indica la opción y se establece a 'on' para
desactivarla 'off' se antepone el símbolo '!' a la opción. Es necesario consultar el manual para saber el
valor por defecto 'on' o 'off' para saber si realmente necesitamos invocarla o no.
Defaults mail_always
Establece a 'on' la opción 'mail_always' que enviara un correo avisando cada vez que un usuario
utiliza sudo, a la vez, este opción requiere que 'mailto_user' este establecida.
Defaults:catalina !authenticate
Aquí se aprecia algo más lógico, usamos opciones por usuario en vez de global, indicando que el
usuario 'catalina' no requerirá autenticarse. Pero todos los demás si.
Defaults>ADMIN rootpw
Opciones para usuarios privilegiados, en vez de usar una lista de usuarios, usamos un alias 'ADMIN'
que se supone fue previamente definido, y establecemos en 'on' la opción 'rootpw' que indica a sudo
que los usuarios en el alias 'ADMIN' deberán usar la contraseña de 'root' en vez de la propia.
Enteros
Tal como su nombre lo indica, manejan valores de números enteros en sus opciones, que deben
entonces usarse como opción = valor.
Defaults:fernando, renata passwd_tries = 1, passwd_timeout = 1
Ejemplo donde se aprecia el uso de opciones con valores enteros. En este caso se establecen
opciones para los usuarios 'fernando' y 'renata' solamente, que solo tendrán una oportunidad de
ingresar la contraseña correcta 'passwd_tries' el valor por defecto es de 3 y tendrán un minuto para
ingresarla 'passwd_timeout' el valor por defecto son 5 minutos.
La mayoría de las opciones de tiempo o de intentos, al establecerlas con un valor igual a cero
entonces queda ilimitado la opción.
Cadenas
Son valores de opciones que indican mensajes, rutas de archivos, etc. Si hubiera espacios en el valor
es necesario encerrar el valor entre comillas dobles (" ").
Defaults badpass_message = "Intenta de nuevo: "
Para todos los usuarios, cuando se equivoquen al ingresar la contraseña, es el mensaje que saldría.
En este caso la opción por defecto es "Sorry: try again".
Defaults env_reset
Defaults env_check += DISPLAY, PS1
La primera opción 'env_reset' reinicia las variables de entorno que sudo utilizará o tendrá
disponibles, y solo quedan disponibles LOGNAME, SHELL, USER y USERNAME. La siguiente línea
indica que agregue (+=) a lo anterior, también la variable de entorno DISPLAY a su valor establecido
antes del reset.
Reglas de acceso
Aunque no es obligatorio declarar alias, ni opciones (defaults), y de hecho tampoco reglas de
acceso, pues el archivo /etc/sudoers no tendría ninguna razón de ser si no se crean reglas de
acceso. De hecho podríamos concretarnos a crear solamente reglas de acceso, sin opciones ni alias
y podría funcionar todo muy bien.
Las reglas de acceso definen que usuarios ejecutan que comandos bajo que usuario y en que
equipos. La mejor manera de entender y aprender a configurar sudoers es con ejemplos:
usuario host = comando1, comando2, ... comandoN
Sintaxis básica, 'usuario' puede ser un usuario, un alias de usuario o un grupo (indicado por %),
'host' puede ser ALL cualquier equipo, un solo equipo, un alias de equipo, una dirección IP o una
definición de red IP/máscara, 'comandoX' es cualquier comando indicado con su ruta completa. Si
se termina en '/' como en /etc/http/ entonces indica todos los archivos dentro de ese directorio.
daniela ALL = /sbin/iptables
Usuario 'daniela' en cualquier host o equipo puede utilizar iptables.
ADMIN ALL = ALL
Un ejemplo más detallado. Los usuarios que pertenezcan al grupo del sistema llamado 'gerentes'
pueden en el equipo llamado 'dbserver' ejecutar como si fueran el usuario 'director' la aplicación
llamada 'facturacion', además como usuarios 'root' pueden ver el contendido de los archivos que
contenga el directorio /var/log.
Lo anterior introduce algo nuevo, que en la lista de comandos es posible indicar bajo que usuario se
debe ejecutar el permiso. Por defecto es el usuario 'root', pero no siempre tener que así. Además la
lista 'hereda' la primera definición de usuario que se indica entre paréntesis ( ), por eso si se tiene
más de alguno hay que cambiar de usuario en el comando conveniente, el ejemplo anterior también
sería válido de la siguiente manera:
%gerentes dbserver = /var/log/*, (director) /usr/facturacion
No es necesario indicar (root) ya que es el usuario bajo el cual se ejecutan los comandos por
defecto. También es válido usar (ALL) para indicar bajo cualquier usuario. El ejemplo siguiente da
permisos absolutos.
enrique ALL = (ALL) ALL
Se establece permiso para el usuario 'enrique' en cualquier host, ejecutar cualquier comando de
cualquier usuario, por supuesto incluyendo los de root.
NOPASSWD Y PASSWD
Por defecto sudo requiere que cualquier usuario se identifique o autentifique con su contraseña.
Aprendimos en la sección de 'Opciones' o 'Defaults' que es posible indicar que un usuario o alias de
usuario no requiera de identificación. Pero el control granular propio de sudo, permite ir aun más lejos
al indicar a nivel de comandos, cuáles requieren contraseña para su uso y cuáles no.
genaro webserver = NOPASSWD: /bin/kill, /usr/bin/lprm, /etc/httpd/conf/
Usuario 'genaro' en el equipo 'webserver' no requerirá contraseña para los comandos listados. El tag
se hereda, es decir no solo el primer elemento de la lista de comandos, sino los subsiguientes.
Suponiendo que el último '/etc/httpd/conf/' elemento, que permite modificar cualquier archivo
contenido en el directorio, si deseamos que use contraseña, lo siguiente lo conseguirá:
genaro webserver = NOPASSWD: /bin/kill, /usr/bin/lprm, PASSWD: /etc/httpd/conf/
NOEXEC Y EXEC
Este es un tag muy importante a considerar cuando sobre se otorgan permisos sobre programas que
permiten escapes a shell (shell escape), como en el editor 'vi' que mediante el uso de '!' es posible
ejecutar un comando en el shell sin salir de 'vi'. Con el tag NOEXEC se logra que esto no suceda,
aunque no hay que tomarlo como un hecho, ya que siempre existe la posibilidad de vulnerabilidades
no conocidas en los múltiples programas que utilizan escapes a shell. Al igual que los tags anteriores,
el tag se hereda y se deshabilita con su tag contrario (EXEC), en caso de que en la lista de
comandos hubiera varios comandos.
valentina ALL = NOEXEC: /usr/bin/vi
SETENV Y NOSETENV
Una de las múltiples opciones que pueden establecerse en la sección 'Defaults' u 'opciones' es la
opción booleana o de flag 'setenv' que por defecto y para todos los usuarios esta establecida en 'off'.
Esta opción si se activa por usuario (Defaults:sergio setenv) permitirá al usuario indicado cambiar el
A los usuarios definidos en el alias de usuario 'ADMIN' en cualquier host, pueden alterar las variables
de entorno cuando ejecuten el comando 'date' (que puede ser útil por ejemplo para cambiar variables
del tipo LOCALE), y cualquier otro comando, no tendrá esta opción al habilitar el tag contrario
'NOSETENV'. Y ya que este es el default, también sería válido de la siguiente manera y harían lo
mismo:
ADMIN ALL = ALL, SETENV: /bin/date
Otros editores:
El modo comando
Usando el modo comando
● Modo por defecto de vim, claves describe el movimiento y los comandos de manipulación
de texto
● Comandos se repiten cuando es precedido por un número
● Ejemplo
Flecha derecha mueve a la derecha un carácter
5, Flecha derecha mueve a la derecha cinco caracteres
Deshacer cambios
Deshacer Cambios Modo comando
● u deshacer cambios más recientes
● U deshacer todos los cambios de la línea actual desde el lugar donde esta cursor en la linea
● Ctrl-r Rehacer último cambio "deshecho"
El modo visual
● Permite la selección de bloques de texto
v comienza destacado orientado al carácter
V comienza destacado orientado a la linea
Activado con el mouse en gvim
● Teclas visuales se pueden utilizar en conjunto con las teclas de movimiento:
w, ), }, arrows, etc
● Texto destacado puede ser borrado, copiado, cambiado, filtrado, buscado/reemplazado, etc.
Dividir pantalla
Usando múltiples "ventanas"
● Múltiple documentos pueden ser vistos en una sola pantalla vim
Ctrl-w, s divide horizontalmente la pantalla
Ctrl-w, v divide la pantalla verticalmente
Ctrl-w, Arrow se mueve entre ventanas
● Modo ejecución siempre afecta a las instrucciones de la ventana actual
● ventana :help muestra mas ventana de comandos
Los argumentos son nombres de archivos u otros datos necesarios para el comando, múltiples
comandos pueden estar separados por ;
Utilizar la ayuda
¡No hay que tratar de memorizar todo!, existen muchos niveles de ayuda.
Ejemplo:
whatis
comando -help
man comando
info comando
Un resumen de lectura de uso, es impreso por --help, el man de los comandos y otros
Se utiliza para describir la sintaxis de un comando
Argumentos en [ ] son opcionales
Argumentos en MAYUSCULAS o <> son variables
Texto seguido por ... representan una lista.
x|y|z significa "x o y o z"
-abc significa "cualquier combinación de -a, -b o -c"
Navegando por las paginas info: Mientras vemos una pagina info, navegamos con las teclas de
flecha, PgUp, PgDn; Tab nos mueve al siguiente enlace, Enter sigue el enlace seleccionado, n/p/u
va al siguiente/previo/hasta_el_nodo,
s text búsqueda para text (por defecto: ultima búsqueda), q salir de info
Guía de instalación
Guía de implementación
Guía de Virtualización
El comando for asigna a la variable NAME el valor de lo que se indique después de in que pueden
ser una lista de valores, salida de comandos, listas de archivos.
Caracteres especiales
sort (ordenar)
Ordena el texto y envía a STDOUT – archivo original no es modificado
$ sort [opciones] file(s)
Opciones comunes
-r realiza un ordenamiento inverso (descendente)
-n realiza un ordenamiento numérico
-f ignora diferencias de mayúsculas o minúsculas en cadena
-u (único) remueve lineas duplicadas en la salida
-t c utiliza c como un separador de campo
-k X ordena por campo X definido
Puede ser utilizado en múltiples ocasiones
sed addresses
Comodines
Comodines globales de expansión:
* - coincidencias de cero o más caracteres
? - coincidencias cualquier carácter individual
[0-9] - coincidencias de un rango de números
[abc] - coincidencias con cualquier de los caracteres en la lista
[^abc] – todas las coincidencias, excepto los caracteres en la lista
Una vez encontrado el comando buscado, se puede invocar para ejecutarlo por el numero de indice
de la siguiente forma: (!numero de comando)
maquina:~# !504
who | cut -c1-8 | sort -u | wc -l
Simplemente el shell expande la expresión !numero de comando por la cadena literal que encuentre
en ese índice del archivo del historial y envía la ejecución de la misma, obteniendo el mismo resultado
que si se hubiera tipeado el comando completo.
También es posible invocar a un comando recordando directamente parte de su nombre, por ejemplo
Ejecutar el ultimo comando que comience con " mysql "
storage:~# !mysql
mysql -u user -p
● Utilizar las teclas de arriba y abajo para desplazarse a través de los comandos anteriores
● Tipear Ctrl-r para buscar por un comando en el historial de comandos
r (reverse-i-search)`':
● Para recordar el último argumento del comando anterior:
Esc,. (la tecla de escape seguida de un periodo)
Alt-. (mantenga presionada la tecla ALT mientras presiona el período)
Expansión de comandos
● Tilde ( ~ )
Para referirse a su directorio home:
$ cat ~/.bash_profile
● Para referirse a directorios home de otros usuarios:
$ ls ~julie/public_html
● Expansión de comandos: $() o ``
Imprime la salida de un comando como argumento para otro:
$ echo "El nombre del sistema es $(hostname)"
El nombre del sistema es server1.example.com
● Llaves de expansion: { }
Terminales
● Aplicaciones->Accesorios->Terminal
● Emulador gráfico de terminal que soporta múltiples "pestañas" de shells
Ctrl-Shift-t crea una nueva pestaña
Ctrl-PgUp/PgDn cambia a la pestaña siguiente/anterior
Ctrl-Shift-c copia el texto seleccionado
Ctrl-Shift-v pega el texto en la salida estándar
Impedir la Expansión
● Barra oblicua invertida ( \ ) hace el siguiente carácter literal
$ echo El costo: \$5.00
El costo: $5.00
● Comillas impide la expansión
Comillas simples (') inhibe toda expansión
Comillas dobles (") inhibe toda expansión, excepto:
● $ (signo moneda) - expansión de variable
● ` (comillas invertidas) - substitución de comandos
Tareas de termino
● Almacenados en ~/.bash_logout (usuario)
● Se ejecuta cuando termina un registro de shell
● Utilizado para: Crear respaldos automáticos, limpieza de archivos temporales
system-config-printer
● Sistema->Administración->Impresoras
Local (paralela o usb)
Servidor de impresión Unix/Linux
Servidor de impresión Windows
Servidor de impresión Netware
HP JetDirect
● La configuración es almacenada en /etc/cups/printers.conf
Comandos de impresión
● lpr envía un trabajo a la cola para ser impreso
Acepta ASCII, PostScript, PDF, otros
● lpq ve el contenido de una cola
● lprm remueve un trabajo desde la cola
● Los comandos de impresión System V como lp, lpstat y cancel también son soportados
Utilidades de impresión
● evince ver documentos PDF
● lpstat -a lista las impresoras configuradas
● ps2pdf convierte PostScript a PDF
Terminar un proceso
● Por patrón: pkill [-señal] patrón
● Por nombre: killall [señal] nomb ...
● Por PID: kill [señal] pid ...
Suspender un proceso
● Temporalmente detiene la ejecución de un programa
Use Ctrl-z o envie señal 17 (STOP)
Estado de salida
● Procesos informan éxito o fracaso con una salida de estado
0 para éxito, 1-255 para fracaso
$? Almacena la salida de el mas reciente comando
exit [num] termina y establece el estado de num
● Ejemplo:
$ ping -c1 -W1 station999 &> /dev/null
$ echo $?
2
La prueba de comandos
● Evalúa declaraciones booleanas para el uso en la ejecución condicional
Retorna 0 para verdadero
Retorna 1 para falso
Scripting: Declaraciones if
● Ejecutar instrucciones basadas en el estado de salida de un comando
if ping -c1 -w2 estacion1 &> /dev/null; then
echo 'estación1 esta ARRIBA'
elif grep "estación1" ~/mantenimiento.txt &> /dev/null; then
echo 'estación1 esta realizando tareas de mantenimiento'
else
echo 'estación1 esta inesperadamente ABAJO!'
exit 1
fi
Administración de paquetes
● El Software es proveído como paquetes RPM
Fácil instalación y des instalación
Información del Software es almacenado en una base de datos local
● Los paquetes son proveídos por múltiples repositorios de CEntOS
Administración centralizada de múltiples sistemas
Fácil recuperación de errores de paquetes
Repositorios de paquetes personalizados también se puede utilizar
La herramienta YUM para la administración de paquetes
● Interfaz de rpm, remplaza up2date
● Configuración en /etc/yum.conf y /etc/yum.repos.d/
● Utilizado para instalar, remover y listar software
yum install nombre_paquete
yum remove nombre_paquete
yum update nombre_paquete
yum list available
yum list installed
Administración gráfica de paquetes
● pup
Aplicaciones->Herramientas de Sistema->Actualización de Software
Listar e instalar actualizaciones de software
● pirut
Aplicaciones->Agregar/Remover Software
Ver, instalar y remover otros paquetes
SELinux
● Sistema de seguridad a nivel de Núcleo
● Todos los procesos y archivos tienen un contexto
● Una política SELinux dicta cómo los procesos y los archivos pueden ínteractuar en función
del contexto, reglas de políticas no pueden ser reemplazadas, políticas por defecto no se aplica a
todos los servicios
Administrando SELinux
● SELinux errores son registrado en el sistema de registro
● SELinux puede ser deshabilitado en una emergencia
● Deshabilitar SELinux ¡no se recomienda!
● Sistema->Administración->Nivel de Seguridad y Corta Fuego, Pestaña SELinux
Filtrado de Paquetes
● El trafico de red es divido en paquetes
● Cada paquete tiene origen/destino de datos
● Los cortafuegos bloquean selectivamente paquetes
Cambios en el usuario
● Herramientas gráficas
system-config-users
● Linea de comandos
useradd usermod userdel [-r]
Permisos especiales
● Permisos especiales para archivos ejecutables:
suid: se ejecuta el comando con permisos del propietario del comando, no con los
permisos del ejecutor del comando
sgid: se ejecuta el comando como parte del grupo del comando y no como parte del
grupo del ejecutor
● Permisos especiales para directorios:
sticky bit: archivos en los directorios con el sticky bit sólo pueden ser removidos por
el propietario y root, independiente de los permisos de escritura del directorio
sgid: los archivos creados en los directorios con el sgid se asigna como grupo el
grupo del directorio