Manejo de archivos, permisos y navegaci+¦n en GNULinux

Anuncio
TEMA 6: Manejo de archivos, permisos y
navegación en GNU/LINUX.
Objetivos:








Lograr en el estudiante un aprendizaje de la jerarquía de archivos que
se maneja en GNU/LINUX, para que sepa cómo se estructura la
información en el Sistema Operativo.
Entregar al estudiante una información sobre la clasificación de
archivos en este Sistema Operativo, para un mejor entendimiento de la
forma en que se estructuran los directorios ó carpetas.
Dar a conocer de manera global que es la SHELL y su diferencia con la
consola de Windows para que el estudiante se familiarice con la forma
de ingresar comandos en GNU/LINUX.
Aprendizaje de los comandos de más uso en la navegación de archivos
para lograr moverse mediante la SHELL sin dificultad.
Conocer los comandos “man” y “help” que sirven de ayuda a la hora de
utilizar la SHELL, para que cualquier dificultad con algún comando se
logre solucionar fácilmente.
Generar en el estudiante un conocimiento sobre la configuración o
manejo de cuentas de usuarios y grupos, para que el estudiante
aprenda como especificar a un archivo o carpeta, el usuario o grupo al
que pertenece.
Conocer los permisos que se pueden dar a los archivos del sistema
operativo para que el estudiante conozca la manera en la que puede
proteger sus archivos.
Manejo de permisos con el comando “chmod”, utilizando taquigrafía
basada en caracteres o con números para lograr establecer los
permisos de los archivos de cada cuenta de usuario.
Jerarquía De Directorios
Clasificación De Directorios
Estaticos
• Contiene archivos que no cambian sin la intervención del
administrador (root), sin embargo, pueden ser leídos por cualquier
otro usuario. (/bin, /sbin, /opt, /boot, /usr/bin...)
Dinamicos
• Contiene archivos que son cambiantes, y pueden leerse y escribirse
(algunos solo por su respectivo usuario y el root). Contienen
configuraciones, documentos, etc. (/var/mail, /var/spool, /var/run,
/var/lock, /home...)
Compartidos
• Contiene archivos que se pueden encontrar en un
ordenador y utilizarse en otro, o incluso compartirse entre
usuarios.
• Contiene ficheros que no se pueden compartir, solo son
Restringidos
modificables por el administrador. (/etc, /boot, /var/run,
/var/lock...).
La Shell o intérprete de comandos de GNU/Linux
La Shell es el medio que tenemos para interactuar con la maquina con la que
estamos trabajando y con su sistema operativo, literalmente interpreta
órdenes.
La Shell
se
encarga
de:
Interpretar las variables de entorno.
Interpreta los metacarácteres,(caracteres comodines) '*' '?'.
Maneja la entrada y salida standar de los comandos.
Busca alias, y los interpreta.
Interpreta las ordenes comparando si son comandos internos
de la shell, o binarios ejecutables, mirando en $PATH.
Principales diferencias con la línea de comandos de Windows:
En la Shell, el intérprete de comandos distingue entre mayúsculas y
minúsculas a la hora de interpretar los comandos, cosa que en
cmd.exe de Windows no ocurre:
Shell:
ls no es igual a LS
cmd.exe:
dir es igual a DIR
En la shell los modificadores de los comandos se representan con
un guión '-', y en cmd.exe el modificador es '/'.
Shell:
ls -l
cmd.exe:
dir /all
Comandos de Navegación
Comandos
ls:
Descripcion
Abreviatura de list (listar)
cd:
sintaxis: ls [opciones] [fichero ]
Change directory. Cambia de directorio.
Sintaxis: cd [directorio]
Formas útiles de usarlo:
cd sin más, te lleva a tu directorio home.
cd.. te lleva al directorio padre (directorio
anterior)
mkdir:
cd ~ igual que el primero, te lleva a tu
directorio home.
Make directory. Hacer directorio.
Sintaxis: mkdir [directorio
mkdir -p
directorio]/[directorio]/[directorio]/etc..
rmdir:
Puedes crear tantos directorios como
quieras, desde el directorio actual, o desde
tu home.
Remove Directory. Borrar directorio.
cp:
Sintaxis: rmdir [directorio]
Copy. Copiar
mv:
sintaxis: cp [opciones] [fichero origen]
[directorio destino]
Move. Mueve o renombra el archivo o
directorio.
rm:
sintaxis: mv [opciones] [origen] [destino]
Remove. borra el fichero
touch:
sintaxis: rm [opciones] [fichero/s]
Crea un fichero
id:
sintaxis: touch [fichero]
Identificación
su:
muestra nombre de usuario y grupo
Te permite cambiar al usuario que desees.
umask
sintaxis: su usuario
password
Establece los permisos por defecto para los
nuevos archivos y directorios creados por el
proceso actual.
sintaxis: umask [mascara]
Si queremos que los archivos que creemos
tengan un valor distinto a el valor por
defecto habría que restar a 666 (por defecto
rw-rw-rw-) el valor en octal que
queramos para nuestros archivos:
Si por ejemplo queremos que nuestros
archivos
se
creen
con
permisos
r-- para dueño, r-- para grupo y r-- para
otros,
deberíamos
restar
444
a 666 y nos daría 222, entonces el comando
seria
el
que
sigue:
umask 222
man:
"manual"
Muestra un manual de la instrucción o
comando especificado.
sintaxis: man [comando]
- - help.
Esto no es un comando, en realidad es una
opción que tienen todos los comandos en
Linux
sintaxis: [comando] - - help
Linux dispone de 3 comandos que permite cambiar los permisos, el
propietario y el grupo de un archivo y/o directorio
respectivamente:
Comando chmod
Se utiliza para cambiar los permisos del archivo o directorio.
$ chmod [permisos] [archivo/directorio] [opciones]
Comando chown
# chown [nuevo usuario propietario] [archivo/directorio]
[opciones]
Comando chgrp
Utilizado para cambiar el grupo del archivo o directorio
# chgrp [nuevo grupo] [archivo/directorio] [opciones]
Permisos en GNU/Linux
El sistema de permisos en Linux se basa en un esquema de
usuarios/grupos que lo convierte en la base principal de la
seguridad en Linux, a estos usuarios y grupos se les asignan
distintos derechos sobre los archivos y directorios.
Los permisos propiamente dichos son tres:
r: read (lectura):
Cuando el permiso de lectura está activo sobre un directorio
significa que se podrá listar los recursos almacenados en él, si está
asignado a un archivo se podrá leer su contenido.
w: write (escritura):
Cuando el permiso de escritura está activo sobre un directorio
significa que se podrá crear y borrar archivos en su interior, si esta
activado para un archivo significa que se podrá modificar su
contenido.
x: execute (ejecución):
Si el permiso de ejecución está activo sobre un directorio
significa que el usuario podrá realizar otras funciones dentro de él
mediante los otros permisos de lectura y escritura, y si está activo
sobre un archivo se podrá ejecutarlo desde la línea de comandos.
Cambio de permisos con chmod
Utilizando taquigrafía basada en caracteres.
Para poder utilizar la taquigrafía basada en caracteres tomemos en
cuenta la siguiente lista con su respectiva correspondencia:
Símbolo Descripción
Identidades u
Es el usuario propietario del archivo o
directorio
g
Es el grupo al que pertenece el archivo o
directorio
o
Otros usuarios, el resto del mundo, ni el
propietario ni su grupo
a
Todo el mundo – propietario, grupo y otros
Permisos
r
Acceso de lectura
w
Acceso de escritura
x
Acceso de ejecución
Acciones
+
Añade los permisos
Elimina los permisos
=
el único permiso
Ejemplos:
Ejemplo
$ touch foto1.png
Descripción
Creamos el
foto1.png
Resultado
archivo foto1.png
$ chmod a-rwx foto1.png
$ chmod u+rwx foto1.png
$ chmod g+x foto1.png
$ chmod o+r foto1.png
$ chmod u-rw foto1.png
$ chmod a=r foto1.png
$ chmod a=rx foto1.png
$ chmod a=- foto1.png
$ chmod u+rx,o+x foto1.png
$ chmod g+rx,o-x foto1.png
Quitamos todos los
permisos al archivo
foto1.png
Añadimos todos los
permisos
para
el
propietario
Añadimos el permiso de
ejecución para el grupo
Añadimos el permiso de
lectura para los otros
usuarios
Eliminamos los permisos
de lectura y escritura
para el propietario
Establecemos
como
unico
permiso
de
lectura para los 3 grupos
Establecemos
los
permisos de lectura y
ejecución para los 3
grupos
Quitamos todos los
permisos
Añadimos los permisos
de lectura y ejecución al
propietario y ejecución
a otros
Añadimos permiso de
lectura y ejecución al
---------
rwx------
rwx—x--rwx—xr--
--x—xr--
r—r—r--
r-xr-xr-x
---------r-x-----x
r-xr-x---
grupo y eliminamos
permiso de ejecución a
otros
$
chmod
ug+wx,o-x Añadimos permiso de rwxrwx--foto1.png
escritura y ejecución al
propietario y grupo, y
eliminamos permiso de
ejecución a otros
$ chmod a=rw foto1.png
Permite a cualquiera rw-rw-rwmodificar el contenido e
incluso
eliminar
el
archivo
Si cambiamos los permisos a un directorio y deseamos que estos
permisos tengan efecto sobre todos sus subdirectorios y archivos
sólo deberemos añadir la opción –R. Ejemplo:
$ chmod a=rw DIRECTORIO –R
Utilizando números.
Cada permiso tienen asignado un valor, incluso cuando el permiso
no está activo. Para poder utilizar los números tendremos que
tener en cuenta la siguiente tabla con sus respectivos valores:
r
=
w
=
x
=
- = 0 (sin permisos)
4
2
1
(lectura)
(escritura)
(ejecucion)
Cuando asignamos los permisos utilizando números
debemos tener en cuenta que primero se sumarán los
valores y dicho resultado será el que se coloque, aquí una
tabla que muestra dichos valores:
Valor Permisos Descripción
0
--El valor cero significa que no se han asignado
permisos
1
--x
sólo se ha asignado el de ejecución
2
-wsólo permiso de escritura
3
-wx
permisos de escritura y ejecución
4
r-sólo permiso de lectura
5
r-x
permisos de lectura y ejecución
6
rwpermisos de lectura y escritura
7
rwx
permisos: lectura, escritura y ejecución
Los permisos por números se asignan en grupos de 3, es decir, para
el propietario-grupo-otros, no es factible asignar solo para uno o
dos de ellos.
Ejemplos:
rw-r--r-- (644) — Sólo el propietario tiene los permisos de leer y
escribir; el grupo y los demás sólo pueden leer.
Ejemplo
Descripción
$ touch foto2.png creamos el archivo foto2.png
$ chmod 000
foto2.png
$ chmod 700
foto2.png
Resultado
foto2.png
quitamos todos los permisos al ---------archivo foto2.png
añadimos todos los permisos para el -rwx-----propietario
$ chmod 710
foto2.png
$ chmod 714
foto2.png
$ chmod 114
foto2.png
$ chmod 444
foto2.png
$ chmod 555
foto2.png
$ chmod 000
foto2.png
$ chmod 501
foto2.png
$ chmod 550
foto2.png
$ chmod 770
foto2.png
$ chmod 666
foto2.png
añadimos el permiso de ejecución
para el grupo
añadimos el permiso de lectura para
los otros usuarios
eliminamos los permisos de lectura y
escritura para el propietario
establecemos como unico permiso de
lectura para los 3 grupos
establecemos los permisos de lectura
y ejecución para los 3 grupos
quitamos todos los permisos
-rwx—x---
añadimos los permisos de lectura y
ejecución al propietario y ejecución a
otros
añadimos permiso de lectura y
ejecución al grupo y eliminamos
permiso de ejecución a otros
añadimos permiso de escritura y
ejecución al propietario y grupo, y
eliminamos permiso de ejecución a
otros
permite a cualquiera modificar el
contenido e incluso eliminar el
archivo
-r-x-----x
-rwx—xr----x—xr--r—r—r--r-xr-xr-x
-----------
-r-xr-x---
-rwxrwx---
-rw-rwrw-
Referencias
http://es.wikipedia.org/wiki/Permisos_de_acceso_a_archivos.
Información sobre Permisos de acceso a archivos.
http://www.ignside.net/man/ftp/chmod.php Especificaciones e
información sobre la utilización del comando Chmod
Descargar