• No se han encontrado resultados

REQUISITOS PARA LA CLAVE

N/A
N/A
Protected

Academic year: 2019

Share "REQUISITOS PARA LA CLAVE"

Copied!
40
0
0

Texto completo

(1)

Introducción a Linux

TSO

Linux

Linux

Linux

Linux

multiusuario

cada usuario debe tener un nombre (cuenta)

una clave de acceso (password)

login:

(2)

Cambio de CONTRASEÑA

Cambio de CONTRASEÑA

Cambio de CONTRASEÑA

Cambio de CONTRASEÑA

Las claves de acceso en algunos sistemas tienen un tiempo de vida limitado

El comando passwdcambia la clave de acceso.

$passwd

El sistema preguntará por su clave de acceso

anterior, luego pedirá la nueva clave de acceso dos veces.

El administrador del sistema también puede

cambiar y restringir el acceso a cualquier usuario.

REQUISITOS PARA LA CLAVE

REQUISITOS PARA LA CLAVE

REQUISITOS PARA LA CLAVE

REQUISITOS PARA LA CLAVE

La nueva clave de acceso debe cumplir con ciertos

requisitos que dependen de la versión y el tipo de UNIX, se recomienda:

(a) Por lo menos 6 caracteres

(3)

Salida del sistema

Salida del sistema

Salida del sistema

Salida del sistema

Existen muchas razones para salir del sistema

Estructura de Archivos

Estructura de Archivos

Estructura de Archivos

Estructura de Archivos

Los directorios están

organizados en una estructura de árbol llamado “file system”

Los archivos se organizan en subdirectorios.

/

bin usr

home

tso

Tarea1.c Tarea2.c

(4)

importantes

importantes

importantes

importantes

/ (root)

El directorio raíz contiene toda la estructura de archivos de UNIX. /usr

(/home en linux) Es donde generalmente se encuentran los directorios domicilio de los usuarios.

/dev

Todos los archivos de dispositivos (drivers) /tmp

Aquí se guardan los archivos temporales que crean los programas que son ejecutados.

/lib Librerías del compilador

/bin

/bin

/bin

/bin

/bin

Contiene las utilidades (archivos ejecutables) del sistema /usr/bin

El directorio incluye las utilidades estándar de UNIX y aplicaciones

/mnt

Vacío, utilizado por los dispositivos externos (floppy, CDROM)

/lost+found

Aquí va la información y los procesos que se estaban ejecutando cuando el sistema se cae

/etc

(5)

El interprete de comandos (Shell)

El interprete de comandos (Shell)

El interprete de comandos (Shell)

El interprete de comandos (Shell)

El prompt por default para el BourneShell es el signo de dólar ($).

$

nombre del programa /bin/sh

Archivo de configuración .profile En otros shells:

En csh : .login .cshrc .logout

En bash: .profile

.bashrc

SINTAXIS

SINTAXIS

SINTAXIS

SINTAXIS

<comando>

<opciones> <argumentos>

Para iniciar la ejecución del comando, se debe

presionar la tecla <ENTER>

<comando> nombre de un comando de LINUX.

(6)

El manual electrónico

El manual electrónico

El manual electrónico

El manual electrónico

$man <comando>

$man man #cómo usar el man

$man –k <comando> #todo lo relacionado con el <comando>

Listando archivos

Listando archivos

Listando archivos

Listando archivos

Un archivo oculto comienza con un punto, ls no lo

despliega.

para observar los archivos ocultos se utiliza el

comando :

$ls -a $HOME

(7)

man ls

man ls

man ls

man ls

ls -lista el contenido de un directorio

Synopsis

ls [-aAcCdfFgiILqrRstu1] filename

Opciones importantes:

-a Lista todos los archivos (incluso los ocultos). -t Ordena por fecha de creación.

-p Marca los directorios (/) -r Invierte el orden.

-s Indica el tamaño.

-l Formato largo. Indica protecciones, propietario, grupo, tamaño y fecha de creación de cada archivo.

-F Distingue entre archivos ordinarios, directorios “/” y ejecutables”*”

Metacaracteres

Metacaracteres

Metacaracteres

Metacaracteres

* empareja cualquier cadena de cero o muchos caracteres

? empareja un solo caracter

[abc... ] empareja cualquier caracter encerrado en corchetes.

(8)

Ejemplos

Ejemplos

Ejemplos

Ejemplos

$ls tarea? empareja con tarea1 tarea2,

tareax, pero no con tarea10 $ls [C-H]* empareja con todos los nombres

que comienzan con letras

mayúsculas desde C hasta H.

$ls [t]*.?

Prueba esto en la computadora: $ls .*

¿Qué muestra la máquina en la pantalla? ¿Qué regla se ha aplicado?

Entrada y Salida

Entrada y Salida

Entrada y Salida

Entrada y Salida

Todos los dispositivos (impresora) son considerados como archivos por UNIX.

REDIRECCIONAMIENTO (pipeline) Cuando se dá una instrucción a UNIX

puede indicársele que envíe el resultado a un dispositivo o archivos.

Esta desviación recibe el nombre de redireccionamiento de la salida.

/floppy

/hda

/tty01

(9)

Tuberías y filtros

Tuberías y filtros

Tuberías y filtros

Tuberías y filtros

Un tubo (pipe “>”) redirige la

salida de un programa para que se convierta en entrada de otro.

Un filtro “|” es un programa

elaborado para procesar un flujo de datos de entrada y producir otro de datos de salida.

UNIX permite el uso de tuberías y filtros en la línea de comandos.

Uso práctico:los tubos y filtros suelen usarse para enlazar utilidades y realizar alguna tarea específica

Límites (

Límites (

Límites (

Límites (quotes

quotes

quotes))))

quotes

; separador de comandos & ejecución en segundo plano ( ) agrupa comandos

| tubería

(10)

Ejemplos

Ejemplos

Ejemplos

Ejemplos

$who; ls

$(date;who;pwd) > actividad.log $(date;who;pwd) >> actividad.log $sort –r actividad.log | more $grep while master.c

$grep ‘while’ *.c

Comandos de manejo de archivos

Comandos de manejo de archivos

Comandos de manejo de archivos

Comandos de manejo de archivos

Camino (ruta)

/home/estudiante/NombreDeArchivo

Este es el camino

(path) filename

•Comando para ver el contenido para

archivos de texto solamente $more NombreDeArchivo

–Muestra el contenido de archivos en la

(11)

Copia y traslado (cp y mv)

Copia y traslado (cp y mv)

Copia y traslado (cp y mv)

Copia y traslado (cp y mv)

cp

//Realiza copia de archivos y directorios

cp archivo_fuente archivo_destino

$cp /tmp/tarea /home/estudiante/tarea mv

//Traslada o cambia de nombre de un archivo.

$mv archivo_antiguo archivo_nuevo

ln

ln

ln

ln

Establece vínculos entre archivos.

$ln archivo1 archivo2

Los archivos 1 y 2 pasan a ser, físicamente, el mismo con dos nombres.

(12)

Borrado de archivos (rm)

Borrado de archivos (rm)

Borrado de archivos (rm)

Borrado de archivos (rm)

Borrado de archivos rm:

Opciones:

-i pregunta antes de borrar

-r borra un directorio de forma recursiva, borrando primero los archivos que están en él

¡cuidado con $rm -r * borra todo sin arrepentimiento!

Cambio de directorio

Cambio de directorio

Cambio de directorio

Cambio de directorio

Para saber donde está ubicado en el árbol use el

comando pwd $pwd

$cd nombre de archivo

Cambia al directorio denominado nombre. $cd ..

Cambia al directorio padre del actual. $cd Cambia al directorio domicilio (principal)

(13)

Operaciones con directorios

Operaciones con directorios

Operaciones con directorios

Operaciones con directorios

Crea un directorio $mkdir nombre

Borra un directorio (debe estar vacío)

$rmdir nombre

Si el directorio contiene archivos y se quiere borrar

todo usa el comando

$rm –r directorio

¡Tenga cuidado con este comando!

Seguridad de la información

Seguridad de la información

Seguridad de la información

Seguridad de la información

Los permisos de acceso son las protecciones

que se le pueden asignar a un archivo.

• Hay tres tipos de usuarios que pueden acceder

a un archivo :

u (user, owner) # el dueño del archivo. g (group) # el grupo al que

(14)

Despliegue de opciones

Despliegue de opciones

Despliegue de opciones

Despliegue de opciones

Listado de archivos en formato largo.

Al ejecutar la orden ls -l, se nos facilita la

información sobre las protecciones del archivo.

Interpretación de opciones

Interpretación de opciones

Interpretación de opciones

Interpretación de opciones

-rwx rwx rwx

El primer carácter indica el tipo de archivo:

- archivo ordinario. d Directorio.

b archivo especial tipo bloque. c archivo especial tipo carácter.

Los otros nueve caracteres expresan, en grupos de 3,

los permisos de acceso a ese archivo.

(15)

Ejemplo:

Ejemplo:

Ejemplo:

Ejemplo:

El propietario puede leer, escribir y ejecutar El grupo puede leer y ejecutar

El resto de usuarios no tiene ningún acceso

-r w xr – x

-u g o

chown y chgrp

chown y chgrp

chown y chgrp

chown y chgrp

chown propietario archivo

Cambia el propietario de un archivo (deberá ser

nuestro para poder hacer)

chgrp

(16)

un archivo

un archivo

un archivo

un archivo

chmod

actúa sobre el propietario (u), el grupo (g), otros

(o), añadiendo (+) o quitando (-) los permisos (rwx).

Por ejemplo:

chmod o+r archivo Se da permiso de lectura al resto de usuarios.

chmod g+wx archivo Se da permiso de escritura y ejecución al grupo.

chmod o-rwx archivo Se quitan todos los permisos al resto de usuarios.

protecciones en octal

protecciones en octal

protecciones en octal

protecciones en octal

Permisos en binario octal, significado: u g o

xxx xxx xxx

000 000 000 No se puede hacer

nada

001 000 000 El propietario puede ejecutar

(17)

Ejemplo

Ejemplo

Ejemplo

Ejemplo

111 111 111 777 Totalmente desprotegido

chmod –octal archivo

¿Que hace el siguiente comando? $chmod 650 archivo

Procesos

Procesos

Procesos

Procesos

Concepto:

Programa en ejecución Procesos:

Primer plano (foreground)

$fg

(18)

Procesos en primer plano

Procesos en primer plano

Procesos en primer plano

Procesos en primer plano

El usuario los inicia $gedit tarea1.c

Este comando inicia la edición del archivo tarea1.c en la ventana mediante la aplicación emacs, el usuario no puede correr otros comandos de UNIX mientras no salga del editor.

$history

Procesos en segundo plano

Procesos en segundo plano

Procesos en segundo plano

Procesos en segundo plano

El sistema operativo los inicia son de prioridad más baja

el usuario puede continuar trabajando ejecutando

otros comandos Ejemplo:

$gedit tarea1.c &

(19)

Identificador de proceso (PID)

Identificador de proceso (PID)

Identificador de proceso (PID)

Identificador de proceso (PID)

ps muestra información de la cantidad de tiempo que ha pasado desde que esa terminal ha tenido actividad, el identificador de procesos (PID) del proceso y otros.

ps -e Información de todo el sistema ps -l Formato largo

ps -f Información de los comandos que el sistema está procesando

Información de campos

Información de campos

Información de campos

Información de campos

UID: Número de identificación del usuario PID: Número de identificación del proceso

PPID: Número de identificación del proceso padre (aquel proceso que creó a éste)

PRI: Prioridad (cuanto más alto sea este número,

menor es la prioridad)

NI: Número "nice" (es la prioridad efectiva; sólo se puede subir o lo que es lo mismo, bajar la

prioridad)

TIME: Tiempo de CPU en min:seg

(20)

Ejemplo de ps

Ejemplo de ps

Ejemplo de ps

Ejemplo de ps

El comando Kill elimina un proceso

$kill PID

Ejemplo:

$kill 15564

¿Qué hace $kill -9 PID?

Conexiones remotas ( Conexiones remotas ( Conexiones remotas (

Conexiones remotas (Secure Shell: ssh Secure Shell: ssh Secure Shell: ssh Secure Shell: ssh ))))

Telnet es vulnerable a ataques de usuarios

maliciosos por que la transferencia de información a través de la red va sin codificar y cualquiera observando el tráfico de la red podría descubrir nuestras contraseñas

Es necesario saber nombre (host) o dirección IP

(dirección numérica) del sistema al que se quiere conectar y una cuenta

(21)

Comandos sftp parte

Comandos sftp parte

Comandos sftp parte

Comandos sftp parte

$sftp host (nombre o dirección IP)

$ sftp>help

? dir ldelete mkdir quit user bell disconnect ldir open recv verbose bye get lls page rm cd hash lpwd prompt sort close help lrm put status delete lcd ls pwd timeout

open Establece una conexión con el servidor

user Cuando una conexión ya está abierta permite hacer un login en el servidor. Nos pedirá el password

bye Cierra la conexión con el servidor si había una conexión abierta y sale del programa sftp

put Copia un fichero de la máquina local a la máquina remota

get Copia un fichero de la máquina remota a la máquina local

Alias

Alias

Alias

Alias

#alias dir="ls "

(22)

07/09/09

HISTSIZE=10

#history

#!!

repetir

#!3

repetir el 3

#!gr

repetir el último que empiece por

gr

#cc !$

usar último argumento

#cc !*

usar últimos argumentos

Completar

xx<TAB>

~hoTAB

Completa home

Composición de instrucciones

Composición de instrucciones

Composición de instrucciones

Composición de instrucciones

Terminador secuencial: #date; who

Terminador paralelo:

#date & who

Agrupamiento:

#(date; who) | wc #(sleep 5; date) & date Los pipelines:

#grep -i fork tarea.c | wc -l & Continúa si no falla:

#grep -i fork tarea.c > temp && wc temp Continúa si falla:

#grep -i fork tarea.c> tareas || rm tareas Sustitución de salida estándar:

(23)

07/09/09

Patrones de ficheros

*

Cualquier cadena (excepto caracteres . al

principo y / en cualquier sitio)

? Cualquier carácter (excepto . y /)

[xyz] Enumeración de caracteres

[a-z]

Rango de caracteres

[a-zA-Z0-9]

Rangos de caracteres

[abcA-Z]

Enumeraciones y rangos

[!a]

negación

’ . . .’

empareja . . . exactamente

" . . ."

empareja . . . casi exactamente

(reemplaza variables)

Variables

Variables

Variables

Variables

mostrar todas: #set sustitución: $i $cosa

${cosa}s

(re)definición: #i=hola

#cosa=botella

(24)

Variables de ambiente (globales)

Variables de ambiente (globales)

Variables de ambiente (globales)

Variables de ambiente (globales)

Mostrar todas:

#env #printenv

exportación, con export:

#TEMP=/usr/local #export TEMP

Scripts (guiones)

Scripts (guiones)

Scripts (guiones)

Scripts (guiones)

#sh

script

# chmod +x

script

#script

Primer comentario del script debería especificar

la shell

(25)

07/09/09

Tarea:

Tarea:

Tarea:

Tarea:

Crea un archivo con estos comandos y ejecuta el shell con un argumento que debe ser un archivo

existente en el directorio actual. #!/bin/sh

ls -t | sed ’/^’$1’$/q’

Decisiones

Decisiones

Decisiones

Decisiones

case

case var in

patrón1) comandos1 ;;

patrón2) comandos2 ;;

(26)

07/09/09

if

if

if

if

if comando

then

comandos

elif comandos

then

comandos

else

comandos

fi

Ciclos

Ciclos

Ciclos

Ciclos

Repetición fija for var [ in p1 p2 . . . pn ] do

comandos done

ó

(27)

Ciclos

Ciclos

Ciclos

Ciclos

Mientras no fallen while órdenes

do órdenes done

Hasta que no fallen until órdenes

do

órdenes done

Funciones

Funciones

Funciones

Funciones

nombre-de-función () { comandos

(28)

Variables especiales

Variables especiales

Variables especiales

Variables especiales

$# número de argumentos $* todos los argumentos $@ idem....

$i argumento i-simo

$? valor de retorno de última instrucción $$ id-proceso de la shell

$! id-proceso de la última instrucción &

$PATH directorios de búsqueda de instrucciones $PS1 saludo principal ($)

$PS2 saludo secundario (>)

El comando test

El comando test

El comando test

El comando test

-f fichero fichero normal -d fichero directorio

-b fichero dispositivo de bloques -c fichero dispositivo de caracteres -h fichero un enlace simbólico -p fichero un pipe con nombre -w fichero escribible

-x fichero ejecutable -r fichero legible

(29)

El comando test para cadenas

El comando test para cadenas

El comando test para cadenas

El comando test para cadenas

-l cadena longitud de cadena -n cadena longitud no es cero -t salida estándar es terminal -t fd fd es terminal

-z cadena la longitud de cadena es cero s1 = s2 cadenas iguales

s1 != s2 cadenas distintas s1 s1 no es nula

El comando test para números y

El comando test para números y

El comando test para números y

El comando test para números y

expresiones

expresiones

expresiones

expresiones

n1 -eq n2

n1 = n2

n1 -ne n2

n1= n2

n1 -gt n2

n1 > n2

n1 -ge n2

n1 n2

n1 -lt n2

n1 < n2

n1 -le n2

n1 n2

! expr

negación de expr

e1 -a e2

y

(30)

Ejemplo

Ejemplo

Ejemplo

Ejemplo

#!/bin/bash

echo -n “ Desea salir?” read respuesta

case $respuesta in

[nN]*) echo "Ha dicho que no" ;; [yY]*j[sS]*) echo "Ha dicho que si" ;; *) echo "No entiendo" ;;

esac

Usando if

Usando if

Usando if

Usando if

#!/bin/bash

echo –n “desea salir?” read respuesta

if [ "$respuesta" = y ] then

echo "Ha dicho que si" elif [ "$respuesta" = n ] then

echo "Ha dicho que no" else

(31)

Los archivos más nuevos

ultimos () { ls () {

ls lrt tail -$1 }

# invocando

ultimos 5

Contar líneas de archivos

Contar líneas de archivos

Contar líneas de archivos

Contar líneas de archivos

#!/bin/sh

i=0 cat $1|

while read linea

do

i=‘expr $i + 1‘

echo "$i líneas en $1"

(32)

07/09/09

Con aritmética de bash

Con aritmética de bash

Con aritmética de bash

Con aritmética de bash

#!/bin/bash i=0

cat $1 |

while read linea do

i=$(($i+1))

echo"$i líneas en $1“ done | tail -1

Esperar a que exista

Esperar a que exista

Esperar a que exista

Esperar a que exista

#!/bin/sh until [ -f $1 ]

do

Echo "No veo el fichero $1“ sleep5

done

(33)

Señales

Señales

Señales

Señales

trap cmd sig

cmd se ejecuta cuando sig. trap ’’ sig

ignora sig. trap sig

pone sig acción básica.

0 salida de shell 1 colgar

2 interrumpir ^C

3 interrupción con core ^\ 9 asesinar (inevitable, inatrapable) 13 escribe en pipe sin lector 15 terminación por programa (kill)

Variables

Variables

Variables

Variables

#!/bin/bash

(34)

Variables local

Variables local

Variables local

Variables local

Las variables locales pueden crearse utilizando la palabra clave local.

Variables Locales

Variables Locales

Variables Locales

Variables Locales

#!/bin/bash HOLA=Hola function hola {

local HOLA=Mundo echo $HOLA

}

echo $HOLA hola

(35)

Estructuras Condicionales

Estructuras Condicionales

Estructuras Condicionales

Estructuras Condicionales

#!/bin/bash

if [ “hola" = “Hola" ]; then

echo expresión evaluada como verdadera fi

echo expresión evaluada como falsa

Condicionales con variables

Condicionales con variables

Condicionales con variables

Condicionales con variables

#!/bin/bash E1=“Rosa" E2=“Risa"

if [ "$E1" = "$E2" ]; then

echo expresion evaluada como verdadera else

(36)

Ejemplo: comprobando si existe un fichero

Ejemplo: comprobando si existe un fichero

Ejemplo: comprobando si existe un fichero

Ejemplo: comprobando si existe un fichero

#!/bin/bash FILE=˜/.basrc if [ -f $FILE ]; then

echo el fichero $FILE existe else

echo fichero no encontrado fi

Los bucles for

Los bucles for

Los bucles for

Los bucles for

#!/bin/bash for i in ‘seq 1 10‘; do

(37)

Los bucles while

Los bucles while

Los bucles while

Los bucles while

contador=0 while test $# -gt 0 do

contador=`expr $contador + 1` echo Parametro $contador: $1 shift

done

Funciones

Funciones

Funciones

Funciones

#!/bin/bash function salir { exit

}

function hola { echo <Hola! }

hola salir

(38)

Leyendo información del usuario

Leyendo información del usuario

Leyendo información del usuario

Leyendo información del usuario

#!/bin/bash

echo Por favor, introduzca su nombre read NOMBRE

echo "<Hola $NOMBRE!"

Leyendo información del usuario

Leyendo información del usuario

Leyendo información del usuario

Leyendo información del usuario

#!/bin/bash

echo Por favor, introduzca su nombre y primer apellido

read NO AP

(39)

Operadores aritméticos

Operadores aritméticos

Operadores aritméticos

Operadores aritméticos

+ (adición) - (sustracción) * (producto) / (división) % (módulo)

Operadores relacionales aritméticos

Operadores relacionales aritméticos

Operadores relacionales aritméticos

Operadores relacionales aritméticos

(40)

Capturando la salida de un comando

Capturando la salida de un comando

Capturando la salida de un comando

Capturando la salida de un comando

#!/bin/bash ruta=`pwd`

echo ruta

Parametros

Parametros

Parametros

Parametros

Referencias

Documento similar

En estos últimos años, he tenido el privilegio, durante varias prolongadas visitas al extranjero, de hacer investigaciones sobre el teatro, y muchas veces he tenido la ocasión

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Sanz (Universidad Carlos III-IUNE): &#34;El papel de las fuentes de datos en los ranking nacionales de universidades&#34;.. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,

Dada la endogeneidad de la respuesta de la política monetaria a la evolución prevista para la economía, esta evolución de las cotizaciones bancarias ante sorpresas monetarias puede

diabetes, chronic respiratory disease and cancer) targeted in the Global Action Plan on NCDs as well as other noncommunicable conditions of particular concern in the European

d) que haya «identidad de órgano» (con identidad de Sala y Sección); e) que haya alteridad, es decir, que las sentencias aportadas sean de persona distinta a la recurrente, e) que