Curso Linux Basico - Avanzado

CapÃtulo 1: Introducción al Software Libre y Linux, instalación de Linux VPS #########################################

Views 98 Downloads 1 File size 350KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

CapÃtulo 1: Introducción al Software Libre y Linux, instalación de Linux VPS ############################################################################## ##################### 1.- Introducción a Software Libre y Linux ############################################################################## ##################### Introduccion: - Richard Stallman creó el movimiento del Software Libre con el proyecto GNU (GNU not UNIX) que intentaba crear un sistema operativo superior a Unix y que fuera completamente Libre; por ello creo el proyecto GNU en 1983 y la Fundación de Software Libre (FSF) en 1985, donde estableció de un marco de referencia moral, polÃtico y legal para el movimiento del software libre, como una alternativa al desarrollo y distribución del software no libre o privativo. - Fruto de este trabajo se creó la licencia GPL y LPGL. La GPL establece 4 libertades [1] * Libertad 0: la libertad de usar el programa, con cualquier propósito. * Libertad 1: la libertad de estudiar cómo funciona el programa y modificarlo, adaptándolo a tus necesidades. * Libertad 2: la libertad de distribuir copias del programa, con lo cual puedes ayudar a tu prójimo. * Libertad 3: la libertad de mejorar el programa y hacer públicas esas mejoras a los demás, de modo que toda la comunidad se beneficie. Cuando uno publica o distribuye un software bajo la GPL esta obligado a publicar el código fuente del mismo. Quien recibe el software puede modificarlo a su gusto; pero no puede redistribuir el código modificado sin que estas tengan el código fuente de sus modificaciones, con lo cual se asegura la libertad del usuario. Sin embargo lo que no obliga la GPL, es que tu tengas que publicar obligatoriamente las modificaciones del software GPL que hayas tomado como base. Por ejemplo Google gana miles de millones de dólares usando Linux y software libre (GPL y otros) pero solo publica un porcentaje muy limitado de sus proyectos internos. - En 1991, en Helsinki, Linus Torvalds comenzó un proyecto que más tarde se llegó a ser el núcleo Linux; en ese instante el no sabÃa la dimensión que iba a alcanzar su proyecto. A fines de 1992, Linux libera su kernel con la licencia GPL, consiguiendo que el Sistema Operativo lograra un crecimiento espectacular. - Linux como proyecto

es solamente el núcleo (kernel) del sistema operativo; la combinación con las herramientas de GNU (compilador de C, bash, el debugger) ha creado la base para desarrollar las distribuciones; por eso es común referirse a Linux como GNU/Linux. - Las distribuciones toman en un momento determinado una versión del kernel de Linux y la combinan con herramientas GNU, le crean un instalador y herramientas de administración, algunas distribuciones se basan en otras distribuciones y le dan un valor añadido. Sin embargo del universo de distribuciones las más importantes; por su relevancia e influencia en las demás distribuciones, son dos: Debian (basado en deb y apt) y Red Hat (basado en rpm y yum).

Mapa de Distribuciones * Distribuciones Debian (Servidor) Ubuntu (Distro mas popular) Desktop (Escritorio), Kubuntu/Xubuntu, etc Server (Servidor) Linux Mint(Escritorio) Basado en Ubuntu

|Red Hat | Centos 7 (Escritorio) | RHEL (Servidor) | CentOS (clon de RHEL) | Oracle Linux (Clon de RHEL) | Scientific Linux (Clon de RHEL) |SuSE | OpenSuSE (Escritorio) | SLES (Servidor) |Mageia (Escritorio)

Otros: Slackware, Gentoo, DanSmall Linux, etc - Debian representa el éxito de la comunidad, garantizando la libertad de sus usuarios y apoyo desinteresado de los mismos para hacer de Debian una distribución de excelente calidad. - Red Hat representa el éxito de la empresa y consolida a Linux dentro de los servidores corporativos. Linux: ------> Tiene su propio sistema de archivos ext2,ext3,ext4,btrfs Swap --> es una memoria virtual en el disco duro Linux soporta: FAT, NTFS, JFS, XFS Para instalar en linux se necesita como mÃnimo una particion Swap y una partición raÃz. Estructura de Directorios: ----------/

----> raiz

/boot ----> directorio de arranque del sistema operativo

configuración de grub /etc

----> archivos de configuración

/home ----> directorios de los usuarios /usr

----> binarios,librerÃas,documentacion

/var

----> archivos que crecen o modifican (correo,base de datos, logs)

/dev

----> referencia de los perifericos (hardware)

/proc ----> directorio temporal con punteros a los recursos fisicos de la computadora /root ----> directorio principal de Dios /tmp

----> directorio temporal

/opt

----> algunos programas instalan aquÃ

/mnt --|>[sirven para mostrar dispositivos de media, unidades de red. /media--|

2.- Instalación Ubuntu VPS ############################################################################## ##################### Acceder al proxmox e instalar el VPS con Ubuntu Desktop Ver video 3.- Configuración Básica de Red ############################################################################## ####################### Para configurar la red debemos tener en consideración lo siguiente: - Verificar la conexión fÃsica cable ( estado linkeado) - Configurar tarjeta de red - Cargar driver tarjeta, si el kernel no reconoció la tarjeta, verificar el modelo de la misma, instalar y probar de nuevo la configuración de la tarjeta de red. Configurar parámetros de la tarjeta de red - IP - Mascara de red - pasarela - Configurar los dns server - ping a la pasarela - ping a google Configuración temporal general desde proxmox --------------------------------------------------------------------------------------------loguearse desde proxmox como tuxito loguearse como root $> sudo su -

Verificar su Ip $> ifconfig -a Ver la puerta de enlace $> route -n Verificar los DNS $> cat /etc/resolv.conf Ping puerta de enlace $> ping 149.56.218.222 $> ping 8.8.8.8

---> ping a la puerta de enlace

---> ping a un ip público

$> ping www.google.com

---> ping a google para validar resolución DNS

Actualizar Ubuntu ============================================================= Actualizar lista de paquetes $> apt update Actualizar paquetes $> apt upgrade Instalar vim y ssh $> apt install vim ssh Configuración de red de forma permanente ========================================================= loguearse como root $> sudo su editar archivo de configuracion /etc/network/interfaces $> nano /etc/network/interfaces ----------------------------------------auto lo iface lo inet loopback auto ens18 iface ens18 inet static address 149.56.218.X netmask 255.255.255.224 gateway 149.56.218.222 dns-namservers 8.8.8.8 ctrl+o Enter ctrl+x $> systemctl restart network-manager Conectarse remotamente al VPS Linux $> ssh [email protected] Winbugs usar putty

CapÃtulo 2: 4.- Comandos básicos de Ubuntu Linux ############################################################################## ############# Una vez instalado Ubuntu, hemos configurado el usuario tuxito, con la clave que usaron para instalar haremos uso ahora de los comandos básicos. Convenciones $> ---> Representa el prompt por lo tanto no debe escribirse como comando Los comandos se ejecutan secuencialmente, es importante ver el resultado de los mismos. Ficheros (Archivos) -------------------@ Planos /etc/network/interfaces @ Binarios /usr/bin/vim @ Enlaces /vmlinuz-->/boot/vmlinuz... @ Especiales /dev/sda1-->partición montada en la raiz / Información del tipo de archivo ############################################################ 1. Regular file(-) 2. Directory files(d) Special files 3. Block file(b) 4. Character device file(c) 5. Named pipe file or just a pipe file(p) 6. Symbolic link file(l) 7. Socket file(s) Consolas de Linux ############################################################ tty1 tty1 . ] . ]--->consolas de texto . ] ty6 ] ty7 --->consola de gráfica tty1

--> Entrar con Ctrl+Alt+F1, para tty3 (Ctrl+Alt+F3)

Entrar en una de las consolas con el usuario creado en la instalación: user:tuxito pass:XXXXX Las extensiones de archivo no interesan; las mayúsculas se diferencias de las minúscula . . . tty6 tty7

] ]--->consolas de texto ] ] --->consola de gráfica

tty1

--> Entrar con Ctrl+Alt+F1, para tty3 (Ctrl+Alt+F3)

Prompt del Sistema -----------------------------[tuxito@localhost ~] | | |__________________________________________ Ruta del Directorio actual | |_________________________Nombre del Equipo (Hostname) |̣___̣_______ Nombre del usuario Modificar el nombre de Host ---------------------------------------------------------Mostrar la forma del prompt $> echo $PS1 Cambiar el nombre del hostname $> sudo hostnamectl set-hostname linuxY $> exit Volver a loguearse Comandos básicos ---------------ls cd pwd --> mkdir --> cp mv --> rm ctrl+l-->

--> lista los archivos o directorios --> permite cambiar directorio muestra el path (ruta actual de directorios) crear directorios --> copiar archivos o directorios mover o renombrar archivos o directorios --> borrar archivos o directorios limpiar la pantalla

Creacion de archivos con redirección de comandos y con uso de touch: ------------------------------------------------------------------> >> touch

--> crea un nuevo archivo desde la salida estándar (monitor), si el archivo existe lo sobreescribe --> añade la salida estandar al final de un archivo, si el archivo existe agrega siempre al final del mismo --> creacion de archivos vacios

Rutas de Archivos o Directorios: ---------------------------------@ Ruta Absoluta.- aquella ruta que se toma en cuenta desde la raiz ------------ejemplo: $> ls /etc/network/interfaces

@ Ruta Relativa.-aquella ruta que se toma en cuenta desde el directorio actual ------------ejemplo: $> cd /etc/network (ruta absoluta) $> ls interfaces (ruta relativa al directorio network) $> ls ../../usr/share/doc (.. es directorio padre) $> ls . (. es el directotio actual) Ayudas en Consola -----------------Flecha arriba y Flecha Abajo ---> navegan por el historial de comandos (para comandos recientes) Shift + AvPág Shit + RetPág

--> navegan en forma vertical por la consola

TAB --> desaznador de Linux --Autocompleta Rutas (Absolutas y Relativas de archivos y de directorios) Autocompleta nombres de comandos Autocompleta nombres de variables de entorno Aplicando Ejercicios (Ejecutar en el VPS): ============================================= loguearse al VPS $> ssh tuxito@IPdeTuVPS loguearse como root con sudo $> sudo su Asignar una clave a root $> passwd clave: Una clave fuerte Cerrar sesión actual $> exit Loguearse como root en forma estandar $> su ingresar al directorio /etc $> cd /etc salir del directotio /etc $> cd .. mostrar en que directorio me encuentro $> pwd ir al directorio por defecto del usuario ej: pepito -> /home/pepito /root $> cd crear el directorio pruebas

root ->

$> mkdir pruebas crear el directorio pruebas,imagenes,fotos uno dentro del otro $> mkdir -p pruebas/imagenes/fotos si añadimos la opción -p mkdir se encarga de crear, si no existen, los directorios miprograma y documentacion. Si usaras este comando sin la opción -p obtendrÃas como resultado un error. $> mkdir -p miprograma/documentacion/html cambiar al directorio pruebas $> cd pruebas $> pwd crear el archivo vacio saludo $> touch saludo listar con detalles el archivo saludo $> ls -l saludo mostrar un mensaje a la pantalla y lo redirecciona el archivo saludo lo sobreescribe $> echo "hola mundo" > saludo mostrar el contenido del archivo saludo $> cat saludo copiar archivo saludo dentro /tmp $> cp saludo /tmp listar el archivo copiado $> ls /tmp/saludo copiar archivo saludo con un nuevo nombre hola (dentro del mismo directorio) $> cp saludo hola Listar el directorio actual en columnas y con detalle (vemos los archivos saludo y hola) $> ls -l crear el directorio documentos $> mkdir documentos copiar el archivo saludo,hola dentro del directorio documentos $> cp saludo hola documentos/ listar con detalles el directorio documentos (no su contenido) $> ls -ld documentos listar el contenido del directorio documentos $> ls -l documentos copiar el directorio documentos como el directorio archivos, incluyendo subdirectorios, -R es recursivo $> cp -R documentos archivos copiar el directorio documentos como el directorio archivos, incluyendo subdirectorios y preservando los permisos originales

$> cp -Rp documentos archivos $> cp -Rpf documentos archivos (forzarÃa la escritura) * En centos, CentOS, redhat $> unalias cp $> cp -Rpf documentos archivos (fuerza la sobreescritura y no pregunta) copiar el directorio imagenes dentro del directorio documentos $> cp -R imagenes documentos listar el directorio documentos $> ls -l documentos listar todos los archivos y directorios del directorio actual, incluyendo archivos ocultos $> ls -la $> ls -la ~ lista el directorio principal del usuario logueado, sin importar el directorio actual .bash_history .bash_logout .bash_profile .bashrc

----> archivo de historial del usuario ----> archivo que se ejecuta al cerrar la sesion ----> archivo que se ejecuta al iniciar una sesion

listar en columnas por tiempo y modo reverso $> ls -lrt $> ls -lrt / listar todos los archivos y directorios del directorio documentos $> ls -la documentos listar con detalles por orden de tamaño en modo reverso $> ls -lSr /usr/bin listar en columnas incluyendo ocultos y subdirectorio del directorio documentos $> ls -lRa documentos $> ls -lRa / listar archivos y directorios que comiencen con sa $> ls sa* listar archivos y directorios que contengan la palabra ol $> ls -l *ol* mostrar en forma resumida las opciones del comando $> ls --help mover el archivo hola dentro del /tmp $> mv hola /tmp $> ls /tmp/hola mover el archivo /tmp/hola al directorio actual $> mv /tmp/hola . mover el archivo actual "hola" como "holitas" dentro del mismo directoria, (renombra el archivo)

$> mv hola holitas $> ls mover archivo holitas dentro de imagenes y lo renombra como hola $> mv holitas imagenes/hola $> ls imagenes mover directorio imagenes en el mismo directorio renombralo como galeria, no necesita recursivo -R para directorios $> mv imagenes galeria borrar archivo saludo no hay undelete $> rm saludo borrar forzadamente sin pregunta archivo saludo $> rm -f saludo borrar forzadamente el directorio galeria $> rm -fR galeria Modo Interactivo (para comandos como man,less) ------------------------------------------------Flecha Arriba y Abajo, AvPág RetPág --> Navegan por la visualización /cadena --> busca cadena (se pueden usar expresiones regulares) n --> sigue buscando 1G --> va a primera linea G --> va a la ultima lÃnea 27G --> va a linea 27 h --> muestra la ayuda del modo interactivo q --> salir del modo interactivo o de la ayuda Ej: $> less /etc/services Flecha Arriba Flecha Abajo Av Pagina Ret Pagina /smtp n n n 1G 455G q Ayuda del Sistema -------------------------------------------------------------------El comando man nos sirve para revisar la documentación de un comando $> sudo apt-get install manpages-es $> man ls (muestra la ayuda del comando ls) /directorio ---> busca la palabra directorio n ---> seguir buscando n 1G ---> ir a la primera lÃnea /reverse ---> buscar la palabra reverse n ---> seguir buscando G ---> ir a la última lÃnea

q

---> salir

Secciones de Manuales ----------------------------Hay diferentes secciones de páginas de manual, cada tipo se diferencia por un número, que se detallan a continuación: 1 Programas ejecutables y guiones del intérprete de órdenes 2 Llamadas del sistema (funciones servidas por el núcleo) 3 Llamadas de la biblioteca (funciones contenidas en las bibliotecas del sistema) 4 Ficheros especiales (se encuentran generalmente en /dev) 5 Formato de ficheros y convenios p.ej. /etc/passwd 6 Juegos 7 Paquetes de macros y convenios p.ej. man(7), groff(7). 8 Órdenes de admistración del sistema (generalmente solo son para root) 9 Rutinas del núcleo [No es estándar] n nuevo [obsoleto] l local [obsoleto] p público [obsoleto] o viejo [obsoleto] $> man 1 ls (Lista el manual de la sección 1 del comando ls) $> man -a ls Presenta, secuencialmente, todas las páginas del comando ls disponibles en el manual. Entre página y página se puede decidir saltar a la siguiente o salir del paginador completamente. $> man -k printf Lista todos los manuales (incluido el tipo de manual) donde haga referencia a printf. 5.- Historial de comandos (History) ############################################################################## ############### lista los comandos ejecutados y los identificado por el numero de ejecucion $> history Ejecuta el comando 127 del History $> !127 Ejecuta el ultimo comando $> !vim

del history, que empieza con vim

Archivo donde se guarda el history $> cat /root/.bash_history * Tamaño del History Está definido ṕor la variable de entorno $HISTSIZE podemos modificar esa variable para guardar una mayor cantidad de lÃneas agregnado la variable de entorno al final del archivo ~/.bashrc $> echo "export HISTSIZE=1000000">>~/.bashrc $> su $> echo $HISTSIZE

Bloquear el history ------------------$> chattr +i /root/.bash_history hace inmutable el archivo $> chattr -i /root/.bash_history quita inmutabilidad

Ejercicio práctico: Como Hacer Backups: ---------------------------------------Creo un directorio backup en la raiz $> mkdir /backup Creo directorios etc y network en forma parentada dentro del backup $> mkdir -p /backup/etc/network Copio archivos dentro del backup/etc preservando permisos los sÃmbolos > de la segunda y tercera lÃnea no se escriben estos sales por el uso del \ al final de una lÃnea para indicar que el comando continúa en la siguiente lÃnea $> cp -p /etc/passwd /etc/shadow \ > /etc/group /etc/hosts \ > /backup/etc Copia archivos interfaces preservando permisos $> cp -p /etc/network/interfaces \ /backup/etc/network Copia todo el home dentro del backup preservando permisos uids,gids $> cp -Rp /home /backup cambia la raiz $> cd / Empaqueta y comprime el directorio backup se llama backup.tgz $> tar -zcpvf backup.tgz backup

y el archivo resultado

Mueve archivo backup.tgz dentro del /root $> mv backup.tgz /root 6.- Enlaces de Archivos y Directorios: ############################################################# Existen dos tipos de enlaces: blandos y duros Crear un enlace blando

--------------------------------------------------------------------(similar al acceso directo, si se borra el archivo original el enlace se queda roto) $> echo "date"> /usr/bin/fecha ---> creando archivo fecha $> chmod 755 /usr/bin/fecha ---> dando permisos de ejecución $> fecha ---> ejecutando comando fecha Creando enlace suave fechita $> ln -s /usr/bin/fecha /usr/bin/fechita Listar el enlace nuevo $> ls -l /usr/bin/fechita Comprobar los inodos del enlace y el archivo $> ls -i /usr/bin/fecha $> ls -i /usr/bin/fechita Ejecutando comando fechita $> fechita Borrando archivo original $> rm -f /usr/bin/fecha Ejecutando fechita $> fechita Listando enlace roto $> ls -l /usr/bin/fechita Borrando enlace roto $> rm -f /usr/bin/fechita Crear un enlace duro --------------------------------------------------------------------(Es como una copia de archivo, si el archivo original se borra, el enlace aún funciona) $> echo "date"> /usr/bin/fecha ---> creando archivo fecha $> chmod 755 /usr/bin/fecha ---> dando permisos de ejecución $> fecha ---> ejecutando comando fecha Creando enlace duro fechita $> ln /usr/bin/fecha /usr/bin/fechita Listar el enlace nuevo $> ls -l /usr/bin/fechita Comprobar los inodos del enlace y el archivo $> ls -i /usr/bin/fecha $> ls -i /usr/bin/fechita Ejecutando comando fechita $> fechita Borrando archivo original $> rm -f /usr/bin/fecha Ejecutando fechita, vemos que aún funciona

$> fechita Listando enlace $> ls -l /usr/bin/fechita Enlace de Directorios $> ln -s /usr/bin /programas $> ls -l / CapÃtulo 3: Comandos de administración ############################################################################## ################# 7.- Comandos de Visualización y extracción de información archivos ====================================================================== cat --> muestra un archivo arriba abajo tac --> al reves del cat cut --> extrae por columnas un archivo, en base a un caracter de separacion grep --> lista las lineas de un archivo que contenga una palabra como filtro egrep --> filtra como grep pero con un conjunto amplio de expresiones regulares fgrep --> filtra como grep pero sin expresiones regulares, es el mas rapido tail --> muestra las ultimas lineas de un archivo head --> muestra las primeras lineas de un archivo more --> como cat pero con pausa less --> visualizacion con pausa y en modo interactivo wc --> cuenta las lineas, palabras o caracteres sed --> buscar y reemplaza cadena en un archivo tr --> efectúa transformación de caracteres en la vista de un archivo pr --> visualiza un archivo en formato de impresión Redirección y TuberÃa: --------------------------------------------------------------------------------------> Redicciona la salida estándar a un archivo, sobreescribiéndolo si existe >> Redicciona la salida estándar a un archivo, añadiendo al final del mismo < Redirecciona la entrada estándar desde un archivo | (Tuberia, concatenando comandos). permite combinar las salidas estándar de 2 o más comandos ---------------------------------------------------------------------------------------Flujos de consola -------------------------------------------------0 Entrada Estandar (stdin) 1 Salida Estandar (stdout) 2 Salida de Error Estandar (stderr) Ejercicios ---------------$> cat /etc/passwd Muestra el contenido de un archivo sin pausa

$> tac /etc/passwd Muestra el contenido de un archivo sin pausa pero al reves, lo mismo que cat pero al reves $> more /etc/services Muestra un archivo con pausa por pagina, enter para seguir avanzando $> less /etc/services Muestra un archivo en modo interactivo Su principal uso es para visualizar archivos grandes como los logs $> less /var/log/syslog Visualiza los logs del sistema $> tail /etc/passwd Muestra las ultimas 10 lineas de un archivo $> tail -1 /etc/passwd Muestra la ultima linea de un archivo $> tail -5 /etc/passwd Muestra las ultimas 5 lineas de un archivo $> tail -f /var/log/syslog Muestra en forma interactiva los cambios en las ultimas lineas de un archivo: ctrl+c para salir Sirve para ver los logs en tiempo real $> tail -f /var/log/squid3/access.log | grep pepito Este ejemplo me mostrarÃa la navegación del usuario pepito en tiempo real $> cat /etc/services | less visualiza el contenido del archivo /etc/services y el resultado se concatena en less $> less /etc/services Tiene el mismo resultado que el comando anterior $> cat -n /etc/services | less Lo mismo que los archivos anteriores pero mostrando los numeros de linea $> cat /etc/hosts /etc/network/interfaces Concatena la visualizacion de los dos archivos en una sola salida por el stdout (pantalla) Cat como editor de texto $> cat>archivo hola mundo linux es chevere ctrl+c $> cat archivo

echo como editor de texto $> echo "hola > mundo > linux es > chevere" > archivo $> cat archivo Muestra lo que se escribio anteriormente $> cat /etc/passwd > passwords Creando archivo a partir de la salida estandar $> cat /etc/group >> passwords Añade al final del archivo $> grep imap /etc/services ; echo hola Filtra por palabra la visualizacion del archivo ";" se usa para ejecutar otro comando en la misma linea $> wc /etc/services Cuenta el numero de lineas palabras y caracteres del archivo $> wc -l /etc/services Cuenta solo numeros de lineas $> tail /etc/services Visualiza las 10 ultimas lineas $> tac /etc/services Visualiza de abajo hacia arriba el contenido del archivo $> head /etc/services Visualiza las 10 primeras lineas $> head -8 /etc/services Visualiza las 8 primeras lineas $> tail -1 /etc/passwd Muestra el ultimo usuario creado $> head -30 /etc/services | tail -5 Muestra las lineas de la 25 a la 30 $> cat /etc/group | tee -a passwords Añade al final del archivo y muestra la salida estandar $> cut -d ":" -f1 /etc/passwd Corta las lineas por columna separandolas por ":" y muestra la primera columna $> cut -d ":" -f1,3 /etc/passwd Corta las lineas por columna separandolas por ":" y muestra la primera y tercera columna $> sed -e "s/smtp/correo/g" /etc/services | less Reemplaza la palabra smtp por correo (solo en la salida estándar)

$> sed -e "s/telnet/conexion remota/g" \ -e "s;smtp;correo;g" /etc/services Reemplaza la palabra telnet y smpt por correxion remota y correo $> sed -i "s;smtp;correo;g" /etc/services NO EJECUTAR Reemplaza la palabra smtp por correo (modifica el archivo) $> cat /etc/services | tr a-z A-Z Transforma las letras minusculas a mayusculas $> cat /etc/passwd | tr -d "[0-9]" Borra los numeros $> cat /etc/passwd | tr -c "[a-z A-Z]" "-" Transforma los caracteres que no sean letras en "-" $> cat /etc/services |tr -s "\n*" Transforma los saltos de lineas consecutivas en uno solo (elimina linea en blanco) $> pr /etc/services Visualiza en formato de impresion $> pr /etc/services | less $> pr /etc/services > /dev/lp0 Impresion del archivo /etc/services

lp0 es el puerto paralelo

Expresiones Regulares: ------------------------------------------------------------------* --> 0 o mas coincidencias + --> 1 o mas coincidencias ? --> una coincidencia {1,} --> equivalente a + {0,} --> equivalente a * {1} --> equivalente a ? {2,5} --> de 2 a 5 coincidencias ^ --> que comienza $ --> que termina [a-z] --> solo letras minusculas [A-Z] --> solo letras mayusculas [a-zA-Z] --> solo letras [a-zA-ZáéÃóúñÑÁÉÍÓÚ] --> alfabeto español [0-9] --> solo numeros ( ) --> bloque de expresiones (exp1 |exp2) --> coincidencia de exp1 o exp2 [^exp] --> negacion de la expresion \ --> caracter de escape . --> cualquier caracter Ejercicios: ========================================================= Crear el usuario tuxito $> adduser tuxito Tuxito Linuxero $> passwd tuxito (poner clave fuerte)

$> grep tuxito /etc/passwd Muestra todas las lineas en el fichero /etc/passwd que contengan la expresion tuxito $> grep -v tuxito /etc/passwd Filtra las lineas que no contengan la expresion tuxito $> grep "^a" /etc/passwd Busca las lineas que comienzan con a $> egrep "[0-9]" /etc/hosts Acepta un mayor conjunto de expresiones regulares, filtra las lineas que contengan numeros $> fgrep tuxito /etc/passwd Filtra por palabras no por expresiones regulares, es más rápido que grep y egrep $> fgrep -R tuxito /etc 2>/dev/null Buscamos la palabra tuxito en cualquier archivo del /etc direccionando la salida de error al /dev/null Ejercicio: Arma una expresion regular para validar numeros de ips Crear una Regexp ############################################# 1.- Enunciar los datos especÃfcos 2.- Buscamos patrones comunes entre los datos especÃficos 3.- Representamos los patrones comunes con expresiones regulares 4.- Validamos la expresión regular final Regexp para una IP --------------------------------------------------1.- 192.168.120.101 255.255.255.0 8.8.8.8 10.4.3.5 0.0.0.0 3.4.5.234 2.- - Caracteres permitidos: Números y el punto - 4 triadas de números separos por punto - La triada va de un rango de 1 a 3 dÃgitos 3.- [0-9]\. [0-9]{1,3}\. [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} Simplificación ([0-9]{1,3}\.){3}[0-9]{1,3} Solucion:[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} $> egrep -R "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" /etc Ejercicio: Escribe una expresion regular para validar emails en

2>/dev/null

cualquier archivo del directorio /etc o sus subdirectorios [email protected] [email protected] [email protected] [email protected] Solucion: "[a-zA-Z0-9]?[a-zA-Z0-9\-\._]+@[a-zA-Z0-9]?[a-zA-Z0-9\-\.]+[a-zA-Z] {2,4}" $> egrep -R "[a-zA-Z0-9]?[a-zA-Z0-9\-\._]+@[a-zA-Z0-9]?[a-zA-Z0-9\-\.]+[a-zAZ]{2,4}" /etc 2>/dev/null | grep -v binario 8.- El Editor VIM ############################################################################## ################# Comandos de vim ----------------------------------------------------------------------------------------ESC : ingresa al modo comando i : entra en modo insercion desde la misma linea o : entra en modo insercion desde la sgte linea 1G : va a la primera linea 23G : va a la linea 23 :45 : va a la linea 45 G : va a la ultima linea /palabra : busca una cadena n : sigue buscando dd : corta o borra una linea d8d : corta o borra 8 lineas yy : copia una linea y7y : copia 7 lineas p : pega el contenido del portapapel desde la siguiente lÃnea P : pega el contenido del portapapel desde la lÃnea actual 5p : pega 5 veces el contenido del portapapel u : deshace la ultima accion ctrl+R : rehace la ultima accion x : borra una letra :w : graba el archivo actual :wq : graba y sale :w! : graba de forma forzada :wq! : graba y sale forzadamente :q! : sale forzadamente :1,$s/busqueda/reemplaza/g :busca una cadena y la reemplaza :! comando : ejecuta un comando en bash y vuelve a VIM :e archivo : abre un nueva archivo en el sgte buffer :b1 : va el primer buffer abierto :b2 : va al segundo buffer, para cambiar de buffer hay que grabar el buffer actual :set number : muestra los numeros de linea :set nonumber : quita los numeros de linea :set paste : habilita el pegado sin auto identificacion :set ts=3 : establece a 3 los espacios de los tabs Insertar : entra en modo de reemplazo

:saveas archivo : guarda como nombre archivo :shitf+a : entra en modo insercion al final dpel D : elimina texto desde el cursosr actual hasta el final de la linea dG : elimina todo hasta la ultima linea :wq! ++utf8 : guarda el fichero en modo UTFP (por defecto) :nohl : cancela los resultados de busqueda yG : copia desde la linea del curso actual hasta la última lÃnea Instalar VIM ---------------------------------------------------------$> su $> apt-get update $> apt-get install vim Crear archivo poema ---------------------------------------------------------$> vim poema i -----> Inserta texto Oh gran Linux que quita la ignorancia en mi vida, a ti te consagro mi aprendizaje. ESC ----> Lleva al modo comando :wq ----> graba y sale $> cat poema Gestion de temporales ---------------------------------------------------------$> vim poema (agregar al final) G ----> van a la última lÃnea o ----> modo inserción en una nueva lÃnea Prometo alejarme del maligno windows Cerrar a la mala dando click en la X de la ventana del terminal $> vim poema Sale el mensaje de alerta el temporal yp uedo elegir entre estas opciones [A]brir para lectura únicamente, (E)ditar de todas formas, (R)ecuperar, (B)orrar(S)alir, (A)bortar: Seleccionamos "r" y le damos enter i -----> insetar texto desde mañana ESC -----> volver al modo comando :wq! -----> grabar y salir forzadamente Borrar el temporal $> rm -f .poema.swp Crear archivo saludo y ejecutar ejercicios de comandos vim --------------------------------------------------------$> vim saludo i

hola mundo ESC yy 20p G o windows es lo maximo ESC /hola n n :set number G yy 30p :1,$s/windows/linux/g dd 45G d2d dG u ctrl+r :! date :w :e otrosaludo :b1 1G yG :b2 P :wq! $> cat saludo $> cat otrosaludo Archivo de configuracion de VIM -----------------------------------------------------$> vim /etc/vim/vimrc 20G "syntax on syntax on 29G (brorrar comilla inicial de la linea 29 a la 31) "if has " " G o " evita que genera archivo backup ej: archivo~ set nobackup " muestra numeros de linea set number " establece el espacio de los tabs a 3 set ts=3 " evita autoindentar cuando se pega el portapapeles desde el modo grafico set paste ESC :wq

Comprobar cambios $> vim /etc/vim/vimrc ESC:q 9.- Configuración de Red por archivo de Configuración en Ubuntu ################################################################# Detectar las tarjetas de red $> ifconfig -a ó $> ip link show Ej: detecta que Ethernet es ens18 Editar el archivo /etc/network/interfaces $> vim /etc/network/interfaces auto lo iface lo inet loopback auto ens18 iface ens18 inet static address 149.56.218.X netmask 255.255.255.224 gateway 149.56.218.222 dns-nameservers 8.8.8.8 Reiniciar servicio en Ubuntu Server $> systemctl restart networking Reiniciar servicio en Ubuntu Desktop $> systemctl restart network-manager Verificar la configuración $> ip addr show $> ip route show $> ping 8.8.8.8 $> ping www.google.com 10.- Resolución de Hosts y DNS ################################################################## Ubuntu 14.04 $> vim /etc/hostname linuxY.aulautil.com $> hostname linuxY.aulautil.com $> reboot Ubuntu 16.04 $> hostnamectl set-hostname linuxY.aulautil.com $> exit $> exit Conectar al vps $> su $> hostnamectl

Opcional: Cambiar la forma del prompt para root, para que muestre nombre completo del host $> sudo su $> vim ~/.bashrc (ir a la última lÃnea y agregar) export PS1="\[\e]0;\u@\H: \w\a\]${debian_chroot:+($debian_chroot)}\u@\H:\w\$ " $> su 11.- Configurar la resolución local de nombres ################################################################## Ej: resolviendo la ip local, una ip de la red y un dominio ficticio con nuestra propia ip $> vim /etc/hosts 127.0.0.1 localhost ::1 ip6-localhost ip6-loopback 127.0.1.1 linuxY linuxY.aulautil.com www.mocosoft.com Pruebas --------------$> ping linuxY (SQDN) $> ping linuxY.aulautil.com (FQDN) $> ping www.mocosoft.com (Dominio Ficticio) Nota: ---------------------------------------------------------------------------Para resolver los nombre de host a nivel de red se usa un servidor DNS Bind ó dnsmasq ******** Deshabilitar DNSMASQ de NetworkManager **************** $> sudo su $> vim /etc/NetworkManager/NetworkManager.conf 3: #dns=dnsmasq $> service network-manager restart $> cat /etc/resolv.conf 12.- Búsqueda de Archivos ############################################################################## ######## find,locate,whereis,which -------------------------$> find ./ -name a\* Busca archivos y directorios que comiencen con a, tomando como base el directorio actual $> find -name "a*" Busca archivos y directorios que comiencen con a, tomando como base el directorio actual $> find /etc -name hosts Busca desde el /etc el archivo o directorio interfaces

$> find /usr -size +300k Busca todos los archivos en el /usr que pesen mas de 300K $> find /etc -name passwd -exec cat {} \; Busca todo los archivos llamados passwd dentro de /etc y luego visualiza el contenido de cada uno de ellos con el comando cat $> find /etc -exec sed -i "s/smtp/correo/g" {} \; NO EJECUTAR Busca y reemplaza smtp por correo en todos los archivos dentro de /etc $> find / -user tuxito -size +3M Busca archivos del usuario tuxito que sean mayores a 3 Megas en todo el sistema $> find / -user root -size +3M Utilidad locate ---------------------------------------------------------------------$> apt-get -y install mlocate $> updatedb Actualiza la base de datos de la lista de archivos y directorios existentes en el sistema $> locate interfaces Busca en la base de datos el archivo interfaces $> whereis vi Muestra la ruta de binarios, librerias y documentacion del comando vi $> which vi Muestra la ruta del binario del comando vi 13.- Empaquetado y comprension: ############################################################################## ######## $> mkdir /backups $> cd /backups $> tar -cvf etc.tar /etc empaqueta el directorio en un solo archivo etc.tar $> gzip etc.tar comprime en formato gzip un archivo y le añade extension .gz $> tar -cvf etc.tar /etc $> bzip2 etc.tar comprime en formato bzip2 un archivo y le añade extension .bz2 $> ls -l $> tar -zcpvf etc.tgz /etc empaqueta y comprime en formato gzip

z c p v f

--> --> --> --> -->

comprimir con gzip empaquetar preservar los permisos verbose file (archivo a generar)

$> tar -jcpvf etc.tbz /etc empaqueta y comprime en formato bzip2 j --> comprimir en bzip2 $> gunzip etc.tar.gz descomprime un archivo de formato bzip $> ls -l $> tar -xvf etc.tar desempaqueta un archivo de formato tar x --> desempaqueta $> bunzip2 etc.tar.bz2 descomprime un archivo de formato bzip2 $> ls -l $> tar -xvf etc.tar $> tar -zxpvf etc.tgz descomprime y desempaqueta un archivo de formato gzip $> tar -jxpvf etc.tbz desempaqueta y descomprime un archivo de formao bzip2 Archivos Zip windows ------------------------------------------------------$> apt-get -y install unzip $> unzip archivo.zip descomprime un archivo .zip Archivos rar ----------------------------------------------------------Instalar unrar $> apt-get install unrar $> unrar x archivo.rar Programa gráfico para KDE --------------------------------------ark 14.- Usuarios y Grupos ############################################################################## #################### Archivos importantes de usuarios, grupos y contraseñas

-------------------/etc/passwd (lista de usuarios) /etc/group (lista de grupos) /etc/shadow (lista de contraseñas de usuarios) /etc/gshadow (lista de contraseñas de grupos) Crear usuarios -------------crear un nuevo usuario, su directorio de trabajo y su grupo igual al nombre de usuario $> adduser tuxito crear o cambiar la contraseña de un usuario $> passwd tuxito * Plantilla de los home directory --------------------------------------------------------$> ls -la /etc/skel mostrar información del usuario actual $> id salir de la sesion actual $> exit $> id crear usario linuxero con descripcion, grupo principal y grupos adicionales, asà como su intérprete de comandos $> useradd -md /home/linuxero -c "linuxero fanatico" \ -g users -G video,audio -s /bin/bash linuxero $> passwd linuxero $> grep linuxero /etc/passwd linuxero:x:1003:100:linuxero fanatico:/home/linuxero:/bin/bash Donde: linuxero = nombre del usuario x = la clave del usuario esta en /etc/shadow 1003 = uid del usuario 100 = gid del usuario linuxero fanatico = descripción /home/linuxero = directorio de trabajo del usuario /bin/bash = interpretes de comandos $> grep users /etc/group users:x:100:pepito,tuxito,windozero Donde: users comun)

= nombre del grupo x = la clave del grupo esta en /etc/gshadow (no es

100 = gid del grupo pepito,tuxito,windozero

= usuarios adicionales del grupo

$> grep linuxero /etc/shadow (archivo de contraseñas) linuxero:$6$qf7G8CbU$R9wiKgiN0rVaP1qsjQnzRsYfywP3L468:15297:0:99999:7::: Donde: linuxero = nombre del usuario $6$qf7G... = contraseña encriptada en un algoritmo como MD5, SSHA, si está vacÃo no requiere contraseña, si tiene un asterisko al inicio, la cuenta está deshabilitada 15297 = El número de dÃas desde la era Unix en que el password fue cambiado (01 de Enero de 1970). 0 = Número de dÃas mìnimo en que el password podrá sea cambiado (0 indica que puede ser cambiado en cualquier momento) 99999 cambiado (99999

= El número de dÃas máximo en que el password debe ser indica que el password puede permanecer sin cambiar por

muchos años) 7 = El número de dÃas de alerta al usuario antes que su clave expire (7 es una semana) = Número de dÃas que se deshabilitará la cuenta, una vez que expire el password = Número de dìas desde la era Unix que la cuenta será deshabilitada = Campo reservado para futuro uso Opciones del passwd para cambiar las opciones de la contraseña ----------------------------------------------------------------------------------------------------$> passwd --help -d, --delete delete the password for the named account (root only) -l, --lock lock the named account (root only) -u, --unlock unlock the named account (root only) -x, --maximum=DAYS maximum password lifetime (root only) -n, --minimum=DAYS minimum password lifetime (root only) -w, --warning=DAYS number of days warning users receives before password expiration (root only) -i, --inactive=DAYS number of days after password expiration when an account becomes disabled (root only) Ejemplo: Modificamos la expiracion de contraseña del usuario linuxero $> passwd -x 30 linuxero

a 30 dÃas

Verificamos el cambio $> grep linuxero /etc/shadow Bloqueamos el login del usuario linuxero, deshabilitando su contraseña

$> passwd -l linuxero Verificamos el cambio $> grep linuxero /etc/shadow Desbloqueamos el login $> passwd -u linuxero Modificar usuarios ------------------------------------------------------------------------------$> grep tuxito /etc/passwd $> usermod -c "tuxito hacker" tuxito (modificamos a sus usuarios) $> grep tuxito /etc/passwd $> vim /etc/passwd (modifica el archivo de usuario) Borrar usuarios ------------------------------------------------------------------------------$> userdel linuxero (borra el usuario pero no su directorio de trabajo) $> userdel -r tuxito (borra el usuario incluyendo su directorio) Crear un Grupo ------------------------------------------------------------------------------$> groupadd fanaticos vuelvan a crear tuxito Agregar un usuario a un grupo ------------------------------------------------------------------------------$> gpasswd -a tuxito fanaticos (agrega al usuario tuxito al grupo fanaticos) $> grep fanaticos /etc/group $> vim /etc/group se puede agregar un usuario directamente a un grupo editando el archivo groups 15.- Permisos de archivos y directorios ############################################################################## ##################### $> ls -l /etc/hosts inodo tamaño en bytes fecha y hora de modificacion | | | | | | -rw-r--r--. 2 root root 240 2009-05-04 08:15 /etc/hosts |______ | | | | | | | | | |

| | | | | | | |

| | dueño grupo ruta del archivo | ---> permiso especial |---> triada de permisos para el archivo del dueño, usuario y el resto del mundo --> r=read 4 --> w=write 2 --> x=exec 1

Información del tipo de archivo -----------------------------------------------------------------------------1. Regular file(-) 2. Directory files(d) Special files 3. Block file(b) 4. Character device file(c) 5. Named pipe file or just a pipe file(p) 6. Symbolic link file(l) 7. Socket file(s) $> su $> cd $> ls -l saludo $> chmod 664 saludo (6=permiso dueño,6=permiso grupo,4=permiso de otros) $> ls -l saludo $> chmod 777 saludo

(permisos totales para todos)

$> ls -l saludo Se pueden usar letras para cambiar los permisos con chmod u=user, g=group, o=others, a=all r=read, w=write, x=execution -=quita permisos , +=añade permisos quitar al resto del mundo todos los permisos al archivo saludo $> chmod o-rwx saludo $> ls -l saludo Agregar permisos de lectura escritura y ejecucion al dueño y grupo del archivo $> chmod ug+rwx saludo $> chown tuxito saludo

(cambia de dueño al archivo)

$> ls -l saludo $> chgrp tuxito saludo $> ls -l tuxito

(cambia de grupo al archivo)

$> chown -R tuxito.tuxito /home/tuxito ----- -----dueño grupo cambia de dueño y grupo al directorio /home/tuxito incluyendo sus subdirectorios * Nota ------------------------------------------------------------------------el comando chmod lo puede ejecutar el dueño del archivo y el usuario root el comando chown solo lo puede ejecutar root Máscara de Permisos por Defecto -----------------------------------muestra la mascara de permisos con que se crean archivos o directorios $> umask muestra los permisos con que se crea los directorios u=rwx, g=rx, o=rx $> umask -S el umask con 0077 establece una nueva mascara $> umask 0077 Cambio de mascara de permisos de usuarios de forma permanente ------------------------------------------------------------$> su - tuxito $> umask $> vim ~/.bashrc umask 0077 ---> poner en la ultima linea $> su - tuxito $> umask Notas: chmod = solo lo puede ejecutar el dueño del archivo y root chown = solo lo ejecuta root 16.- Procesos: ########################################################################## $> ps lista procesos del usuario $> ps ax lista todos los procesos $> ps axf lista todos los procesos, jerarquÃa y ruta de los comandos $> ps ax | grep gdm verifica si en la lista de procesos se esta ejecutando gdm 2550

PID

?

TTY

--> identifica el proceso --> consola desde donde se esta ejecutando

sS

STATE

0:00

TIME

COMMAND

--> estado del proceso --> tiempo que se esta ejecutando el proceso

--> comando del proceso

$> man ps verifica fligs en la pagina del manual Matar procesos: -------------Ejecuta un proceso que guarda en el archivo boom y lo manda a segundo plano $> yes (te muestra y infinitamente) ctr+c ---> cancela el proceso $> yes > boom ctrl +c

(lo direcciona a un archivo y bloquea la consola)

$> yes > boom & lo manda en segundo plano y desbloquea la consola $> ps ax | grep yes verifico la ejecucion del proceso $> ls -l boom $> killall -9 yes (-9 indica maximo nivel de matanza) mata el proceso por el nombre del proceso $> ps ax | grep yes verificar la ejecucion del proceso $> yes > boom & $> ls -l boom $> ps ax | grep yes verifico cual el PID del proceso (Ej 2525) $> kill -9 2525

--> 2525 es el PID del proceso, es un ejemplo

$> ps ax | grep yes Monitoreo del sistema ================================================ Podemos usar el comando top o htop $> top $> sudo apt-get install htop $> htop Capitulo 4: Configuración del escritorio Ubuntu Linux ############################################################################## ##########################

Instalación y Gestión de Paquetes ============================================================================== ====== Configuración de repositorios $> vim /etc/apt/sources.list ---------------------------------------------------------------------------# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://pe.archive.ubuntu.com/ubuntu/ trusty main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://pe.archive.ubuntu.com/ubuntu/ trusty-updates main restricted ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb http://pe.archive.ubuntu.com/ubuntu/ trusty universe deb http://pe.archive.ubuntu.com/ubuntu/ trusty-updates universe ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb http://pe.archive.ubuntu.com/ubuntu/ trusty multiverse deb http://pe.archive.ubuntu.com/ubuntu/ trusty-updates multiverse ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. deb http://pe.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse ---------------------------------------------------------------------------APT ############################################################################ $> apt ---> lista las opciones del comando apt Actualizar lista de paquetes $> apt-get update Buscar un paquete ------------------------------------------------------------------$> apt-cache search nmap Instalar o actualizar un paquete -------------------------------------------------------------------$> apt-get -y install nmap Desinstalar un paquete -------------------------------------------------------------------$> apt-get remove nmap

Desintalar totalmente un paquete $> apt-get remove --purge nmap Actualizar todos los paquetes -------------------------------------------------------------------$> apt-get dist-upgrade Listar todos los paquetes instalados -----------------------------------------------------------------$> dpkg -l Ver si un paquete esta instalado (ej: mlocate) $> dpkg -l | grep mlocate Listar los archivos de un paquete $> dpkg -L mlocate Instalar un paquete deb manualmente $> dpkg -i /ruta/a/paquete.deb Fixear errores de dependencias $> apt-get -f install Repositorios adicionales de Ubuntu ############################################################################## ################################ Ubuntu por defecto viene con los repositorios Universe y Multiverse que permite instalar múltiples paquetes $> sudo su $> apt-get -y update Idioma español ########################################################################### $> apt-get -y install language-pack-es libreoffice-l10n-es \ firefox firefox-locale-es language-pack-gnome-es libreoffice-help-es myspelles wspanish Luego cerrar el entorno gráfico y volver a abrir Codecs Multimedia, tipografÃas, flash, java y compresores ########################################################################### $> apt-get install ubuntu-restricted-extras Seleccionar Aceptar y Sà cuando pregunte Leer Dvds ########################################################################## $> apt-get install libdvdread4 OpenJDK (java) ########################################################################## Ubuntu 14.04 $> apt-get install openjdk-7-jre icedtea-plugin Ubuntu 16.04 $> apt-get install openjdk-8-jre icedtea-plugin

Formatos de compresión ############################################################################## ############# $> apt-get install rar unzip unrar unace p7zip-full p7zip-rar bzip2 lzop sharutils mpack lhasa arj Configuración de la Tarjeta de Video con los drivers privativos (ATI, Nvidia) ############################################################################## ###### Verificar el modelo de la tarjeta de video $> lspci | grep VGA Nvidia Ejecutar Driver Manager En el menu inicio buscar "Administrador de Controladores" Ubuntu 14.04 En el menu inicio buscar "Controladores Adicionales" Ubuntu 16.04 Seleccionar - fglrx para AMD (Ubuntu 14.04) - nvidia para Nvidia Si la tarjeta es muy nueva, seleccionar fglrx-updates ó nvidia-310-updates Si la tarjeta es antigua nvidia-173 eso instalará el driver de video para Nvidia o ATI cuando termine de instalar, reiniciar Nota: ============================================================================== === En Ubuntu 16.04 y posterior en AMD ATI viene el driver open source AMDGPU en reemplazo de fglrx y el driver Radeon para las tarjetas antiguas. Programas adicionales ############################################################################## ##### Google Chrome -----------------------------------------------------------Descargar deb de 64 bits para Ubuntu desde 64 bit .deb (para Debian/Ubuntu) https://www.google.es/chrome/browser/desktop/index.html Instalar chrome $> sudo dpkg -i /home/tuxito/Descargas/google-chrome-stable_current_amd64.deb $> apt-get -f install Chromium -----------------------------------------------------------------------------------$> apt-get -y install chromium-browser Skype ======================================================================== $> dpkg --add-architecture i386

$> add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner" $> apt-get update $> apt-get -y install skype Teamviewer ======================================================================== Instalación ----------------------------------------------------------------------------------Como usuario tuxito Descargar teamviewer v11.0.57095 (deb 32-Bit / 64-Bit Multiarch) luego instalar el paquete deb $> $> $> $>

dpkg --add-architecture i386 apt-get update dpkg -i /home/tuxito/Descargas/teamviewer_11.0.57095_i386.deb apt-get -f install

Ejecutar teamviewer Alt+F2 $> teamviewer Anydesk =========================================================================== Descargar de http://anydesk.es/download $> sudo su $> wget https://download.anydesk.com/linux/anydesk_2.9.3-1_amd64.deb $> dpkg -i anydesk_2.9.3-1_amd64.deb $> apt-get -f install Como usuario click en menu inicio y buscar Anydesk Cliente VNC y RDP ----------------------------------------------------Unity/Gnome $> apt-get -y install remmina KDE $> apt-get -y

install krdc

Enchula tu desktop ############################################################################## ############### Unity ========================================================================== Manipular efectos gráficos $> apt-get install compizconfig-settings-manager compiz-plugins-extra Ejecutar Alt+F2 ccsm si se pone inestable, borrar como tuxito $> rm -fR ~/.compiz $> rm -fR ~/.config/compiz*

Cerrar sesión y volver a abrir Escitorio alternativo KDE Plasma (Opcional) #################################################################### $> apt-get install kubuntu-desktop seleccionar lightdm Si falla instalacion $> dpkg -i --force-all /var/cache/apt/archives/kde-config-telepathyaccounts*.deb $> reboot Loguearse con kde Personalizar kde ========================================================== Abrir preferencias del sistema Color del Desktop ---------------------------Apariencia de las aplicaciones -> Colores -> Dar click Obtener nuevos esquemas y buscar Ghost Íconos -----------------------------entrar a www.kde-look.org Descargar IceGlass Instalar en Apariencia de las aplicaciones -> Iconos -> Instalar archivo del tema Decoracion de Ventana -----------------------------------------------------------------Apariencia del Espacio de Trabajo -> Decoracion de ventanas-> Obtener Nuevos esquemas y buscar Ghost Tema de Escritorio (Plasma) -----------------------------------------------------------------------------Apariencia del Espacio de Trabajo -> Tema de Escritorio -> Obtener Nuevos esquemas y buscar Ghost Wallpaper ----------------------------------------------------------------------------Click derecho en el escritorio Preferencias del escritorio por omisión -> click en Abrir y buscar el wallpaper Efectos del Escritorio -----------------------------------------------------------------------------Configurar el driver de video (ATI o Nvidia) Luego habilitar los efectos de escritorio Deshabilitar/Habilitar efectos ----------------------------------Alt+Shift+F12

Reproductor de Música -----------------------------------------------------------$> apt-get -y install amarok Instalar reproductor de video --------------------------------------------------------------------------$> apt-get -y install vlc Quemar dvds cds -------------------------------------------------------------------------$> apt-get -y install k3b Bittorrent -------------------------------------------------------------------------$> apt-get -y install ktorrent Aplicaciones Windows ############################################################################## ################# Instalar IE8 y juegos con wine y PlayOnlinux ---------------------------------------------------------------------------------------------$> wget http://www.playonlinux.com/script_files/PlayOnLinux/4.2.10/PlayOnLinux_4.2.10. deb $> dpkg -i PlayOnLinux_4.2.10.deb $> apt-get -f install $> apt-get install xterm wine como usuario tuxito ejecutar $> playonlinux Instalar programas windows con cxoffice ---------------------------------------------------------------------------------------------$> su $> cd /opt Entrar a página de Crossover Office y comprar o descargar trial Descomprimir archivo de crossover Office $> tar -zxvf cxoffice.tgz $> apt-get install python-gtk2 python-glade2 $> su - tuxito $> /opt/cxoffice/bin/cxsetup Libre Office Draw (reemplaza a Visio) ---------------------------------------------------------------------------------------Descargar galerÃas de www.draw-shapes.de Fuente de Winbugs en Linux

------------------------------------------------------------------Ejemplo: /dev/sda1 es el disco C:\ $> mkdir /winbugs $> mount /dev/sda1 /winbugs $> cp -R /winbugs/Windows/Fonts/* /usr/share/fonts/truetype Listado de programas alternos a los de Windows ================================================================= 3D Home Architect Sweet Home 3D (http://sweethome3d.sourceforge.net/index.html) 3D Studio Max Art of Illusion (http://www.artofillusion.org/) Blender (http://www.blender.org/) K-3D (http://www.k-3d.org/) Wings 3D (http://www.wings3d.com/) ACDSee Eye of GNOME (http://www.gnome.org/projects/eog/) Geeqie (http://geeqie.sourceforge.net/) GQview (http://gqview.sourceforge.net/) Gwenview (http://gwenview.sourceforge.net/) KuickShow (http://kuickshow.sourceforge.net/) ShowImg (http://freecode.com/projects/showimg) Adobe Acrobat Reader ePDFView (http://trac.emma-soft.com/epdfview/) Evince (http://www.gnome.org/projects/evince/) okular (http://okular.kde.org/) Xpdf (http://www.foolabs.com/xpdf/) Adobe Audition Audacity (http://audacity.sourceforge.net/) Adobe Illustrator Inkscape (http://www.inkscape.org/) Calligra Karbon (http://www.calligra.org/karbon) sK1 Project (http://sk1project.org/) Skencil (http://www.skencil.org/) Xara Xtreme (http://www.xaraxtreme.org/) Alchemy (http://al.chemy.org/gallery/) Open Office Draw (http://www.openoffice.org/product/draw.html) Libre Office Draw (https://es.libreoffice.org/descubre/draw/) Adobe Lightroom Darktable (http://darktable.sourceforge.net/) Adobe PageMaker Scribus (http://www.scribus.net/) Adobe Photoshop CinePaint (http://www.cinepaint.org/) GIMP (http://www.gimp.org/) GIMPShop (http://www.gimpshop.com/) Krita (http://krita.org/) Ant Movie Catalog Moviefly (https://savannah.nongnu.org/projects/lmc/) AOL Instant Messenger (AIM) Instantbird (http://instantbird.com/) Kopete (http://kopete.kde.org/) Pidgin (http://pidgin.im) PSI (http://psi-im.org/) Empathy (https://live.gnome.org/Empathy)

APC PowerChute

Collectorz manager)

DAMN NFO Viewer Dreamweaver

DVDShrink

Everest Evernote

Apcupsd (http://www.apcupsd.com/) Network UPS Tools (http://www.networkupstools.org/) PowerD (http://power.sourceforge.net/) Alexandria (https://github.com/mvz/alexandria-book-collectionaviManager (http://sourceforge.net/projects/avimanager/) GCstar (http://www.gcstar.org/) Griffith (http://griffith.cc/) Katalog (http://salvaste.altervista.org/) Tellico (http://tellico-project.org/) vMovieDB (http://vmoviedb.sourceforge.net/) NFO Viewer (http://home.gna.org/nfoview/) Bluefish (http://bluefish.openoffice.nl/index.html) BlueGriffon (http://bluegriffon.org/) Geany (http://geany.uvena.de) KompoZer (http://www.kompozer.net/) Nvu (http://www.nvu.com/) Quanta Plus (http://quanta.sourceforge.net/release2.php) Screem (http://www.screem.org/) AcidRip (http://sourceforge.net/projects/acidrip/) dvd::rip (http://www.exit1.org/dvdrip/) k9copy (http://sourceforge.net/projects/k9copy-reloaded/) OGMRip (http://ogmrip.sourceforge.net/) qVamps (http://vamps.sourceforge.net/) Thoggen (http://thoggen.net/) xdvdshrink (http://dvdshrink.sourceforge.net/) HardInfo (http://sourceforge.net/projects/hardinfo.berlios/)

BasKet (http://basket.kde.org/) Chandler (http://chandlerproject.org/) QuickFox Notes (https://addons.mozilla.org/enUS/firefox/addon/13572/) Tomboy (https://wiki.gnome.org/Apps/Tomboy) Zim (http://zim-wiki.org/) Finale Brahms (http://brahms.sourceforge.net/) Denemo (http://denemo.sourceforge.net/index.html) Lilypond (http://www.lilypond.org) MuseScore (http://musescore.org/) NoteEdit (http://sourceforge.net/projects/noteedit.berlios/) Rosegarden (http://www.rosegardenmusic.com/) FL Studio Ardour (http://www.ardour.org) Jokosher (http://sourceforge.net/projects/jokosher/) LMMS (http://lmms.sourceforge.net/) Fontographer FontForge (http://fontforge.sourceforge.net/) foobar2000 Amarok (http://amarok.kde.org/) Aqualung (http://aqualung.factorial.hu/misc.html) aTunes (http://www.atunes.org/)

Banshee (http://banshee.fm/) Decibel Auto Player (http://decibel.silent-blade.org/) Exaile (http://www.exaile.org/) gtkpod (http://www.gtkpod.org/) Listen (http://listengnome.free.fr/) minitunes (http://flavio.tordini.org/minitunes) Quod Libet (http://code.google.com/p/quodlibet/) Rhythmbox (http://www.gnome.org/projects/rhythmbox/) Forte Agent Fraps FreeRIP

Pan (http://pan.rebelbase.com/) recordMyDesktop (http://recordmydesktop.sourceforge.net/) Yukon (https://github.com/wereHamster/yukon/)

Grip (http://nostatic.org/grip/) KAudioCreator (https://www.kde.org/applications/multimedia/kaudiocreator/) ripperX (http://ripperx.sourceforge.net/) Rubyripper (http://wiki.hydrogenaudio.org/index.php? title=Rubyripper) Sound Juicer (http://www.burtonini.com/blog/computers/soundjuicer) FruityLoops Hydrogen (http://www.hydrogen-music.org/) Google Desktop Search Beagle (http://beagle-project.org/) Google Desktop (http://desktop.google.com/linux/index.html) Google Earth Earth 3D (http://www.earth3d.org/) Marble (http://edu.kde.org/marble/) Guitar Pro DGuitar (http://dguitar.sourceforge.net/) kguitar (http://sourceforge.net/projects/kguitar/) TuxGuitar (http://www.tuxguitar.com.ar/home.html) Legacy Family Tree GRAMPS (http://gramps-project.org/) LimeWire FrostWire (http://www.frostwire.com/) Meal Master Gourmet Recipe Manager (http://grecipemanager.sourceforge.net/) krecipe (http://krecipes.sourceforge.net/) Microsoft Access GNOME-DB (http://www.gnome-db.org/) Kexi (http://www.kexi-project.org/) knoda (http://www.knoda.org) Microsoft Excel Gnumeric (http://www.gnome.org/projects/gnumeric/) Calligra Sheets (http://www.calligra-suite.org/sheets/) Open Calc (http://www.openoffice.org/product/calc.html) Libre Office Calc (https://es.libreoffice.org/descubre/calc/) Microsoft HyperTerminal GtkTerm (http://freshmeat.net/projects/gtkterm/) minicom (http://alioth.debian.org/projects/minicom/) Microsoft Internet Explorer Chromium (http://www.chromium.org/Home) Epiphany (http://www.gnome.org/projects/epiphany/)

Firefox (http://www.mozilla.com/firefox/) Seamonkey (http://www.seamonkey-project.org/) Konqueror (http://www.konqueror.org/) Opera (http://www.opera.com/download/) Microsoft Money

Gnofin (http://gnofin.sourceforge.net/) GNUcash (http://www.gnucash.org/) Grisbi (http://www.grisbi.org/) HomeBank (http://homebank.free.fr/) KMyMoney (http://kmymoney2.sourceforge.net/) Skrooge (http://www.kde.org/applications/office/skrooge/) Microsoft Office GNOME Office (http://www.gnome.org/gnome-office/) Calligra (http://www.calligra-suite.org/) OpenOffice (http://www.openoffice.org/) LibreOffice (http://es.libreoffice.org/) Microsoft Outlook Evolution (http://www.gnome.org/projects/evolution/) Thunderbird (http://www.mozilla.com/thunderbird/) Claws Mail (http://www.claws-mail.org/) KMail (http://kontact.kde.org/kmail/) Sylpheed (http://sylpheed.sraoss.jp/en/) Microsoft Powerpoint Calligra Stage (http://www.calligra-suite.org/stage/) Open Office Impress (http://www.openoffice.org/product/impress.html) Libre Office Impress (https://es.libreoffice.org/descubre/impress/) Microsoft Project GanttProject (http://ganttproject.sourceforge.net/) Calligra Plan (http://www.calligra-suite.org/plan/) OpenProj (http://openproj.org/openproj) Planner (http://live.gnome.org/Planner) TaskJuggler (http://www.taskjuggler.org/) Microsoft Visio Dia (http://www.gnome.org/projects/dia/) Calligra Flow (http://www.calligra-suite.org/flow/) Libre Office Draw Microsoft Windows Media Center Boxee (http://www.boxee.tv/) Freevo (http://freevo.sourceforge.net/) LinuxMCE (http://www.linuxmce.com/) Moovida (http://www.moovida.com) MythTV (http://www.mythtv.org) XBMC Media Center (http://xbmc.org/) Microsoft Word AbiWord (http://www.abisource.com/) Calligra Words (http://www.calligra-suite.org/words/) Open Office Writer (http://www.openoffice.org/product/writer.html) Libre Office Writer (https://es.libreoffice.org/descubre/writer/) mIRC BitchX (http://www.bitchx.org/) ChatZilla! (http://chatzilla.hacksrus.com/) irssi (http://www.irssi.org/) Konversation (http://konversation.kde.org/)

KVIrc (http://www.kvirc.net/) Pidgin (http://pidgin.im) Xchat (http://www.xchat.org/) Empathy (https://live.gnome.org/Empathy) Mp3tag

MS Paint

Mudbox

Audio Tag Tool (http://pwp.netcabo.pt/paol/tagtool/) Cowbell (http://more-cowbell.org/) EasyTAG (http://easytag.sourceforge.net/) Kid3 (http://kid3.sourceforge.net/) Pinkytagger (http://pinkytagger.sourceforge.net/) KolourPaint (http://kolourpaint.sourceforge.net/) Pencil (http://www.pencil-animation.org/) Pinta (http://pinta-project.com/) TuxPaint (http://tuxpaint.org/)

SharpConstruct (http://sourceforge.net/projects/sharp3d/) Nero Burning Rom Brasero (http://perso.orange.fr/bonfire/index.htm) GnomeBaker (http://sourceforge.net/projects/gnomebaker/) Graveman! (http://graveman.tuxfamily.org/) K3b (http://www.kde.org/applications/multimedia/k3b/) X-CD-Roast (http://www.xcdroast.org/) NetMeeting Ekiga (http://www.ekiga.org/) NetStumbler Kismet (http://www.kismetwireless.net/) SWScanner (http://www.swscanner.org/) NewzCrawler Akregator (http://akregator.kde.org/) BasKet (http://basket.kde.org/) Blam (http://www.inhaltsangabe.info/rss-reader/blam/) Liferea (http://liferea.sourceforge.net/) RSSOwl (http://www.rssowl.org/) Straw (http://www.gnome.org/projects/straw/) Notepad gedit (http://www.gnome.org/projects/gedit/) jEdit (http://www.jedit.org/) Kate (http://kate-editor.org/) leafpad (http://tarot.freeshell.org/leafpad/) NEdit (http://www.nedit.org/) Scribes (http://scribes.sourceforge.net/) tpad (http://tclpad.sourceforge.net/) OrangeCD Catalog GWhere (http://www.gwhere.org) Origin SciGraphica (http://scigraphica.sourceforge.net/) Partition Magic GParted (http://gparted.sourceforge.net/) Palimpsest (http://library.gnome.org/users/palimpsest/) Partimage (http://www.partimage.org/Main_Page) QtParted (http://qtparted.sourceforge.net) PhotoME FotoTagger (http://sourceforge.net/projects/fototagger/) Picasa digiKam (http://www.digikam.org/) F-Spot (http://f-spot.org/Main_Page) flPhoto (http://www.easysw.com/~mike/flphoto/)

SoulSeek

gThumb (http://live.gnome.org/gthumb/) jBrout (http://jbrout.manatlan.com/) KPhotoAlbum (http://www.kphotoalbum.org/) Shotwell (http://www.yorba.org/shotwell/) Picasa (http://picasa.google.com/) Nicotine (http://nicotine.thegraveyard.org/) Nicotine-Plus (http://nicotine-plus.sourceforge.net/)

SoundForge Total Commander

Traktor DJ TweetDeck

uTorrent

Videora Winamp

ReZound (http://rezound.sourceforge.net/) GNOME Commander (http://www.nongnu.org/gcmd/) Krusader (http://krusader.sourceforge.net/) Midnight Commander (http://www.ibiblio.org/mc/) Tux Commander (http://tuxcmd.sourceforge.net/) xfe (http://roland65.free.fr/xfe/) Mixxx (http://mixxx.sourceforge.net/) terminatorX (http://www.terminatorx.org/) Choqok (http://choqok.gnufolks.org/) Gwibber (http://gwibber.com/) Pino (http://code.google.com/p/pino-twitter/) qBittorrent (http://qbittorrent.sourceforge.net/) Transmission (http://www.transmissionbt.com/) Deluge (http://deluge-torrent.org/) rTorrent (http://libtorrent.rakshasa.no/) Bittornado (http://www.bittornado.com/) Torrentflux (http://sourceforge.net/projects/tf-b4rt.berlios/) KTorrent (http://ktorrent.pwsp.net/) Vuze (http://www.vuze.com/) uTorrent (http://www.utorrent.com/downloads/linux) thin liquid film (http://thinliquidfilm.org/)

Amarok (http://amarok.kde.org/) Rythmbox (http://www.gnome.org/projects/rhythmbox/) Audacious (http://audacious-media-player.org/) Deadbeef (http://deadbeef.sourceforge.net/) Exaile (http://www.exaile.org/) Banshee (http://banshee-project.org/) BMP (http://sourceforge.net/projects/beepmp) Sonata (http://sourceforge.net/projects/sonata.berlios/) XMMS (http://www.xmms.org/) GMPC (http://gmpc.wikia.com/wiki/Gnome_Music_Player_Client) Windows Media Player Totem (http://www.gnome.org/projects/totem/) mplayer (http://www.mplayerhq.hu/design7/news.html) SMplayer (http://smplayer.sourceforge.net/) KMplayer (http://kmplayer.kde.org/) UMplayer (http://www.umplayer.com/) VLC Player (http://www.videolan.org/vlc/) Kaffeine (http://kaffeine.kde.org/) xine (http://xinehq.de/) Miro (http://www.getmiro.com/) Moovida Media Center (http://www.moovida.com/)

Windows Movie Maker Avidemux (http://fixounet.free.fr/avidemux/) cinefx (http://www.cinefx.org/) Cinelerra (http://cinelerra.org/1/) Kdenlive (http://kdenlive.sourceforge.net/) Kino (http://www.kinodv.org/) LiVES (http://lives.sourceforge.net/) Open Movie Editor (http://www.openmovieeditor.org/) OpenShot (http://www.openshotvideo.com/) PiTiVi (http://www.pitivi.org/wiki/Main_Page) VideoLAN Movie Creator (http://trac.videolan.org/vlmc/) WinIso KIso (http://kiso.sourceforge.net/) WinMerge KDiff3 (http://kdiff3.sourceforge.net/) Kile (http://kile.sourceforge.net/) Meld (http://meld.sourceforge.net/) xxdiff (http://furius.ca/xxdiff/) WinTV KWinTV (http://www.kwintv.org/) tvtime (http://tvtime.sourceforge.net/) xawtv (http://linux.bytesex.org/xawtv/) XdTV (http://xawdecode.sourceforge.net/) Zapping (http://zapping.sourceforge.net/Zapping/index.html) WS_FTP FireFTP (http://fireftp.mozdev.org/) gFTP (http://gftp.seul.org/) FileZilla (http://filezilla.sourceforge.net/) KFTP (http://www.kftp.org/) NCFTP (http://www.ncftp.com/ncftp/) LFTP (http://lftp.yar.ru/) ZoneAlarm Firestarter (http://www.fs-security.com/) Guarddog (http://www.simonzone.com/software/guarddog/) Zscreen Shutter (http://shutter-project.org/) Servidor SSH ################################################################### $> apt-get -y install ssh Habilitar el acceso de root $> vim /etc/ssh/sshd_config PermitRootLogin yes

modificar linea 28

$> service ssh restart Cliente SSH ####################################################################### $> ssh usuario@host (se conecta al servidor host con un usuario en un determinado puerto) $> ssh [email protected] (cuando no hay puerto por defecto es 22) * Si no se puede conectar como tuxito al servidor remoto ----------------------------------------------------------- La clave esta mal

-

No El El El

existe el usuario tuxito en el servidor remoto usuario tuxito está restringido a iniciar sesión servicio está caido firewall local no permite la conexión

Ahora conectarse como tuxito a su propio host $> ssh tuxito@vmX $> id Saber que sesiones de ssh estan abierta ---------------------------------------------------------Ver desde que Ip están abiertas las sesiones $> who Saber que procesos están ejecutando las sesiones abiertas $> w $> ssh 192.168.20.163 (cuando sno se especifica usuario intenta conectarse como el usuario actual) $> ssh -p 666 [email protected] (se conecta al servidor 192.168.20.163 como root en el puerto 666) Ejecucion Remota de un comando $> ssh usuario@host comando $> ssh [email protected] date (el date se ejecuta en el servidor remoto) $> ssh [email protected] poweroff (apaga el servidor remoto) Forwarding del modo gráfico ------------------------------------$> ssh -X 192.168.20.163 $> kate (editor de texto) SCP (Secure Copy) --------------------------------------------Sirve para copiar un archivo local a un servidor remoto o al reves $> scp arhivolocal usuario@host:rutadedestino Ej: archivo local a servidor remoto ----------------------------------------$> scp /etc/hosts [email protected]: (cuando no se pone la ruta de destino se copia en la carpeta de trabajo del usuario) $> scp /etc/hosts [email protected]:/root (equivalente al anterior) $> scp -r /etc 192.168.20.163:/tmp (copia el directorio /etc local al servidor remoto como el usuario actual) Ej: archivo remoto a ruta local ----------------------------------------$> scp [email protected]:/etc/hosts /tmp

(copia el /etc/hosts remoto a el /tmp local) $> scp -r 192.168.20.163:/etc /tmp (copia el directorio remoto al /tmp local

$> scp -P 666 192.168.20.163:.bash_history historial (copia el bash_history del usuario actual que esta en el servidor remoto; usando el puerto 666 en el directorio local actual y lo renombra como historial) CapÃtulo 5: Atributos especiales, permisos especiales, jobs, información del sistema, bash ############################################################################## ############################# Atributos Especiales (ext3, etx4): --------------------------------------$> su $> vim prueba hola mundo $> chattr +i prueba añade el bit de inmutabilidad, el archivo no puede ser modificado $> lsattr prueba lista los atributos de un archivo $> vim prueba hola mundo que tal ESC:wq! $> chattr -i prueba quita el bit de inmutabilidad $> vim prueba hola mundo que tal ESC:wq $> chattr +a prueba establece que el archivo solo se puede escribir añadiendo contenido $> echo "esto no funciona"> prueba $> echo "esto si funciona">> prueba $> cat prueba $> chattr -a prueba quita la opcion de solo añadir $> man chattr para ver lista de atributos Permisos Especiales: ---------------------------------------------------------SUID

--->

system UID, permite ejecutar un archivo con los permisos del uid asignado.

SGID

--->

Sticky --->

system GID, permite ejecutar un archivo con los permisos del gid asignado. bit de persistencia, solo el propietario del archivo puede borrar el archivo o directorio.

Nivel especial: (solo root puede asignar este bit) --------------0 ---> ningun permiso, valor por defecto 1 ---> sticky 2 ---> sgid 3 ---> sgid+sticky 4 ---> suid 5 ---> suid+sticky 6 ---> suid+sgid 7 ---> suid+sgid+sticky ejemplo de Sticky (Bloqueando borrado de archivos) ------------------------------------------------$> su $> mkdir /a $> chmod 1777 /a Dando permisos de sticky al directorio; solo root podra borrar los archivos del directorio; aunque estos tengan permisos totales $> echo "date" > /a/lahora $> chmod 777 /a/lahora le damos permisos totales al archivo lahora $> ls -ld /a se verifica el sticky del directorio $> su - tuxito Como tuxito intentar borrar lahora $> rm /a/lahora no puede borrar el archivo ya que el directorio con sticky protege a los archivos, solo root puede borrar Ejemplo de SUID (ejecutando un archivo como el dueño) ----------------------------------------------------$> su -

$> chmod 4755 /usr/bin/vim Asignando el SUID al editor de texto vim Loguearnos como usuario $> su - tuxito Editar archivo /etc/hosts, agregando al final, grabar con ESC:wq! $> vim /etc/hosts 149.56.218.201 mail.aulautil.com El usuario tuxito pudo grabar en el archivo /etc/hosts porque ejecuto vim como si fuera root $> su $> chmod 0755 /usr/bin/vim Reestablece los permisos originales y le quita el SUID Ejemplo de SGID (directorio de grupo) ------------------------------------------$> groupadd sistemas $> mkdir /sistemas $> chgrp sistemas /sistemas $> chmod 2770 /sistemas $> gpasswd -a tuxito sistemas $> gpasswd -a alumno sistemas $> su - tuxito $> touch /sistemas/unarchivo $> exit $> su - alumno $> touch /sistemas/otroarchivo $> exit $> su - root $> touch /sistemas/nuevoarchivo $> ls -l /sistemas ---> se observa que los archivos se crearon con grupo sistemas * NOTA Se recomienda usar una máscara 0007 para los usuarios del grupo o mìnimo una máscara 0002 Configuración de sudo (programa para ejecutar comandos como root) ------------------------------------------------------------------$> sudo apt-get install nmap (ejecutar como usuario tuxito) Para que un usuario pueda ejecutar sudo tiene que estar en el /etc/sudoers su usuario o un grupo y ser parte de el $> su $> vim /etc/sudoers

(archivo de configuracion de sudo)

#permiso por defecto para que root pueda ejecutar sudo 20: root ALL= (ALL:ALL) ALL #Habilita al grupo sudo ejecute todos los comandos con permisos de root 26: %sudo ALL= (ALL:ALL) ALL

#define el alias SERVICES para comandos de servicio 31: Cmnd_Alias SERVICES = /usr/sbin/service, /bin/systemctl #le da permiso al usuario tuxito para ejecutar comandos de servicio 32:alumno ALL=(ALL) SERVICES ESC:wq! Ejemplo: reiniciando la red como usuario alumno $> su - alumno $> sudo systemctl restart network-manager $> su Cambiando de grupo principal sudo al usuario alumno para que pueda ejecutar sudo $> usermod -g sudo alumno $> su - alumno $> sudo apt-get install nmap Ejecucion de tareas: ============================================================================== $> yes ejecuta proceso en primer plano ctrl+c cancela la ejecucion del comando $> yes >/dev/null & ejecuta el proceso en segundo plano, /dev/null es el agujero negro $> ps axf | grep yes muestra la ruta del comando ejecutado $> jobs lista los procesos ejecutados por el usuario $> fg 1 vuelve a primer plano el proceso 1 de la lista anterior ctrl + c -> interrumpe y cancela el proceso (trata de matar) $> yes > /dev/null ctrl + z ---> pone en stop el proceso (detenido, pero no muerto) $> fg 1 ctcl + c $> ps ax | grep yes $> kill -9 PID

( -9 maximo nivel de matanza )

$> nohup yes >/dev/null & permite ejecutar un proceso a nivel sistema de tal forma que el proceso no esta enlazado al tyy se sigue ejecutando cuando se cierra la session

Ejemplo: Nos conectamos a un servidor a traves de ssh --------$> ssh 200.53.97.85 $> nohup wget -c http://ubuntu.com/ubuntu.iso & se crea un archivo nohup.out donde se muestra el avance del wget $> exit aunque salga de la sesion el proceso se sigue ejecutando Informacion del sistema: -----------------------Información del Hardware ############################################## Ejecutar como tuxito $> sudo apt-get -y install lshw lshw-gtk $> sudo lshw | less $> sudo lshw-gtk Dar Refresh y doble click en los nodos para que muestre información Comandos con información especÃfica ####################################################### $> hostname muestra el nombre de la pc $> uptime tiempo total desde el ultimo arranque de la Pc $> uname -a muestra la version del kernel y la arquitectura del pc $> dmesg | less muestra los eventos log del kernel desde que se inicio la Pc $> free informacion de la ram disponible y usada $> fdisk -l muestra todas las particiones fisicas existentes (Tabla ms-dos) $> parted -l muestra todas las particiones fisicas existentes (Tabla GPT o ms-dos) $> df -h informacion de las particiones montadas y los espacios en disco usado $> du -sH /usr informacion del espacio en disco usado por /usr $> du -bh /usr | less informacion de los espacios en disco usado por /usr y subdirectorios

$> cat /proc/cpuinfo informacion del cpu $> cat /proc/meminfo informacion de la memoria Ram $> cat /proc/interrupts informacion de la IRQS $> lspci lista de todos los dispositivos PCI $> lspci | grep Ethernet lista las tarjetas de red Ethernet $> lspci | grep Network lista las tarjetas de red wireless $> lspci | grep VGA lsita las tarjetas de video $> lsusb lista los dispositivos usb $> lsmod lista los modulos del kernel incluidos drives que esten cargados activos en el sistema (si carga drivers de tarjeta aqui se carga y lista) $> who muestra los usuarios locales y remotos que tienen una sesion activa (muestra que usuarios estan en el sistema en el momento) $> w muestra los usuarios locales y remotos que tienen una sesion activa y que comandos estan ejecutando $> last muestra el historial de sesiones abiertas en el sistema $> ifconfig -a muestra informacion delas interfaces de redes rps,mascara,mac address muestra tarjeta de red y toda la informacion $> route -n muestra informacion de las pasarelas de red $> cat /etc/resolv.conf muestra informacion de los servidores DNS $> netstat -nltp muestra informacion de los puertos TCP abiertos $> netstat -nlup muestra los puertos UDP abiertos $> netstat -na

muestra todas las conexiones TCP,UDP,unix, activas $> netstat -r igual al comando route -n $> cat /etc/hosts lista los nombres de pcs asociados a su ips $> less /etc/services lista los puertos TCP y UDP y los nombres de servicios asociados a ellos $> mc (explorador de archivos de modo texto) Instalar mc en Fedora $> apt-get -y install mc $> mc $> mount Muestra los dispoditivos montados y sus opciones de montaje $> cat /etc/fstab Muestra la configuracion de los puntos de los montajes las particiones de disco

de

$> blkid /dev/sda1 Muestra el UUID de una partición; esa información puede ser usado en el fstab

Capitulo6: Bash Script ############################################################################## Ejecución de Scripts -------------------------------------------------$> vim /usr/bin/damelahora #!/bin/bash (define el interprete del script) echo "son las" date "+%H:%M" $> /usr/bin/damelahora (ejecuta el archivo si tiene permisos en ejecucion) $> chmod 755 /usr/bin/damelahora (agrega permisos de ejecucion al archivo) $> /usr/bin/damelahora (ejecuta el archvio, es necesario darle su ruta absoluta) $> damelahora (ejecuta un comando que se encuentra en algunos de los directorios de $PATH) $> echo $PATH (muestra el valor de la variable de entorno /bin:/sbin /usr/sbin:/usr/load/bin) Script en php $> vim /usr/bin/damelahora.php #!/usr/bin/env php