Articulo III de GNU/Linux

Si has creado algún documento interesante, este es su sitio

Moderador: Moderadores

Articulo III de GNU/Linux

Notapor 10010 » Mié Mar 15, 2006 8:32 pm


GNU/LINUX
Articulo III
Enamorad@ hasta los tuétanos.
Realizado por: 10010



Descarga: GNU Linux Básico III

Comenzamos con la diversión:

Conociendo a los gatos (cat) y gestionando archivos en Linux; permisos y propietarios.

Presentación.

Estoy muy emocionada por este tercer articulo sobre GNU/Linux, en verdad nunca imagine que llegaría hasta aquí de una forma tan rápida, tanto es mi asombro, que cuando termine con GNU/Linux me dedicare a la escritura de otros artículos :),... Luego de haber compartido con todos ustedes mis experiencias personales con GNU/Linux en los artículos anteriores, he notado cierta satisfacción personal, la cual a llegado al extremo de la adicción por liberar todos esos conocimientos que rondan por mi hermoso cerebro, ya que el conocimiento libre y espontáneo es lo único que nos libera del maldito egoísmo mundial del día a día.

En este articulo aprenderemos a cambiar los propietarios y permisos de los archivos de nuestro hermoso Sistema Operativo (S.O), utilizando como herramienta a la hermosa shell, la cual se convertirá en nuestra mejor aliada desde hoy y para siempre, es hora de comenzar con la diversión.

Conociendo a los gatos.

Antes de comenzar con la administración de archivos en GNU/Linux, debo explicar un comando sumamente importante y útil llamado “cat”. Este comando se invoca sin utilizar ningún parámetro extra y toma como entrada el teclado (entrada estándar). Veamos un simple ejemplo:

Imagen

cada vez que presionamos la tecla ENTER el comando se empeña en repetir lo que habíamos escrito. Para salir de este infierno solo presiona Ctrl+D (Control mas la tecla D), en caso de no salir a la primera presiona Ctrl+D, Ctrl+D (dos veces).

Todo lo que se escriba utilizando este comando se mostrara en nuestro monitor (salida estándar). Ahora vamos a redireccionar la salida estándar a un fichero. La sintaxis es la siguiente cat > [nombre_del_fichero], sera mucho mejor si vemos un ejemplo:

Imagen

para salir del comando presiona (Ctrl+D) y en caso de no lograrlo presionalo 2 veces, no te sientas ofendid@ solo me gusta recordarte las cosas :). Como puedes observar en la imagen anterior, hemos creado un fichero con el comando “cat” llamado “f1.txt” el cual contiene el siguiente texto “Este es el primer ejemplo. (Presiona ENTER)”, “Este fichero se llama f1.txt”, luego listamos (mostramos) el contenido del directorio de trabajo y observamos que se creo el fichero. ¿Pero como diablos visualizo el fichero f1.txt?, hombre (no se ofendan chicas) esto ya lo explique en el articulo anterior; “more”, “less”, pero vamos a utilizar la sintaxis del comando “cat” la cual es; cat <nombre_fichero>, de seguro ya lo sabias, ya te pongo un ejemplo:

Imagen

en realidad esto no merece la pena explicarlo, ya que es sumamente fácil de entender CIERTO.


Como puedes darte cuenta el comando “cat” nos puede servir de editor, en caso de que nuestro sistema falle y solo podamos entrar al mismo utilizando la shell. ¿pero como diablos añado mas texto al fichero f1.txt?, solo debes utilizar la siguiente sintaxis; cat >> [nombre_fichero], eso si, debes de tener mucho cuidado de no confundirte; “cat >” crea un fichero y “cat >>” añade nuevo texto al fichero. Veamos un ejemplo de este ultimo:

Imagen

como puedes ver el nuevo texto se añadió al fichero “f1.txt”. ¿pero por que diablos llaman a un comando gato (cat)?, bueno en realidad el nombre de este comando viene de la abreviatura de la palabra inglesa CONCATENAR, lo cual significa UNIR. Observemos un ejemplo:

Imagen

primero creamos un fichero llamado “1.txt” que contiene el siguiente texto; “texto 1”, luego utilizamos el poder del comando “cat” para concatenar el texto a un nuevo fichero llamado “2.txt”, mostramos los archivos del directorio de trabajo y observamos que están los dos ficheros que hemos creado anteriormente, para finalizar mostramos el contenido del fichero “2.txt” y observamos que es el mismo que se encuentra en el fichero “1.txt” :).

Todavía falta explicar algo muy importante del comando “cat”, pero lo tendré que dejar para otro articulo, ya que la explicación del mismo requiere que los lectores conozcan como montar y desmontar un dispositivo, así que no desesperes, ya llegara el momento.

Ahora continuemos con el presente articulo, a llegado la hora de comenzar a enfrentarnos con la administración de archivos y usuarios en GNU/Linux,......... ! vamos a la ataque ¡

Permisos y propietarios de los archivos.

Cada archivo y directorio de GNU/Linux posee permisos de lectura, escritura y ejecución. Aprenderemos a cambiar los permisos y los propietarios de nuestros archivos, con el objetivo de proporcionar un mayor o menor grado de accesibilidad a los mismo. Para ver los permisos de los archivos podemos utilizar el comando “ls -l”, veamos un ejemplo:

Imagen

lo primero que hacemos es cambiar al directorio “13”, luego listamos el contenido del mismo utilizando “ls -l”. Podemos observar la siguiente cadena “drwxr-xr-x” la cual representa los permisos del directorio “14 (en color azul)”, el primer “seneka” significa el nombre del propietario del directorio “14”, luego observamos “lp” que representa el grupo al que pertenece el directorio “14”. Veamos como cambiar de propietarios.

Cambio de propietarios de archivos/directorios.

Comencemos a imaginar una situación; imaginemos que deseamos que un directorio/archivo de nuestro PC (computadora, ordenador) pase a pertenecer a otra persona (usuario):

Imagen

en el directorio “13” tenemos un sub-directorio llamado “14 (en color azul)”, que pertenece al usuario “seneka” y al grupo “lp”. Queremos cambiarlo al propietario “ada” y al grupo “disk”. Para realizar los cambios tendremos que estar como root (administrador). observa el ejemplo:

Imagen

como pueden ver el sub-directorio “14” ahora es del usuario “ada” y del grupo “disk”, pero sera mejor que lo explique a fondo. Primero utilizamos el comando “su” para volvernos “root”, luego listo (muestro) el contenido del usuario “seneka” y cambio al directorio “13”, ya que en el se encuentra el sub-directorio “14” el cual deseamos cambiar de propietario. Aquí viene lo nuevo, la utilización del comando “chown” una de las sintaxis es la siguiente:

chown <usuario.grupo> <archivo/directorio>

siguiendo la sintaxis. Cuando escribo “chown ada.disk 14”, lo que estoy es diciéndole a Linux que CAMBIE el propietario del sub-directorio “14” al usuario “ada” del grupo “disk”, así de simple. Recuerden que el punto entre usuario y grupo (ada.disk) es obligatorio.

También es posible cambiar por separado el usuario y el grupo:

“chown ada 14” (cambio el directorio “14” al usuario ada)
“chown .disk 14” (cambio el directorio “14” al grupo disk)

con esto obtenemos exactamente lo mismo, pero utilizando un paso de mas :), no olvides consultar la ayuda “chown – help”.

Ahora veamos otra forma de cambiar el propietario de un archivo/directorio. ¿Que no te lo crees?, solo observa y recuerda que el objetivo de esta serie de artículos es la de aprender como funcionan las cosas y las distintas formas de hacer esas cosas :).

Siguiendo con el ejemplo anterior, vamos a volver a cambiarle el propietario al directorio “14”, en este caso el nuevo propietario volverá a ser el usuario “seneka” del grupo “lp”. Veamos el ejemplo:

Imagen

como pueden ver el nuevo propietario es “seneka” del grupo “lp”. Para el cambio hemos utilizado lo siguiente: “chown seneka:lp 14”, como puedes observar la única diferencia entre el método anterior y este, es que el usuario y el grupo están separados por “ : (dos puntos)”.

Veamos la sintaxis de los dos métodos:

método 1; utilizando un punto (.) <usuario.grupo> :
chown <usuario.grupo> <archivo/directorio>

método 2; utilizando dos puntos (:) <usuario:grupo> :
chown <usuario:grupo> <archivo/directorio>

Si solo tienes un usuario en tu sistema, prueba con cambiar los propietarios del mismos con el administrador (root), o crea un nuevo usuario utilizando la herramienta gráfica que viene con tu GNU/Linux.

Cambiando los permisos de los archivos.

Linux es un sistema multiusuario real, por tal motivo es necesario contar con permisos de accesos a los archivos, ya que cada usuario del sistema necesita privacidad en cuanto a la información almacenada en su cuenta. Hay dos formas de cambiar los permisos de los archivos, una es utilizando letras y otra utilizando números, de mas esta decir que aprenderemos la dos formas. Es hora de comenzar con la diversión.

Dentro de Linux cada archivo posee un código de 9 bits de protección, el cual regula el acceso al mismo, clasificando a los usuarios que pueden tener acceso a los archivos en un grupo de 3 clases, el cual es el siguiente:

Clase u (user – usuario); formada por el dueño del fichero.

Clase g (group – grupo); formada por los usuarios que forman parte del grupo del propietario.

Clase o (others – otros); formada por el resto de los usuarios.

Los 9 bits de protección de acceso a los archivos se encuentran divididos en 3 grupos de 3bits cada uno. Cada grupo de 3 bits regula el acceso a: u, g, o respectivamente.

Cada bit de cada grupo indica:

bit 1 (r); permiso de lectura.

bit 2 (w); permiso de escritura.

bit 3 (x); permiso de ejecución.

Para observar los permisos de cualquier archivo utilizaremos el comando “ls -l”. Veamos un ejemplo:

Imagen

primero listo (muestro) el contenido del directorio de trabajo, luego cambio al directorio “6” y listo el contenido del mismo con; “ls -l”. Podemos observar la siguiente cadena; “-rw-r--r--”, la cual representa los permisos del archivo para las clases; u, g, o (usuarios, grupos, otros). Agrupemos esas cadenas de erres (r), guiones (-) y uves (w) en grupos de 3, comenzando por el segundo carácter de la izquierda, el cual es la primera (r). Obtenemos lo siguiente ;

rw- ; los 3 bits de permisos para el propietario del archivo “7.txt.”

r-- ; los 3 bits de permisos para el grupo al que pertenece el archivo “7.txt.”

r-- ; los 3 bits de permisos para el resto de los usuarios.

los guiones (-) significan; sin permiso.

teniendo esto en mente, observamos la siguiente imagen:

Imagen

la cual nos dice lo siguiente; el usuario “seneka” propietario del archivo “7.txt” tiene permisos de lectura y escritura (rw-). El grupo “lp” tiene permiso solo de lectura (r--) y el resto de los usuarios solo tienen permiso de lectura (r--). Ahora hagamos una sencilla comparación:

cadena 1:
“rw-r--r--”; cadena sacada de la unión de: (rw-) / (r--) / (r--), explicación anterior.

cadena 2:
“-rw-r--r--”; cadena mostrada en la imagen anterior.

Si observamos las dos cadenas nos daremos cuenta de que tienen una única diferencia, la cual es, un guión (-) al comienzo de la “cadena 2” (“-rw-r--r--”). Ese primer guión es el encargado de decirnos si estamos en un archivo o en un directorio. ¿Como me lo dice? Observa el próximo ejemplo:

(-); estas en un archivo.

(d); estas en un directorio.

Imagen

primero creamos un sub-directorio llamado “8” dentro del directorio “6”, luego listamos con: “ls -l”. Observamos los permisos del archivo “7.txt” y del directorio “8 (esta en color azul)”. Como puedes ver, los permisos del archivo “7.txt” comienzan con un guión (-), mientras que los permisos del directorio “8” comienzan con una “d” :).

Ahora vamos a conocer el comando encargado de cambiar los permisos de los archivos, este comando es: “chmod”. Veamos un completo ejemplo:

Imagen

Bueno, primero cambiamos a modo administrador (root) y listamos (mostramos) el contenido del directorio de trabajo, luego cambiamos al directorio “6” y listamos con el comando “ls -l”, cambiamos los permisos del archivo “7.txt” con el comando “chmod go+w 7.txt” y para terminar listamos nuevamente y observamos como los permisos han sido cambiados satisfactoriamente. Ahora analicemos que hace “chmod go+w 7.txt”:

“chmod”; comando para cambiar permisos de archivos

“go+w”; g (grupo de usuarios al que pertenece el archivo), o (otros usuarios), + (añadir), w (permiso de escritura).
“7.txt”; el archivo al que se le cambiaran los permisos de acceso.

Entendiendo lo anteriormente explicado, podemos decir que cuando lanzamos el comando; “chmod go+w 7.txt”, estamos diciéndole a Linux algo como esto:

“CAMBIA los permisos del archivo “7.txt” a los GRUPOS (g) de usuarios del mismo y a los OTROS (o) usuarios AÑADIENDOLES (+) permisos de ESCRITURA (w).”

Creo que con esa explicación a quedado todo claro, ! CIERTO ¡, sin embargo tengo que explicarte algo mas.

¿Como añado o elimino un permiso de un archivo?

Con mas (+); lo añades.
Con menos (-); lo eliminas.

Bueno, si queremos volver a dejar los permisos como estaban, lo único que tendríamos que hacer seria: “chmod go-w 7.txt” y si quisiéramos eliminar la lectura (r) al grupo (g) y a los otros (o), seria algo así: “chmod go-r 7.txt”. Practica :)

La otra forma de cambiar los permisos a los archivos.

Para el siguiente método necesitaremos la siguiente tabla; en ella se nos muestra la notación en octal que debemos usar, que es una abstracción de la representación siguiente, la existencia (1) y la no existencia (0) de los tres tipos de permisos considerándolos como dígitos binarios.CORRECION 2: El parrafo anterior ha sido corregido. :)

Imagen
CORRECION 1: linux no interpreta los permisos como decimal, sino como octal, por tal motivo el grafico no esta bien, donde dice "decimal" hay que colocar "octal". Gracias a risperdal por el apunte

Ya teniendo la tabla nos posicionamos en Binario y observamos que la misma esta formada por 8 números diferentes de 3 dígitos cada uno, representados por ceros (0) y unos (1). Imaginemos que los unos (1) activan permisos y los ceros (0) los desactivan. Como tenemos que asignar permisos al dueño del archivo; u (usuario), al grupo al que pertenece el archivo; g (grupo) y a los demás usuarios; o (otros), lo haremos aplicando a los 3 posibles permisos (lectura (r) , escritura (w), ejecución (x)) una mascara de la siguiente manera. Vemos esta tabla de ejemplo:

Imagen

Ahora voy a explicar lo que hace esta simple tabla, primero nos ubicamos en Binario y observamos 3 números, los cuales son; 111, 110, 110, luego nos ubicamos en Nuevo Permiso el cual contiene; rwx, rw-, rw- y observamos que los 3 datos de Binario y Nuevo Permiso están formados por 3 dígitos cada uno. Si recordamos que los unos (1) activan permisos y los ceros (0) los desactivan, entenderemos por que 111 activa los permisos de rwx (todos) y por que 110 solo activa los permisos de rw. Pero sera mejor verlo en la siguiente tabla:

Imagen

Todo esto lo que quiere decir es que para activar o desactivar un permiso solo tendremos que buscar los 3 números Binarios correctos y luego el Decimal de cada uno de ellos. El decimal de 111 es 7 y el de 110 es 6, ¿como diablos sabes eso? pues hombre, observa la primera tabla (la mas larga :). Vamos a la practica.

Imagen

Primero cambio a modo “root” con el comando “su” y listo “ls” el contenido del directorio de trabajo, luego cambio al directorio “6” y listo su contenido con “ls -l”. Observemos que los permisos del archivo “7.txt” son; “-rw-r--r--”. Luego utilizamos “chmod 766 7.txt” y cambiamos los permisos, listamos nuevamente con “ls -l” y observamos que los permisos del archivo “7.txt” cambiaron “-rwxrw-rw-”.

Veamos la sintaxis del comando “chmod”:

chmod <números> <archivo>, donde números, son los 3 números Binarios utilizando una mascara en Decimal.

Los permisos pueden ser modificados tanto en archivos como en directorios, pero debes de tener en cuenta que el concepto de permiso de ejecución posee un significado muy distinto para un directorio. Cambia el permiso de ejecución de un directorio y observa las diferencias :), puedes utilizar usuarios distintos y de diferentes grupos. SUERTE.

Conclusiones.

Hemos llegado al final de este articulo, espero que ya comiences a sentir que te desenvuelves mucho mas LIBRE por tu hermoso GNU/Linux. Ya tienes conocimientos sobre la administración de permisos y propietarios, algo fundamental para el estudio de la administración de usuarios.

En el próximo articulo crearemos y eliminaremos cuentas de usuarios utilizando nuestra amada shell y continuaremos avanzando en este hermoso camino de sabiduría y aprendizaje, que solo tu espíritu rebelde y tu curiosidad podrán sortear y así llegar al final. No te detengas, no te rindas, no le tengas miedo a lo desconocido, el conocimiento es lo único que te da libertad plena, sin el seras esclavo del maldito y prostituido sistema social. Solo tu puedes elegir despertar y conocer al mundo real.


Articulo realizado por:
10010.

P.D: Gracias nuevamente a Seneka :)
Última edición por 10010 el Lun Mar 20, 2006 1:07 am, editado 2 veces en total
"EvaKorvus y ??????_ , .... Nunca los perdonare, para mi..... no existen".
**********************************************************
Nuestro himno: una melodía
Nuestra religión: el placer
Nuestro símbolo: un embudo
Avatar de Usuario
10010
:-D
:-D
 
Mensajes: 71
Registrado: Lun Mar 06, 2006 6:25 pm
Ubicación: Tierra Wadalbertiana, hotel telaraña, puerta 10010

Notapor NeTTinG » Mié Mar 15, 2006 11:45 pm

Hola:

De nuevo, gracias! ;)

SALU2
| Blog NeTTinG | Proyecto Destripando iOS |
_____________________________
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas. (Albert Einstein)
Todos recaerán en la necesidad de conocer la única y presumible verdad que el gran embudo emana. (Sire Netting)
Avatar de Usuario
NeTTinG
Wadalbertita
Wadalbertita
 
Mensajes: 6270
Registrado: Mar Sep 20, 2005 5:54 pm
Ubicación: Bajo la trampilla del décimo primer piso.

Notapor 10010 » Jue Mar 16, 2006 2:10 am

Mas bien gracias a todos ustedes, por permitirme ser parte de esta hermosa familia.
"EvaKorvus y ??????_ , .... Nunca los perdonare, para mi..... no existen".
**********************************************************
Nuestro himno: una melodía
Nuestra religión: el placer
Nuestro símbolo: un embudo
Avatar de Usuario
10010
:-D
:-D
 
Mensajes: 71
Registrado: Lun Mar 06, 2006 6:25 pm
Ubicación: Tierra Wadalbertiana, hotel telaraña, puerta 10010

Notapor vlan7 » Vie Mar 17, 2006 11:39 am

Muy bien 10010 8)
Solo un apunte: los permisos con numero, linux no los interpreta como decimal sino como octal ;)
Buen trabajo!
There is a crack, a crack in everything That's how the light gets in. -subculture

zen7.vlan7.org
Avatar de Usuario
vlan7
<|:-D
<|:-D
 
Mensajes: 1176
Registrado: Dom Mar 05, 2006 11:16 pm
Ubicación: Mas alla del EIP

Notapor 10010 » Vie Mar 17, 2006 5:23 pm

risperdal dijo:
Código: Seleccionar todo
Muy bien 10010 Cool
Solo un apunte: los permisos con numero, linux no los interpreta como decimal sino como octal

Es cierto......el grafico esta incorrecto(creo que lo elabore muy apuradita):p, pero el texto si esta bien :)

En texto dice:
La otra forma de cambiar los permisos a los archivos.

Para el siguiente método necesitaremos la siguiente tabla; en ella se nos muestra la notación binaria denominada octal, debido a que puede mostrar ocho valores distintos.


Voy a editar el link del articulo para advertir del problemita
"EvaKorvus y ??????_ , .... Nunca los perdonare, para mi..... no existen".
**********************************************************
Nuestro himno: una melodía
Nuestra religión: el placer
Nuestro símbolo: un embudo
Avatar de Usuario
10010
:-D
:-D
 
Mensajes: 71
Registrado: Lun Mar 06, 2006 6:25 pm
Ubicación: Tierra Wadalbertiana, hotel telaraña, puerta 10010

Notapor Death_Master » Vie Mar 17, 2006 5:26 pm

Creo que es un problema de semántica. La notación binaria es binaria y la octal es octal. Ambas son representaciones numéricas, pero la octal no es un tipo de binaria como da a aentender la frase "binaria denominada octal".

En cualquier caso creo que no tiene ninguna importancia, se entiende perfectamente y el artículo es muy bueno.

Enhorabuena 10010.
Omnium potentior est sapientia
Avatar de Usuario
Death_Master
Gran Wadalbertita
Gran Wadalbertita
 
Mensajes: 2925
Registrado: Mié Ene 26, 2005 10:36 pm
Ubicación: 404

Notapor 10010 » Vie Mar 17, 2006 5:47 pm

Muchas gracias por el comentario Death_Master
Código: Seleccionar todo
Creo que es un problema de semántica. La notación binaria es binaria y la octal es octal. Ambas son representaciones numéricas, pero la octal no es un tipo de binaria como da a aentender la frase "binaria denominada octal".


A decir verdad, es muy cierto lo que dices. No le habia prestado mucha atencion al asunto hasta que observe tu post, y todavia no he encontrado la manera de explicarlo correctamente, pero bueno, creo que con el analisis de Death_Master las cosas han quedado mucho mas claras. Gracias
"EvaKorvus y ??????_ , .... Nunca los perdonare, para mi..... no existen".
**********************************************************
Nuestro himno: una melodía
Nuestra religión: el placer
Nuestro símbolo: un embudo
Avatar de Usuario
10010
:-D
:-D
 
Mensajes: 71
Registrado: Lun Mar 06, 2006 6:25 pm
Ubicación: Tierra Wadalbertiana, hotel telaraña, puerta 10010

Notapor Death_Master » Vie Mar 17, 2006 6:29 pm

10010 escribió:La otra forma de cambiar los permisos a los archivos.

Para el siguiente método necesitaremos la siguiente tabla; en ella se nos muestra la notación binaria denominada octal, debido a que puede mostrar ocho valores distintos.


Yo lo diría así:

La otra forma de cambiar los permisos a los archivos.

Para el siguiente método necesitaremos la siguiente tabla; en ella se nos muestra la notación en octal que debemos usar, que es una abstracción de la representación la existencia (1) o no (0) de los tres tipos de permisos considerándolos como dígitos binarios.
Omnium potentior est sapientia
Avatar de Usuario
Death_Master
Gran Wadalbertita
Gran Wadalbertita
 
Mensajes: 2925
Registrado: Mié Ene 26, 2005 10:36 pm
Ubicación: 404

Notapor termithe » Vie Mar 17, 2006 9:39 pm

Está muy bien , gracias por la aportación , sal2sss.
Avatar de Usuario
termithe
:-D
:-D
 
Mensajes: 110
Registrado: Sab Sep 03, 2005 9:17 pm


Volver a Faq

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

cron