Вы находитесь на странице: 1из 29

INSTITUTO SUPERIOR TECNOLOGICO

IDAT

TOPICOS DE LINUX
SISTEMA OPERATIVO
(Operating System).

Sistema tipo software que controla la computadora administra los servicio y recursos de
hardware recursos funciones como así también la ejecución de otros programas compatibles
con éste.

Ejemplos de sistemas operativos: Windows, Unix, Linux, DOS, Mac OS, etc.

Un sistema operativo permite interactuar con el hardware de computadoras, teléfonos


celulares, PDAs, autoradios, reproductores de DVD, etc. y ejecutar programas compatibles en
éstos.

Permite controlar las asignaciones de memoria, ordenar las solicitudes al sistema, controlar los
dispositivos de entrada y salida, facilitar la conexión a redes y el manejo de archivos.

Sistema de computo

GNU/Linux
GNU/Linux es un poderoso sistema operativo cuyo nucleo Linux fue lanzado bajo la licencia
publica general (GPL) y desarrollado por las contribuciones provenientes de todo el mundo.

Linux fue creado por Linus Torvalds en 1991 siendo entonces un estudiante de la
Universidad de Helsinski, Finlandia. Muy pronto, la comunidad de Minix contribuyó en el
código y en ideas para el núcleo Linux. Por aquel entonces, el Proyecto GNU ya había
creado muchos de los componentes necesarios para obtener un sistema operativo libre, pero
su propio núcleo (GNU Hurd) era incompleto y por lo tanto no podían conseguir un sistema
libre totalmente funcional. Es por esto que a pesar de las funcionalidades limitadas de la
primera versión, rápidamente Linux fue acumulando desarrolladores y usuarios que
adoptaron el código de estos proyectos para usar con el nuevo sistema operativo. Hoy en día
el núcleo Linux ha recibido contribuciones de miles de programadores.

El usuario es libre de redistribuir y modificar de acuerdo a necesidades específicas,


siempre que se incluya el código fuente, como lo indica la Licencia Pública General
GNU (acrónimo de GNU is Not Unix), que es el modo que ha dispuesto la Free

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

Software Foundation (Fundación de Software Libre).

Esto también incluye el derecho a poder instalar el núcleo de GNU/Linux® en


cualquier número de ordenadores o equipos de cómputo que el usuario desee.

La GPL (acrónimo de General Public Licence, que se traduce como Licencia Pública
General), a la cual Linus Torvalds incorporó a Linux, está diseñada para asegurar que
el usuario tenga siempre la libertad de distribuir copias del software (y cobrar por el
servicio si así lo desea). La GPL tiene como objetivo garantizar al usuario la libertad de
compartir y cambiar programas libres; es decir, asegurarse de que el sustento lógico
siempre permanezca siendo libre para todos los usuarios.

GNU/Linux® es también la mejor alternativa de siglo XXI para los usuarios que no
solo desean libertad, sino que también requieren un sistema operativo estable,
robusto y confiable. Es un sistema operativo idóneo para utilizar en Redes, como es
el caso de servidores, estaciones de trabajo y también para computadoras personales.

Las características de GNU/Linux® le permiten desempeñar múltiples tareas en forma


simultánea de forma segura y confiable. Los distintos servicios se pueden
detener, iniciar o reiniciar independientemente sin afectar al resto del sistema,
permitiendo operar las 24 horas del día los 365 días del año.

Tal ha sido el impacto alcanzado por GNU/Linux® en los últimos años, que muchas de las
empresas de Software más importantes del mundo, entre las cuales están IBM,
Oracle y Sun Microsystems, han encontrado en GNU/Linux una plataforma con un
muy amplio mercado, y se han volcado al desarrollo de versiones para Linux de sus
más importantes aplicaciones. Grandes corporaciones, como Compaq, Dell, Hewlett
Packard, IBM y muchos más, llevan varios años distribuyendo equipos con
GNU/Linux® como sistema operativo.

Gracias a sus características, la constante evolución de los ambientes gráficos para X


Window®, que cada vez son de más fácil uso, como es el caso de GNOME y KDE,
al trabajo de cientos de programadores y usuarios fieles alrededor del mundo, Linux
ha dejado de ser un sistema operativo poco atractivo y complicado de utilizar, para
convertirse en una alternativa real para quienes buscan un sistema operativo
confiable y poderoso; ya sea para una servidor, estación de trabajo o la computadora
personal de un usuario intrépido.

CARACTERISTICAS DE LINUX
 Multitarea: La palabra multitarea describe la habilidad de ejecutar varios programas al
mismo tiempo.
 Multiusuario: Muchos usuarios usando la misma maquina al mismo tiempo.

 Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux son
386-, 486-. Pentium, Pentium Pro, Pentium II, Amiga y Atari, tambien existen versiones
para su utilizacion en otras plataformas, como Alpha, ARM, MIPS, PowerPC y SPARC.

 Multiprocesador: Soporte para sistemas con mas de un procesador esta disponible


para Intel y SPARC.
 Protección de la memoria entre procesos, de manera que uno de ellos no pueda colgar
el sistema.

 Carga de ejecutables por demanda: Linux sólo lee del disco aquellas partes de un
programa que están siendo usadas actualmente.

 Compatible con POSIX, System V y BSD a nivel fuente.

 Consolas virtuales múltiples

 Diversos protocolos de red incluidos en el kernel: TCP, IPv4, IPv6, AX.25, X.25, IPX.

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

 Todo el código fuente está disponible, incluyendo el núcleo completo y todos los
drivers, las herramientas de desarrollo y todos los programas de usuario

KERNEL GNU/LINUX
Linux es el núcleo o kernel del sistema operativo libre denominado GNU/Linux (también
llamado Linux), que brinda una alternativa frente a sistemas operativos no libres como Unix y
Windows.

Linux es un núcleo monolitico híbrido. A diferencia de los núcleos monolíticos tradicionales, los
controladores de dispositivos y las extensiones al sistema operativo se pueden cargar y
descargar fácilmente como módulos, mientras el sistema continúa funcionando sin
interrupciones. También, a diferencia de los núcleos monolíticos tradicionales, los
controladores pueden ser pre-volcados (detenidos momentáneamente por actividades más
importantes) bajo ciertas condiciones. Esta habilidad fue agregada para manejar correctamente
interrupciones de hardware, y para mejorar el soporte de Multiprocesamiento Simétrico.

Este núcleo, escrito casi completamente en C con algunas extensiones GNU C, fue
desarrollado por el hacker finlandés Linus Torvalds en un intento por obtener un sistema
operativo libre similar a Unix que funcionara con microprocesadores Intel 80386.

Dónde conseguir el núcleo de LINUX


Se puede bajar de un gran número de servidores en internet pero el sitio oficial es :

http://www.kernel.org/

El programa del kernel se encuentra en : /usr/src/ kernel-linux (donde se realiza la


compilación)

En nuestro sistema GNU/Linux el kernel en ejecucion, está normalmente en /boot y se llama


vmlinuz.

Estructura del sistema de archivos del sistema Linux


Todos los ficheros y directorios aparecen debajo del directorio raíz «/», aún si están
almacenados en dispositivos físicamente diferentes.

/ (directorio raiz)
/bin (contiene los comandos de los usuarios)
/boot (archivo de kernel,archivos de carga del sistema)
/dev (archivos de dispositivos)
/etc (archivos de configuración del sistema)
/home (donde se guardan todos los usuarios de sistema)
/lib (librerias compartidas para el sistema, modulos del kernel)
/mnt (montaje temporal de sistema de archivos)
/opt (directorio de aplicaciones opcionales)
/proc (contiene archivos de comunicación directa con el núcleo)
/root (directorio de root)
/sbin (comandos solo del root, procesos, demonios)
/tmp (directorio de archivos temporales utilizados por las aplicaciones)
/usr (aplicaciones para los usuarios)

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

/media (Puntos de montaje para dispositivos de medios como


unidades lectoras de discos compactos)
/var (archivo de tamaño extensible para datos variables)

/etc/init.d/
/usr/src/
/usr/share/
/var/log/
/var/lib/
/var/www/html/

DISTRIBUCION GNU/LINUX CENTOS


CentOS (Community ENTerprise Operating System) es un clon a nivel binario de la
distribución Linux Red Hat Enterprise Linux RHEL, compilado por voluntarios a
partir del código fuente liberado por Red Hat.

Actualmente, se tiene la versión CentOS 5.4

COMANDOS LINUX/UNIX

uname
Comando que me muestra la información del sistema Operativo. Se usa de la siguiente
manera:

#uname -a
Linux lanux 2.6.8-2-386 #1 Thu May 19 17:40:50 JST 2005 i686 GNU/Linux

#uname -r

hostname
Comando que me entrega el nombre de la maquina y su dominio. Se usa de la siguiente
manera

# hostname

# hostname pcuninet Cambio el nombre del host por el de pcuninet

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

Apagar el Sistema

Para apagar el sistema se usan las siguientes instrucciones


# halt

Reiniciar el Sistema

Para reiniciar el sistema usaremos los siguientes comandos:


# reboot

date : Este comandos nos permite saber la hora y el dia, tomando como referencia el reloj del
sistema.

# date
sáb oct 21 05:53:19 PET 2006

Cambio de fecha y hora

#date –s “YYYY-MM-DD hh:mm:ss”

# date –s "2009-05-26 08:38:15"

clear : Borra todo el contenido de la pantalla.

# clear
tambien teclear : Ctrl + L

history : Historial. Comando que permite ver en lista todos los comandos que hemos utilizado
hasta el momento.

# history

Midnight Commander
# mc navegador de archivos modo consola

#yum install –y mc

COLORES DE LOS FICHEROS Y SU SIGNIFICADO:


Ejemplos: Azul : directorio
Blanco : archivo
Verde : ejecutable
Celeste : enlace
Rojo : archivos comprimidos
violeta : erchivo de audio o video
Amarillo : driver de dispositivos

LISTAR ARCHIVOS Y DIRECTORIOS


ls : El comando que se utiliza en Unix, y por lo tanto en Linux para
mostrar los ficheros
#ls
Opciones

# ls -l
Permite ver los archivos y directorios en lista, informandonos sobre

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

sus permisos,dueños de los archivos, tamaño, fecha y hora de creacion y su nombre


respectivo.

Atributos :
r : read
w : write
x : execute
-rwx rwx rwx usuario grupo tamaño fecha hora archivo
| | |
| | Permisos para todos los demas
| Permisos del Grupo
Permisos del Usuario

# ls - a
Permite ver los archivos y carpetas ocultas que contiene el directorio
actual.

#lspci --------------- Ver dispositivos conectados a la placa madre mediante un bus PCI.
#lsusb --------------- Ver los buses USB y los dispositivos conectados a los mismos.
#lsmod -------------- Ver los módulos del kernel

TAMAÑO DE ARCHIVO , DIRECTORIO

du :
Comando que permite conocer el tamaño de un directorio y sus respectiva jerarquia de
directorios

# du -sh /ruta/ Visualiza el tamaño total de la carpeta actual

ENLACE SIMBOLICO

ln : Este comando sirve para establecer enlaces entre archivos. Un enlace puede ser
rígido o simbólico, el primer tipo es simplemente una forma de dar otro nombre a un archivo. El
segundo tipo es parecido al primero, pero se pueden enlazar directorios, y además de
diferentes sistemas de archivos.

# ln -s /ruta1 /archivo /ruta2/enlace (crean enlace simbólico)

EL EDITOR vi

Vi es un editor de texto que fue creado para sistemas UNIX y que posteriormente se implantó
en sistemas GNU/Linux.

Vi fue escrito originalmente en la Universidad de California en Berkeley por William Joy en


1976.

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

El editor vi es el editor estándar de Unix y de Linux. Es orientado a comandos. Existe una


versión conocida como vim (Vi IMproved) muy poderosa que permite la edición de múltiples
ficheros, highlighting para varios lenguajes de programación, ayuda en línea, selección visual,
varios niveles de undo, etc.
Para algunos usuarios, vi resulta incómodo pues para utilizar todas sus potencialidades es
necesario conocer muchas combinaciones de teclas, pero si se llega a dominar resulta muy
funcional.
vi puede encontrarse en dos estados o modos:
• En el modo de edición, vi está esperando que escribas el texto del fichero (por tanto,
interpreta lo que escribas como texto).
• En el modo de comandos, vi está esperando que le des alguna orden (por tanto,
interpreta lo que escribas como órdenes).

Cuando entras en vi, está en modo de comandos. Para pasar al modo de edición puedes
pulsar i (insertar) . Para pasar al modo de comandos, puedes pulsar [ esc ] o [esc ] + [:]

Comandos Básicos
Comando descripción :

i insertar
u deshacer la última edición
dd borra la línea completa
:q salir
:q! forzar salir
:w guardar
:w! forzar guardar
:wq guardar y salir
:x guardar y salir
: %s/cadena/reemplazo Reemplazar una cadena
/palabra Busca palabra hacia abajo del texto ( tecla [n] continua la
busqueda)
set nu (añade numeración de cada línea)
set nu! (quita numeración)

También para visualizar documentos tenemos:

less (muestra un archivo en la pantalla pagina por pagina)

#less archivo

Cat (muestra un archivo en la pantalla)

#cat archivo

#cat /proc/meminfo
#cat /proc/cpuinfo
#cat /proc/interrupts

tail (visualiza las ultimas lineas)

#tail -f archivo

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

grep
Permite la búsqueda de una cadena dentro de un archivo, mostrando la línea donde se ubica la
cadena.

#grep nameserver /etc/resolv.conf

Ejemplo :
Mostrar por pantalla las líneas que contienen comentario en el archivo /boot/grub/menú.lst

#grep “#” /boot/grub/menú.lst

Mostrar por pantalla las líneas que no tienen comentario


#grep -v “#” /boot/grub/menú.lst

Alias

Editar el .basrch

INSTALACION DE PAQUTE RPM

Instalacion de paquete
#rpm –Uvh paquete

Desintalar paquete rpm


#rpm –e paquete

Verificar paquete rpm instalado en el sistema linux


#rpm –q paquete

INSTALAR rpmforge

#rpm -Uvh rpmforge-xxxx.rpm

USO DE YUM: instalar y desinstalar paquetería y actualizar sistema

Instalación de paquetes
Instalación de paquetería con resolución automática de dependencias:

yum install cualquier-paquete

Ejemplo:
#yum install httpd

Desinstalación de paquetes
Desinstalación de paquetes junto con todo aquello que dependa de los mismos:

yum remove cualquier-paquete

Ejemplo:
#yum remove httpd

Listado de paquetes de paquetes disponibles

Lo siguiente listará todos los paquetes disponibles en la base de datos yum y


que pueden instalarse:

yum list available | less

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

Listado de paquetes de paquetes instalados


Lo siguiente listará todos los paquetes instalados en el sistema:

#yum list installed |less

WGET
Wget es una herramienta infaltable, su objetivo es hacer downloads (descargas) de una
manera confiable, sin que nos tengamos que preocupar por si se trata de un archivo que esta
en un web (HTTP) o en un site ftp, ni si la conexión es lenta o si se corta.

#wget http://ejemplo.com/programa.tar.gz

Cuando se rompe la conexion usar la opcion –c


#wget -c http://ejemplo.com/programa.tar.gz

COMANDOS PARA EMPAQUETAR Y COMPRIMIR FICHEROS


Comando tar

El comando tar es utilizado normalmente para empaquetar o desempaquetar ficheros,


empaquetar significa guardar en un único fichero una lista de varios ficheros, o el contenido de
todo un directorio (o varios directorios).

El formato del comando tar es:


#tar [opciones] [fichero1] [fichero2] ... [ficheroN]
Donde es la lista de opciones y hasta es la lista de ficheros a añadir o extraer del archivo.

En las opciones de tar hay algunas que son importantes para su uso :

v : Modo verbose, quiere decir que mostrará por pantalla las operaciones que va realizando
f: referido a archivo
c: Crea un nuevo archivo tar.
x: Extrae los archivos tar
z: Compresión *.gz.
j: Compresion *.bz2.

t: Nos muestra el contenido del archivo tar.


p: Mantiene los permisos originales de los archivos.

COMPRIMIR Y DESCOMPRIMIR (archivos tar)

#tar -zcvf archivo.tar.gz carpeta/* (empaqueta y comprime )


#tar - jcvf archivo.tar.bz2 carpeta /* (empaqueta y comprime en .bz2 )

#tar - zxvf archivo.tar.gz (descomprime y desempaqueta archivo.tar.gz )


#tar - jxvf archivo.tar.bz2 (descomprime y desempaqueta archivo.tar.bz2 )

ADMINISTRACION DE DISPOSITIVOS DE ALMACENAMIENTO

fdisk

En Linux el particionador estándar es el fdisk. Este posee una interfaz texto que permite crear,
modificar y borrar particiones de diversos tipos (Linux, FAT12/16 / 3 2, NTFS, minix, Linux
Swap, HPFS, Novell, etc). Funciona en modo interactivo y para ejecutarlo se le pasa como
argumento el disco duro a particionar a través del dispositivo correspondiente.

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

# fdisk –l listar particiones

Disco /dev/hda: 80.0 GB, 80026361856 bytes


255 heads, 63 sectors/track, 9729 cylinders
Unidades = cilindros de 16065 * 512 = 8225280 bytes

Disposit. Inicio Comienzo Fin Bloques Id Sistema


/dev/hda1 1 729 5855661 b W95 FAT32
/dev/hda2 730 851 979965 82 Linux swap / Solaris
/dev/hda3 852 8875 64452780 5 Extendida
/dev/hda4 * 8876 9729 6859755 83 Linux
/dev/hda5 852 5714 39062016 83 Linux
/dev/hda6 5715 7902 17575078+ 83 Linux
/dev/hda7 7903 8875 7815591 83 Linux

df
Este se emplea para conocer información acerca de las particiones y dispositivos montados
actualmente en el sistema. Para cada dispositivo se muestra por defecto su tamaño, el espacio
empleado, que porciento significa este, así como el directorio donde se ha montado.

# df - h Ver particiones montadas actualmente en Mb y Gb.

Filesystem Size Used Avail Use% Mounted on


/dev /h d a11 3.9G 2.0G 1.7G 53% /
/dev /h d a8 9.2G 7.5G 1.2G 86% /home
/dev /h d a7 17G 17G 410M 98% /win

dmesg

Muestra los mensajes del kernel durante el inicio del sistema

#dmesg

free
Nos muestra la memoria libre

#free

MONTAJE Y DESMONTAJE DE DISPOSITIVOS

mount y umount
Para montar y desmontar los dispositivos se emplean los comandos mount y
umount respectivamente. Estos mantienen una lista de los dispositivos montados
en el fichero /etc/mtab .

Estos comandos se usan de la siguiente manera:

MONTAJE

# mount /dev/cdrom /mnt/cdrom montar CD- Rom


# mount /dev/cdrom /mnt/dvd/ montar DVD
# mount /dev/cdrom /media/ montar DVD

Montar particion windows de disco duro


#mkdir /mnt/windows
# mount /dev/hda1 /mnt/window

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

Montar un DISPOSITIVO USB


#mkdir /mnt/usb
#mount /dev/sda /mnt/usb (si falla probar sda1 o sda2)

DESMONTAJE

Obs: Antes de retirar un dispositivo montado hay que desmontarlo.


# umount /mnt/cdrom desmontar CD- Rom
# umount /mnt /windows desmontar particion hda1 de disco duro
#umount /mnt/usb
# umount - a desmontar todas las particiones

MODULOS
Módulo se refiere a un controlador de un dispositivos o servicio que puede cargarse o
descargarse cuando el usuario o algún dispositivo lo solicita y estan preparados para cargarse
o descargarse dinamicamente en el kernel.
En linux se encuentran en /lib/modules/X.Y.Z/...../ *.o

Para trabajar con módulos se dispone de las siguientes utilidades del sistema:

#lsmod: Lista los modulos cargados.

#insmod: Instala en el núcleo un módulo.


#rmmod: Extrae del núcleo un módulo, que no esta siendo usado
#modinfo: Muestra información sobre el módulo.
#modprobe: Automatiza/facilita la gestión de módulos.
#depmod: Determina las dependencias entre módulos.

Los módulos que el núcleo puede cargar suelen residir en el directorio

/lib/modules/[uname -r]/.

Ejemplo:

#rmmod floppy

#lsmod

Ir a la ruta del modulo respectivo


#insmod floppy.ko

Instalar modulo para soporte VLAN en Linux


#modprobe 8021q

#rmmod 8021q

PROCESOS
Es un programa en ejecucion
• Los procesos existen en una jerarquía de árbol (varios Hijos, un sólo padre).
• El sistema asigna un identificador de proceso (PID) único al iniciar el proceso.

Ejecución en 1er plano:


proceso iniciado por el usuario o interactivo.

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

Ejecución en 2o plano:
proceso no interactivo que no necesita ser iniciado por el usuario.

Demonio:
proceso en 2o plano siempre disponible, que da servicio a varias tareas (debe ser
propiedad del usuario root).

¿Como vemos los procesos que estan corriendo?

#ps -A
PID: identificador de proceso
PROCESOS EN EL SISTEMA

Proceso es un programa en ejecución.


Proceso padre ==> init PID=1

PID: Identificador de proceso

# ps - A (muestra todos los procesos que están corriendo en el sistema)


PID TTY TIME CMD
1 ? 00:00:00 init
2 ? 00:00:00 ksoftirqd/0
3 ? 00:00:00 events/0
4 ? 00:00:00 khelper
5 ? 00:00:00 kacpid
37 ? 00:00:01 kblockd/0

#ps aux
#kill -9 PID

Ejemplo

#kill -9 200
#killall nombre_ proceso
#killall xmms

#pstree

#pstree -au (Muestra una jerarquizacion en forma de arbol de los procesos presentes en el
sistema)

Informacion del Sistema en tiempo real


#top

# Ctrl + c (termina el proceso por completo)

# Ctrl + z (pone en pausa un proceso que corre en primer plano)

#jobs
Muestra los procesos que están en segundo plano

ENTRADA Y SALIDA STANDAR EN LINUX

entrada: teclado
salida : pantalla

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

REDIRECCION EN LINUX : ( > < )

#comando > archivo.txt


añadir
#echo “hola” >>archivo.text

Ejemplo
#echo > etc/resolv.conf

#echo nameserver ipDNS >> /etc/resolv.conf

El subdirectorio /dev/null es como un “agujero negro”. Esto es así, puesto que cualquier dato
que se almacena aquí, desaparece. Es muy útil para redireccionar los errores

TUBERIAS
Una tubería hace que la salida de un programa sea la entrada de otro.

#dmesg | grep hd

#cat /etc/passwd | sort | more


(cat muestra el archivo, sort ordena alfabeticamente esta salida y more lo muestra pantalla por
pantalla

CREAR USUARIOS

useradd

Con este comando podremos agregar usuarios al sistema (Tendremos que ser root). Este
comando se usa de la siguiente manera:

Algunas opciones
-d : especifica el directorio home de trabajo
-s : permite establecer el shell

# useradd usuario

Ejemplo de aplicación:

#useradd luis

Nota1 : Tambien se puede usar adduser (En Debian es mas conveniente)

Nota2.- Luego se creara una carpeta para cada usuario creado en /home

# ls /home

Nota3.-
/etc/passwd : guarda información de los usuarios del sistema como nombre, directorio home y
shell

# vi /etc/passwd
Nota4 .-

/etc/shadow : Contiene las contraseñas cifradas de los usuarios

#vi /etc/shadow

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

CREAR GRUPOS
Groupadd (En centos )
De manera análoga a los usuarios operariamos con los grupos.

Nota .- El archivo de grupos /etc /group indica los grupos creados y sus respectivos usuario.

#vi /etc/group

# groupadd contabilidad

# groupadd administracion

BORRAR GRUPO

#groupdel finanzas ( elimina el grupo finanzas )

ADICIONAR USUARIO A GRUPO

# gpasswd -a usuario grupo (incluir a usuario en grupo)

PERTENENCIA Y ATRIBUTOS DE UNA FICHERO O DIRECTORIO

CAMBIO DE ATRIBUTOS DE UN FICHERO:

Nota ::

1.- En general un archivo le pertenece a:


un : usuario ( u) , a un grupo ( g ) o a los otros ( o ).

2.- Para cada uno de ellos el archivo tendra permisos o atributos ya sea de :
lectura ( r ) , escritura ( w ) de ejecuble ( x )

Permiso Archivo
Lectura Ver el contenido del
archivo.
Escritura Modificar o eliminar el
archivo.
Ejecución Ejecutar el archivo.

# ls -l

- rw- r- x r w – 1 root root 27132 2006-08-02 13:10 datos.txt


permisos | |
| grupo al que pertenece el fichero
| usuario al que pertenece el fichero

Tipo de archivo :

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

d : directorio
- : fichero normal
l : enlace simbolico
s : socket

Nota.-
u : usuario g : grupo o : otros

Atributos :
r : read
w : write
x : execute

- rwx rwx rwx usuario grupo tamaño fecha hora archivo


| | |
| | Permisos para todos los demas
| Permisos del Grupo
Permisos del Usuario

chmod :
El comando chmod permite cambiar los permisos de tus carpetas y ficheros en el servidor.

#chmod +x archivo (damos atributo de ejecutable)

#chmod +wr archivo (damos atributo de lectura y escritura para usuario root)

#chmod u+rwx archivo

#chmod g+rx-w archivo

#chmod o+r-wr archivo

# chmod a+r archivo da permiso de lectura a todos los usuarios

# chmod - R a+x / home

Este comando le da los permisos de ejecutable a todos los usuarios sobre el


contenido de home; si tuviera carpetas y subcarpetas, también le daría a todos los
ficheros los mismos permisos.

Nomenclatura equivalente
OBS: Notacion equivalente de los permisos

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

Vemos a continuación su equivalente en letras:


0 = --- = sin acceso
1 = --x = ejecución
2 = -w- = escritura
3 = -wx = escritura y ejecución
4 = r-- = lectura
5 = r-x = lectura y ejecución
6 = rw- = lectura y escritura
7 = rwx = lectura, escritura y ejecución

rw- r- x --x
110 101 0 01
6 5 1

# chmod 777 archivo

# chmod 600 archivo

# chmod 666 archivo

# chmod 777 -R /carpeta

chown

Gracias a esta orden nos es permisible cambiar la propiedad del archivo, es decir 'entregar' un
archivo de nuestra propiedad a otra persona, con lo cual esta ultima persona será el nuevo
propietario de dicho fichero.

Es importante saber que la propiedad de cualquier fichero solo puede cambiarla el root o
superusuario del sistema.

Podemos utilizar esta orden de la siguiente forma:

# chown new_usuario : new_grupo archivo (cambiar archivo de dueño)

Un ejemplo seria:

# chown invitado :invitado /root /datos/foro.jpg

#chown - R root:root /home cambiar a usuario root todo el contenido de /home

#chown -R usuario:usuario /var/www/web

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

NETWORKING EN LINUX

CONFIGURACION DE RED

#vi /etc/sysconfig/network

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=centux

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

Tambien

#vi /etc/sysconfig/networking/devices/ifcfg-eth0

DEVICE=eth0
BROADCAST=10.255.255.255
HWADDR=00:0c:6e:1d:8b:a8
IPADDR=10.0.1.16
NETMASK=255.0.0.0
NETWORK=10.0.0.0
ONBOOT=yes
GATEWAY=10.0.1.1
TYPE=Ethernet
BROADCAST=10.255.255.255
NETWORK=10.0.0.0

CAMBIAR IP

MODO1

#vi /etc/sysconfig/network-scripts/ifcfg-eth0
#vi /etc/sysconfig/networking/devices/ifcfg-eth0

cabiar IP

#/etc/init.d/network restart

#ifconfig

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

MODO2

Usando una interfaz grafica en modo texto

#setup

Authentication configuration
Firewall configuration
Keyboard configuration
Network configuration
System services
Timezone configuration
X configuration

PROTOCOLOS TCP / IP
Familia de Protocolos TCP/IP

La familia de protocolos de Internet es un conjunto de protocolos de red en la que se basa


Internet y que permiten la transmisión de datos entre redes de computadoras. En ocasiones se
le denomina conjunto de protocolos TCP/IP, en referencia a los dos protocolos más
importantes que la componen: Protocolo de Control de Transmisión (TCP) y Protocolo de
Internet (IP), que fueron los dos primeros en definirse, y que son los más utilizados de la
familia. Existen tantos protocolos en este conjunto que llegan a ser más de 100 diferentes,
entre ellos se encuentra el popular HTTP (HyperText Transfer Protocol), que es el que se utiliza
para acceder a las páginas web, además de otros como el ARP (Address Resolution Protocol)
para la resolución de direcciones, el FTP (File Transfer Protocol) para transferencia de
archivos, y el SMTP (Simple Mail Transfer Protocol) y el POP (Post Office Protocol) para correo
electrónico, TELNET para acceder a equipos remotos, entre otros.

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

SERVICIOS EN LINUX :
#ls /etc/init.d/

acpid halt netfs rpcidmapd


anacron hidd netplugd rpcsvcgssd
apmd httpd network saslauthd
atd ibmasm NetworkManager setroubleshoot
auditd ip6tables NetworkManager Dispatcher single
autofs ipmi nfs smartd
avahi-daemon iptables nfslock smb
avahi-dnsconfd irda nscd sshd
bluetooth irqbalance ntpd syslog
conman kdump oddjobd vncserver
cpuspeed killall pand vsftpd
crond krb524 pcscd wdaemon
cups kudzu portmap winbind
cups-config-daemon lvm2-monitor postfix wpa_supplicant
dhcdbd mcstrans psacct xfs
dund messagebus rdisc xinetd
firstboot microcode_ctl readahead_early ypbind
functions multipathd readahead_later yum-updatesd
gpm named restorecond
haldaemon netconsole rpcgssd

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

Comando de gestión de servicios


#ntsysv

El comando chkconfig
También puede usarse para activar o desactivar servicios

#chkconfig <servicio> on
#chkconfig <servicio> off

El comando service
#service <servicio> start
#service <servicio> restart
#service <servicio> stop

#service <servicio> reload


#service <servicio> status

Tambien :
# /etc/init.d/<servicio> { start,restart,stop}

Escaneardor de puertos
NMAP

Nmap es un programa de código abierto que sirve para efectuar rastreo de puertos TCP y
UDP. Se usa para evaluar la seguridad de sistemas informáticos, así como para descubrir
servicios o servidores en una red informática.

#nmap <IP-destino>

# nmap localhost

#nmap 192.168.2.45

NETSTAT
Netstat (network statistics) es una herramienta de línea de comandos que muestra un listado
de las conexiones activas de un ordenador, tanto entrantes como salientes. Existen versiones
de este comando en varios sistemas, como Unix/Linux, Mac OS X, y Windows.

La información que resulta del uso del comando incluye el protocolo en uso, las direcciones IP
tanto locales como remotas, los puertos locales y remotos utilizados y el estado de la conexión.

Opciones
-r, --route Muestra la tabla de enrutamiento.
-s, --statistics Muestra estadísticas de red (como SNMP)
-i, --interfaces Muestra la tabla de interfaces
-n, --numeric No resuelve nombres en general
-a, --all, --listening Muestra todos los sockets (por defecto únicamente los que están en modo
conectado)

#netstat -r

#netstat -an

#netstat -tapu (t=TCP u=UDP)


#netstat -tapun (t=TCP u=UDP n=numero de puerto)

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

SERVIDOR SSH

SSH (Secure SHell) -intérprete de comandos seguro- es el nombre de un protocolo y del


programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red.
Permite manejar por completo la computadora mediante un intérprete de comandos,

SSH trabaja de forma similar a como se hace con telnet La diferencia principal es que SSH usa
técnicas de cifrado que hacen que la información que viaja por el medio de comunicación vaya
de manera no legible y ninguna tercera persona pueda descubrir el usuario y contraseña de la
conexión ni lo que se escribe durante toda la sesión

SFTP (SSH File Transfer Protocol) es un protocolo que provee funcionalidad de


transferencia y manipulación de ficheros a través de un flujo confiable de datos.
Comúnmente se utiliza con SSH para proveer a éste de transferencia segura de ficheros.

SCP (Secure Copy, o Copia Segura) es una protcolo seguro para transferir
ficheros entre un anfitrión local y otro remoto, a través de SSH. Básicamente, es
idéntico a RCP (Remote Copy, o Copia Remota), con la diferencia de que los datos
son cifrados durante la transferencia para evitar la extracción potencial de información a
través de programas de captura de las tramas de red (packet sniffers). SCP solo
implementa la transferencia de ficheros, pues la autenticación requerida es realizada a
través de SSH.

OpenSSH.

OpenSSH (Open Secure Shell) es una alternativa de código abierto, con licencia BSD,
hacia la implementación propietaria y de código cerrado SSH creada por Tatu Ylönen.
OpenSSH es un proyecto creado por el equipo de desarrollo de OpenBSD y actualmente
dirigido por Theo de Raadt. Se considera es más segura que su contraparte propietaria
debido a la constante auditoría que se realiza sobre el código fuente por parte de una gran
comunidad de desarrolladores, una ventaja que brinda al tratarse de un proyecto de fuente
abierta.

OpenSSH incluye servicio y clientes para los protocolos SSH, SFTP y SCP.

URL: http://www.openssh.org/.

#yum install openssh

Se usa por defecto el puerto 22


Verificamos el puerto

#nmap localhost

# netstat -an

Ficheros de configuración.

# vi /etc/ssh/sshd_config

#service sshd start

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

Acceso a través de intérprete de mandatos.

Para acceder a través de intérprete de mandatos hacia el servidor, basta con ejecutar
desde el sistema cliente el mandato ssh definiendo el usuario a utilizar y el servidor al cual
conectar:

#ssh usuario@servidor

#ssh juan@192.168.0.45 acceso como usuário juan


#ssh 192.168.0.46 acceso como usuário root

NOTA1

Para acceder a través de SFTP hacia el servidor, basta con ejecutar desde el sistema
cliente el mandato sftp definiendo el usuario a utilizar y el servidor al cual conectar:

#sftp usuario@servidor

NOTA2
Transferencia de ficheros a través de SCP.

Para realizar transferencias de ficheros a través de SCP, es necesario conocer las


rutas de los directorios objetivo del anfitrión remoto.

En el siguiente ejemplo, se transferirá el fichero algo.txt, preservando tiempos y modos,


hacia el directorio de inicio del usuario fulano en el servidor 192.169.0.99.

#scp algo.txt usuario@192.168.0.99:/ruta/

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

DISTRIBUCION LINUX DEBIAN

Debian es un sistema operativo (S.O.) libre, para su computadora. El sistema operativo es el


conjunto de programas básicos y utilidades que hacen que funcione su computadora. Debian
utiliza el núcleo Linux (el corazón del sistema operativo), pero la mayor parte de las
herramientas básicas vienen del Proyecto GNU; de ahí el nombre GNU/Linux.

Debian GNU/Linux ofrece más que un S.O. puro; viene con 25113 paquetes, programas
precompilados distribuidos en un formato que hace más fácil la instalación en su computadora.

La última versión estable de Debian es la 5.0. La última actualización de esta versión se publicó
el 27 de junio de 2009

Se usa aptitude para la instalación de paquetes Debian

#aptitude install vim

#vi .bashrc (Activar colores de directorios)

#vi /etc/vim/vimrc (Activar colores de contenido de archivos)

Configuración de parámetros de red

#vi /etc/network/interfaces

IP Estatico
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# The loopback network interface


auto lo
iface lo inet loopback

# The primary network interface


allow-hotplug eth0
iface eth0 inet static
address 192.168.0.25
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

IP Dinamico
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# The loopback network interface


auto lo
iface lo inet loopback

# The primary network interface


allow-hotplug eth0
iface eth0 inet dhcp

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

#ifdown eth0

#ifup eth0

#ifconfig (muestra parámetros de red)

Configuracion DNS
#vi /etc/resolv.conf
nameserver 200.48.225.130

Archivo de direcciones de repositorios)

#vi /etc/apt/sources.list

Actualizar lista de descarga


#aptitude update

Instalación de Paquetes en Debian


#aptitude install paquete
#aptitude -y install paquete (-y evita la confirmacion)

Remover paquete
#aptitude remove paquete
#aptitude remove -purge paquete

Busqueda de un paquete
#aptitude search paquete (muestra lista) (paquete instalado (i) )

#aptitude search paquete | grep paquete (búsqueda mas selectiva)

Mostrar detalles de información de paquete


#aptitude show paquete
(además muestra si esta o no instalado)

Instalacion del scaneador de puertos NMAP


#aptitude install nmap

Instalación del servidor SSH


#aptitude install ssh

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

Navegador web modo consola


#aptitude install lynx

#aptitude install dselect

#aptitude install sysvbanner


#banner HOLA

INSTALACION DE INTERFAZ GRAFICA

Instalación del SERVIDOR X


#aptitude install x-window-system

Instalación del administrador de ventanas


#aptitude install twm

Instalación de la interfaz grafica de usuario


#aptitude install wmaker
#aptitude install icewm

#startx /usr/bin/icewm --:1

OPCIONAL GNOME
#aptitude install gdm
#aptitude install gnome

Navegador Web
#aptitude install iceweasel

Reproductor de sonido
#aptitude install mp3blaster

Monitoreo de Red
#aptitude install etherape

Analizador de RED
#aptitude install wireshark

# aptitude install bb

Gestor Grafico de descarga


#aptitude install synaptic

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

xxxxxxxxxxxxxxxxxxxxxxxxxxxx
Script de debian
xxxxxxxxxxxxxxxxxxxxxxxxxxxx
aptitude -y install vim
cd /etc/vim/
sed -i '22 s/"//g' vimrc

cd
sed -i '7 s/#//g' .bashrc
sed -i '8 s/#//g' .bashrc
sed -i '9 s/#//g' .bashrc

aptitude -y install nmap


aptitude -y install ssh
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

NOTA:
Al instalar en entorno grafico, deseamos configurar para q debian inicie en modo texto y
el modo grafico con startx

#vi inittab

id:2:initdefault:

En debian los niveles X de inicio /etc/rcX.d/


X=0 halt
X=1 modo simple
X=2-5 multiusuario inicia en modo grafico por defecto
X=6 reboot

Configuraremos para X=3 se inicie en modo texto

#cd /etc/rc3.d/
#ls –l
#mv S30gdm K30gdm (S:start K:kill)

NOTA:

Revisar
#ls /var/cache/apt/archives/

Alli se encuentran los paquetes *.deb que se van instalando al sistema

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

COMANDO: SED

Insertando texto
Ejemplo: insertar alias vi=”vim” en la línea 8 en el archivo .bashrc

#sed -i '8i\alias vi="vim" ' .bashrc (hace desplazar)


#sed -i '8c\alias vi="vim" ' .bashrc (chanca)

Reemplazar cadena
Ejemplo : sustituir la cadena1 por la cadena2 dentro del fichero

#sed -i 's/cadena1/cadena2/g ' fichero (sustituye la primera q aparece)


#sed -i 's/cadena1/cadena2/g ' fichero (sustituye todas las cadenas q encuentre)
#sed -i '5 s/cadena1/cadena2/g ' fichero (sustituye la cadena en una línea 5
determinada)

Borrar líneas
#sed 'nd ' fichero (n=numero de linea)

Ejemplo:
#sed '5d' fichero (borra la línea 5)
#sed '3,5,d' fichero (borra el intervalo desde 3 a 5)
#sed '7,$,d' fichero (borra a partir de la línea hacia adelante)

SHELL SCRIPTS

SHELL:
Es un intérprete de comandos.

La Shell permite al usuario interactuar con el Kernel a través de la interpretación de los


comandos que el usuario ingresa en la línea de comandos ( ó a través de los "scripts", archivos
que ejecutan un conjunto de comandos).

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

Shell instalados en el sistema


#cat /etc/shells

Para saber que Shell estamos usando :


#echo $SHELL
/bin/bash

En la mayoría de los sistemas Linux, viene por defecto la shell bash (Bourne-Again-shell, en
referencia al inventor de la primera Shell). Esta Shell posee toda la funcionalidad del sh con
características avanzadas de C Shell, por eso cualquier script escrito para una shell sh correrá
perfectamente. La shell bash fué programada por desarrolladores del proyecto GNU. La
ventaja principal es su potencia y que además es libre. Por este motivo nosotros usaremos esta
shell .

SHELL SCRIPTS

Se refiere a los programas escritos para la Shell de UNIX/LINUX.

La programación en Shell scripts es muy útil para resolver tareas repetitivas, típicas de los
Administradores. Son ficheros de texto que contienen comandos y son directamente
ejecutables por el sistema.

VARIABLES:

#v=4
#echo $v
4

Borrar el contenido
#unset v
#echo $v

MEMORIA EN LAS SHELL

Memoria local y memoria de entorno

#set (muestra el contenido de ambas)

Cuando asignamos un valor a una variable es local, es decir solo es válido para dicha Shell, mas
no para las demás sub shells

Variable de Entorno

Las variables de entorno están disponibles para las sub shells, es decir los valores de estas
variables son conocidos por los procesos hijos de la shell.

Para hacer que una variable se almacene en area de entorno se usa el siguiente comando:

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com


INSTITUTO SUPERIOR TECNOLOGICO
IDAT

#export valor=5

#env (comando que visualiza las variables de entorno)

Algunas variables de entorno:

SHELL
PATH
HOME
USER

EJECUCION

1º Forma:

#sh prueba.sh
#source prueba.sh
#. prueba.sh

2º Forma
#chmod +x prueba
#./prueba
#. prueba
#/root/prueba (lo ejecuta en el directorio actual)

Profesor: Hegel Ocrospoma Noel hegelfreex@gmail.com

Вам также может понравиться