Practica Ubuntu
Practica Ubuntu
Practica Ubuntu
Objetivo:
Aprenders el uso bsico de la consola (shell) de LINUX y al final de esta
prctica ser capaz de:
Hacer uso del caracter de pipe ( | ) que se utiliza para ligar la salida
de un comando con la entrada de otro.
Actividades:
CONTESTECADAUNADELOSCUESTIONARIOSQUEAPARECENALFINAL
DECADAACTIVIDAD,REGISTRALASENUNSOLODOCUMENTODEWORD,
CONNOMBRELABORATORIO1
operativos tales como Android, IOS, OS/X y como base de Apache, el software de
servidor que se utiliza en la gran mayora de los servidores de pginas web; y
segundo porque se trata de un proyecto de cdigo abierto y por lo mismo es
completamente accesible para el alumno para generar ingeniera inversa en una o
ms de sus partes y realizar modificaciones si lo considera til para su aprendizaje.
ls:
mkdir:
Crea un directorio.
rmdir:
Borra un directorio.
debe de estar vaco.
cd:
Nota: el directorio
less:
cat:
head:
texto.
tail:
rm:
pwd:
actual
tree:
touch:
archivo lo crea.
Como ya se mencion, los comandos poseen opciones y/o parmetros que sirven para
modificar su funcionamiento. Para una descripcin breve del comando puede utilizarse
el comando whatis <comando>, por ejemplo whatis cd whatis whatis. Para una
mayor descripcin del comando, consultar el manual ejecutando el comando man
<comando>. Para salir del manual presiona la tecla q. Para encontrar comandos
que incluyan en su descripcin una cierta palabra, teclea man -k <palabra>
= = = = Laboratorio 1 = = = =
Material de Apoyo: UNIX como usuario
CONTESTECADAUNADELOSCUESTIONARIOSQUEAPARECENALFINALDE
CADAACTIVIDAD,REGISTRALASENUNSOLODOCUMENTODEWORD,CON
NOMBRELABORATORIO1
Si no aparece la segunda lnea significa que nos hallamos en otro shell, para
escoger BASH bastar con ejecutar el comando bash como se muestra en
el siguiente ejemplo:
whatis
whereis which
whoami
.
Desktop
Documents
Pruebas
Downloads
Music
Pictures
Public
Sesion1
Archivo1
Archivo2.txt
Templates
Videos
Actividad 1.3
Sumando todo lo visto en esta prctica, realice las siguientes actividades.
Ejecute los siguientes comandos
mkdir $HOME/Operativos
touch $HOME/Operativos/Arch1
touch $HOME/Operativos/Arch2
touch $HOME/Operativos/Arch3
References
Como encontrar documentacin dentro de mi propio sistema GNU/Linux - Desde
Linux. (n.d.). Retrieved May 19, 2014, from http://blog.desdelinux.net/comoencontrar-documentacion-dentro-de-mi-propio-sistema-gnulinux/
= = = = Laboratorio 2 = = = =
REALIZA CADA UNA DE LAS ACTIVIDAD SEGN SE INDICAN EN ESTE
LABORATORIOYREGISTRALASENUNSOLODOCUMENTODEWORD,CON
NOMBRELABORATORIO2
Actividad 2.4 :
grep es un popular comando para buscar en textos grep <expresin regular>
<archivo>. Por ejemplo busca la palabra Navajos en el archivo
/usr/share/dict/words , que es el diccionario de palabras de Linux:
ccna_admin@ccnalab12:/home/redes1$
/usr/share/dict/words
Navajos
O bien:
grep
Navajos
ccna_admin@ccnalab12:/home/redes1$ cat
/usr/share/dict/words | grep Navajos
Navajos
Recuerda que el primer comando ( cat <archivo1> <archivo 2> ... ) se encarga de
desplegar (ms propiamente, enviar a standard output) el resultado de la
concatenacin de dos archivos; o el contenido de un archivo si slo se menciona uno
solo en el comando. La salida del comando cat se pipea a la entrada del grep.
Otro ejemplo: buscar todo lo que empiece con "nav" en dicho archivo y trabajar con
ellos.
Permisos
Cada usuario de un sistema Unix puede por default leer y modificar sus propios
archivos en $HOME; ademas, algunos archivos que descienden de la raz ("/"), por
ejemplo /usr/share/dict, pueden ser ledos por todos los usuarios, pero no modificados.
Es por eso que los comandos anteriores funcionan sin problemas.
Usuario
(User)
Grupo
(Group)
Otros
(Others)
usuario@Localhost:~$ ls -l /etc/shells
(Rengln 1)
(Rengln 2)
Para modificar estos permisos el primer requisito es que sea el usuario dueo quien
lo haga (o en su defecto el usuario Root) mediante el comando chmod Siguen
algunos ejemplos de su uso:
usuario@localhost:~$ chmod u+r Archivo1 [al usuario (u) dueo
del Archivo1 agregar (+) permisos de lectura (r)]
usuario@localhost:~$ chmod u-r, o+r Archivo1 [quitale (-) ese
permiso y otrgaselo a cualquier otro usuario (o)]
Shell scripting
Un shell script es un archivo de texto que contiene varios comandos que se ejecutan
uno tras otro como si fuera un solo comando. Por ejemplo, el siguiente script,
almacenado en un archivo de texto que se podra llamar cabezaCola, lista las
primeras 5 lneas de Arch1 y las ltimas 5:
Para poder ejecutar esas lneas como si fuera un solo comando, primero tenemos
que dar permiso para que cabezaCola sea ejecutable:
(El ./ dice: en este directorio donde estoy (.), busca el script cabezaCola y ejectalo)
ACTIVIDAD 2.5: Pruebalo! utiliza un script parecido para listar las primeras 5 y
ltimas 5 lneas de algn archivo que tengas en tu $HOME.
Actividad
2.6
variables
del
sistema
del
usuario
propio
directorio
donde
guardas
tus
archivos.
1. Utiliza el comando env | more para conocer las variables del sistema y
sus valores
Las variables del usuario son variables que el usuario define utilizando la
siguiente sintaxis: NOMBRE_VARIABLE= <valor> . #ojo: sin espacios
rodeando el =
user@localhost$ MYVAR=10
Procesamiento de comandos
La sintaxis de un comando en Unix es como sigue:
Los argumentos pueden ser opciones o archivos separados por espacios. Cada
opcin va precedida del caracter "-" y sirven para modificar de diversas
maneras la ejecucin del comando.
#!/bin/bash
head -n $1 $2
tail -n $1 $2
$./cabezaCola 3 Arch1
Actividad 2.7 :
Comprueba el funcionamiento del nuevo cabezaCola.
El siguiente cdigo muestra el manejo de los argumentos de un script (args.sh)
en dos formas distintas. De pasada ilustramos cmo hacer ciclos en un script:
#!/bin/bash
# la primera lnea con un '!' como primer caracter
# del comentario indica qu intrprete se utilizar
# en este caso, bash ubicado en /bin/bash
# Este programa muestra como procesar, uno por uno, los
# argumentos que se dan como entrada a un script.
echo ""
# numero de argumentos
si
entonces
$1 vale:
1
#
y $1 vale: 2
done
El shell tiene definido tres tipos de comillas para ser usados con comandos o
variables o strings:
( ) comilla sencilla:
echo
echo $MYVAR
( ` ) comilla inversa:
\$MYVAR
para ejecutar.
Ejemplos:
user@localhost$ a=5
user@localhost$ echo $a
5
user@localhost$> echo $a
$a
user@localhost$ echo `expr $a + 3`
8
Actividad 2.7 :
Investiga qu hace el comando date, y explica con sus propias palabras qu hara
cada uno de los siguientes comandos. DESPUES ejectalos para verificar tu
entendimiento:
$ date
$ fecha=date
$ echo hoy es: $fecha
$ echo hoy es: $fecha
$ echo hoy es: `$fecha `
Meta caracteres:
Actividad 2.8:
Prueba los siguientes comandos e indica con tus propias palabras qu hace cada uno:
$ mkdir -p {meet,meat,beat,feet,mean,seat}
$ ls m*
$ ls me?t
$ ls [sm]eat
Ejemplo:
Suma:
user@localhost home $ expr 1 + 3
espacios rodeando a los operadores...
#ojo:
esta
Resta:
user@localhost home $ expr 2 - 1
Divisin:
user@localhost home $ expr 11 / 2
#ojo: trunca?
vez
con
Mdulo:
user@localhost home $ expr 20 % 3
b=5.64
Actividad 2.9 :
Si intentas utilizar la multiplicacin directamente en consola notaras que marca un
error.
ccna_admin@ccnalab12:~$ expr 7 * 3
expr: syntax error
La razn es sencilla, el smbolo de multiplicacin coincide con un smbolo de metacaracter, por lo tanto primero se tiene que hacer que el shell no lo vea como tl,
Que sintaxis utilizars para lograr la multiplicacin?
Prctica 3: Administracin
Objetivo
Montaje de dispositivos
Comandos
chmod
su
groupadd
useradd
who
whoami
whos
chown
Administracin de usuarios
El manejo de usuarios y grupos en sistemas GNU/Linux ha ido cambiando en las
ltimas dos dcadas. Se distinguen dos tipos de usuarios - los usuarios comunes y
los administrativos.
Usuario administrativo: es aquel que tiene la capacidad de alterar los parmetros del
sistema (settings) y a los otros usuarios con operaciones tales como dar de alta o baja
o cambiar los privilegios de algn usuario. El usuario administrativo con mayores
privilegios tiene la cuenta llamada Root, y el password de esta cuenta se define una
sola vez al llevar a cabo una nueva instalacin de Unix. Root puede dar suficientes
privilegios a otros usuarios comunes para convertirlos en usuarios administrativos que
puedan tener algunos de los privilegios del mismo Root.
Se puede observar que el usuario User1 forma parte de ciertos grupos por defecto
(adm, cdrom etc); de hecho sin ellos no podra montar y desmontar unidades de CdROM o memorias USB sin utilizar los privilegios del administrador. El grupo adm es
porque se trata de un usuario administrativo que puede utilizar su propia contrasea en
vez de las credenciales de un usuario Root; es decir, es un usuario al que Root ha
otorgado privilegios administrativos
grupo cdrom incluye a todos los usuarios que tienen la capacidad de montar o
desmontar este tipo de disquitos.
Adems de los usuarios humanos (comunes y administrativos), resulta que ciertas
aplicaciones requieren tener permisos para acceder diversos archivos diferentes a los
archivos propios de cualquier usuario comn - por ejemplo, un manejador de bases de
datos necesita tener sus propios archivos para sus tablas, que son accesadas por
muchos usuarios comunes. Entonces al instalar ese manejador, Linux crea usuariosaplicaciones que no son otra cosa que un usuario digamos artificial por aplicacin y
les otorga los permisos requeridos. Se requieren este tipo de usuarios-aplicacin
tambin para los daemons o programas que corren siempre en background y que
igualmente pueden dar servicio a mltiples usuarios comunes.
Root
Root es el super-usuario administrativo que tiene control total del sistema. Root
puede dar y quitar privilegios y por lo mismo el acceso a esta cuenta debe estar
fuertemente protegido en el sistema. En los sistemas GNU/Linux modernos hay dos
variantes para acceder a los privilegios de Root:
1. Directamente entrando a la cuenta de Root por medio de login y password
2. Mediante el comando SUDO.
Para acceder a una cuenta Root se requiere la contrasea de dicha cuenta
(usualmente configurada al inicio de la instalacin del sistema) y se puede hacer
mediante el comando su
user1@Localhost:~$ su [root]
password: <Password de Root>
root@Localhost:/home/user1#
Un usuario comn puede hacer uso del comando SUDO para acceder a root como se
muestra a continuacin:
Actividad 1:
Se desean crear los siguientes grupos con sus respectivos usuarios:
Parents
Children
Soho
Paul
Derek
Accounts
Jane
Alice
Sales
Grupo:
Usuarios:
Recuerda que para poder hacer cambios en el sistema debes autenticarte como super
usuario, para ello:
Fedora: teclea el comando su y el password cuando se te pida.
Ubuntu: por el diseo que se le di, la instruccin SUDO sustituye a su. Es decir,
para pasar a la cuenta root en Ubuntu es sudo su .
Para crear un grupo utiliza el comando groupadd <groupName>. Crea cada uno de los
grupos mostrados en la tabla anterior y reporta el GroupID que se asign a cada uno.
Parents: ____
Children: ____
Soho: ____
Si el sistema te muestra el error: bash: groupadd: command not found, quiere decir
que el comando groupadd no se encuentra en la ruta de directorios que utiliza el
sistema para localizar comandos; por lo que debers ejecutar el siguiente comando:
export PATH=$PATH:/usr/sbin
para agregar a la ruta del sistema el directorio donde se encuentra el groupadd y otros
comandos.
Despus procede a crear los usuarios y asignar cada uno a los grupos que
corresponda. Para ello usars el comando:
useradd -m g <groupName> <userName>.
Si no pa>especificas la opcin -g <groupName> se crea automticamente un nuevo
grupo con el mismo nombre del usuario; la opcin '-m' le indica al comando que cree
el directorio del usuario en /home. Ejecuta el comando: ls l /home y observa las
columnas con los nombres de usuario y grupo.
Cambiar la contrasea
Hay que crear una contrasea para cada usuario. Aunque, cuando inicias sesin como
un super usuario puedes iniciar sesin en la cuenta de cualquier usuario sin la
necesidad de conocer su contrasea, para que lo compruebes, puedes intentar iniciar
sesin como algn usuario con el comando: su <userName>, y cerrar esa sesin con
el comando exit.
Para crear la contrasea de cada usuario debes, adems de ser super usuario,
teclear el comando: passwd <userName>.
Tambin, el propio usuario puede cambiar su contrasea al teclear el comando
passwd. Fija como password para cada cuenta el nombre de usuario invertido, por
ejemplo el password de jane es enaj.
Actividad 2:
Eliminar usuarios
Elimina todos los usuarios que creaste anteriormente. Para la eliminacin de grupos
el comando es :
groupdel <Group>
Actividad 3:
Cambiar permisos
Ya en la prctica dos manejamos el control de permisos de un archivo (UGO)
mediante chmod pero siempre fue con archivos de un mismo usuario. En ocasiones
nos toparemos con que es necesario hacerle modificaciones al archivo o bien cambiar
el dueo del mismo; una razn tpica es cuando estamos utilizando la cuenta Root y
creamos archivos en nuestros propias carpetas. Por ejemplo, sigue los siguientes
pasos:
Puedes usar esta herramienta para instalar casi cualquier programa disponible en
cdigo abierto. A continuacin instalars la aplicacin htop (Figura 1) utilizando el
manejador de paquetes; htop es un visor de procesos interactivo para Linux, similar al
Task Manager de Windows pero que se ejecuta en terminal.
Imagen 1 - Htop
Ubuntu:
Abre una terminal y ejecuta sudo apt-get install htop . O si lo prefieres consulta man
apt para ver las opciones de instalaciones. sudo ejecuta esa lnea como usuario root.
Fedora:
Abre una terminal y ejecuta el comando su (usr@domain#su) para pasar a ser usuario
root, a continuacin utiliza el comando yum install htop . O si lo prefieres consulta
man yum para ver las opciones.
Busque ahora si existe todava dicho proceso o si este ha sido eliminado. Como ver
es un modo sencillo de matar aplicaciones, existe otro comando ps -A e que nos
imprimir el listado de procesos en ese instante (a diferencia de htop que es en tiempo
real), si utilizamos grep podremos lograr algo similar.
Actividad 4-7:
Interfaces de red
Existen algunas aplicaciones que realizan el trabajo de conectar una computadora con
Linux a una conexin de red que se encuentre disponible, sin embargo algunas
ocasiones es necesario hacerlo de forma manual. A continuacin aprenders a
configurar interfaces ethernet wired y wireless.
Las configuraciones manuales de las interfaces involucran entender cmo funciona el
protocolo de red (IP) y el protocolo de la capa de datos (Ethernet/802.3 o los de
802.11x), por lo tanto en ocasiones puede resultar un poco complejo cuando no se
tienen estos conocimientos.
Almbricas (Wired)
Para configurar interfaces almbricas se requiere primero levantar la interfaz y
despus solicitar una direccin de red. Los pasos son los siguientes:
1.-Ver cules interfaces tiene instaladas el sistema, usando el comando:
ifconfig a
Inalmbricas
Para configurar interfaces wireless, se requiere levantar la interfaz, conectarnos a
un punto de acceso en particular y luego solicitar direccin de red. Los pasos son los
siguientes:
iwconfig
Las interfaces que muestren un valor diferente a no wireless extension son las
interfaces que son de tipo wireless. Algunos nombres comunes son: at0, eth1, wlan0,
.
Configuramos
la
interface
wireless:
iwconfig
<Interfaz>
essid
TIP: Como podrs ver esto de repente no es tan sencillo , pero desviando la
salida del escaneo de puntos de acceso a un archivo de entrada a awk para
filtrar resultados y obtener solo access points vlidos y se puede automatizar
el proceso de conexin.
Muy probablemente encuentres direcciones que empiecen con FE80:--- y/o 2000:--stas son direcciones del nuevo protocolo de red IPv6 y si la interfaz lo soporta,
mnimo activar una que inicie con FE80 y si la red ya tiene implementado dicho
protocolo, muy seguramente se auto-asignar una que inicie con 2000.
Actividad 8,9:
dmesg | tail
Imagen 2
Cada dispositivo de entrada o salida en Linux se considera como un archivo o sistema
de archivos, incluyendo dispositivos como el teclado y la pantalla y los sockets
(canales de transmisin de datos entre procesos), adems de los CDROMS o discos
duros o lo que pueda venir en el futuro. El directorio /mnt se utiliza para montar
sistemas de archivos temporalmente. /media se utiliza para medios que pueden
conectarse o desconectarse mientras la computadora est prendida, ej: CDROM,
memorias flash.
su
cd /media
mkdir memoriaFlash
ls
Para desmontar la memoria Flash y evitar cualquier dao a los datos escritos,
es necesario desmontar correctamente la memoria Flash con el comando:
umount /media/memoriaFlash
Archivos ISO
Discos duros
Para montar particiones o discos duros de un sistema Linux, algunas veces es
necesario conocer el tipo de filesystem que tiene para pasrselo como argumento a
mount. Como ejemplo se muestra la siguiente sintaxis:
su
cd /mnt
mkdir discoDuro1
ls
mount t <filesystem> <device> <dir>
umount <dir>
Donde:
En la prctica sobre shell programming tuviste contacto con el comando who, que
permite ver qu usuarios estn conectados a una computadora. Este comando arroja
informacin sobre el nombre de usuario, la terminal a la que est conectado el usuario,
la ltima fecha de acceso, y la direccin desde donde se realiz la conexin. Por
ejemplo:
tty0
Jul 15 17:44
al702782
pts/1
Aug 05 19:26
(a estas maquinas)
al194834
pts/2
Aug 05 19:29
(131.178.74.107)
al159884
pts/4
Aug 05 19:13
(a estas maquinas)
al333793
pts/7
Aug 05 19:19
(131.178.74.149)
al172871
pts/10
Aug 05 18:35
(131.178.82.22)
amartine
pts/12
Aug 05 19:45
(tserv.mty.itesm.)
jnolazco
pts/13
Aug 05 19:55
(ciencias.mty.ite)
Existe otro, el comando w, que muestra informacin ms detallada sobre los usuarios
conectados a la computadora, puedes ver que la descripcin de los campos con el
comando man w.
[user@localhost home]$ w
11:22:57 up 11 days, 19:17, 3 users, load average: 0.00, 0.01, 0.00
USER
TTY
robertoa pts/0
sgeadmin tty8
FROM
10-11-12-13 11:09
:0
TIP: El usuario Root puede terminar lo que estos usuarios estn haciendo mediante kill
(aunque primero deber obtener el process-ID del proceso del usuario).
[robertoaceves@sge-handler32 ~]$
paola@sge-handler32:~$
(03) Message from robertoaceves@sge-handler32 on pts/0 at 11:50 ...
(04) hola
(06) como ?a va??
Existe, tambin un comando que permite mandarle mensajes a las terminales de todos
los usuarios: wall, su sintaxis es la siguiente:
Este comando manda un mensaje en broadcast a todos los usuarios, y al igual que el
comando anterior, permite la comunicacin en solo un sentido.
TIP: Los usuarios que no tienen abierta alguna terminal no recibirn un aviso,
lo cual les puede ser contraproducente si se ejecuta el comando para apagar
la mquina y estos no pudieron guardar sus trabajos.
<hora>
at> simboliza el prompt del comando at, aqu es donde se teclean los
comandos, uno por lnea, que se desean ejecutar. Para terminar de capturar
comandos hay que presionar las teclas <CTRL+D> .
[user@localhost home]$ ls
[user@localhost home]$
[user@localhost home]$ date
Mon Sep 7 18:20:44 CDT 2009
To: nolazco@sge-handler32.mty.itesm.mx
Message-Id: <E1MlA7Q-0000G3-6d@sge-handler32.mty.itesm.mx>
From: nolazco@sge-handler32.mty.itesm.mx
Date: Mon, 07 Sep 2009 18:29:00 -0500
Esta es una prueba del comando at, que ejecuta un comando en el tiempo
programado
[user@localhost home]$ ls
cosas
[user@localhost home]$ ls cosas
numeros.txt
[user@localhost home]$ cat cosas/numeros.txt
12345
[user@localhost home]$
Actividad 10:
Respaldos.
Dado que lo ms importante que existe en una computadora o servidor es la
informacin que contiene, es vital hacer respaldos de modo peridico. Para una
computadora personal, es recomendable tener al menos un respaldo para prevenir
prdida de datos en caso de una falla del disco duro.Una herramienta que facilita esta
labor (sobre todo si se utiliza junto con cron) es rsync, ya que es una forma de
respaldo rpida y verstil de copiar archivos ya sea de modo local o de modo remoto.
Una ventaja que tiene rsync sobre otras herramientas (scp o ftp) es su capacidad de
manejar informacin de modo diferencial, esto significa que puede encontrar qu
necesita ser transmitido haciendo una bsqueda de los archivos que han cambiado en
el origen de la sincronizacin y slo transfiere esos archivos.
/dest/foo
De este modo se sincroniza /dest/foo con los cambios hechos en /src/foo. Esto se
puede hacer a travs de la red incluyendo la mquina en la direccin de origen o
destino e.g:
Actividad 11,12:
Conexiones remotas.
El modo en el que comnmente se manejan los servidores es teniendo una
computadora corriendo servicios sin perifricos conectados a ella, esto es, sin teclado
o monitor. La administracin de estos servicios se hace de modo remoto gracias a
herramientas como ssh.
ssh es un programa que permite hacer conexiones de ingreso remotas a los equipos
que estn corriendo dicho servicio, de un modo seguro. Una vez conectado a dicha
mquina y autenticado como usuario, uno es capaz de ejecutar comandos como si
estuviera fsicamente junto a la computadora. La sintaxis de este comando es: ssh
usuario@maquina-remota
ssh pedro@cluster.itesm.mx
scp es una herramienta que permite transferir archivos de un modo seguro a una o
desde una computadora remota utilizando el protocolo de ssh. Este es uno de los
mtodos ms comunes para subir archivos individuales a los servidores. La sintaxis de
este comando es:
Informacin adicional
En este blog se puede hallar informacin de la configuracin de visudo, que con un
manejo adecuado permite crear un sistema de control del comando SUDO de forma
eficiente.
= = = = Laboratorio 3= = = =
Actividades a realizar : Las respuestas de esta seccin deben registrarse
en un nuevo documento electrnico, incluyendo imgenes de la(s)
pantalla(s) en donde se muestren los cambios realizados o las acciones de
los comandos
/home )
(0.5 punto) NOTA: Una vez que halla creado los usuarios debe
usar este comando y registrar en el formulario el resultado de
la ejecucin.
Interfaces de red
Shel
Se crear un script que aada usuarios con sus grupos de
forma automatizada. Dichos usuarios se hallarn en un
archivo llamado "Users.txt" y sus entradas sern como
las siguientes:
bob:procesos
maria:procesos
jose:administracion
pablo:contaduria
El script debe de crear cada usuario , SIN crear un grupo
con el mismo nombre y aadir al usuario a su grupo
correspondiente. Adems, todos los usuarios deben tener
asignados /bin/bash como su shell por defecto.
Reconocimiento: me ayudaron
Reconoce quines de tus compaeros te apoyaron con alguna
duda de la prctica
SUBMI