InicioLinuxIntroducción a Linux - Cuarta Parte

Introducción a Linux - Cuarta Parte

Linux1/30/2008

Cuarta parte de mi curso recopilatorio, seguimos entonces...

Locales
Otro mensaje con el que se topará será "Configuring Locales". Lo que debería hacer es seleccionar "es_AR ISO-8859-1" y luego "Ok" entonces aparecerá otra pantalla mas de "locales" que le preguntará cual desea que sea el "default" o predeterminado, lógicamente debe elegir es_AR. Desafortunadamente esto no servirá de nada ya que hay un bug en el proceso de instalación que impide que estas preferencias se guarden en el sistema final. Lo que debe hacer para tener su sistema configurado en español se detallará más adelante.


Mozilla
Ahora toca el turno a las pantallas de configuración del paquete Mozilla, la primera nos pregunta acerca del uso de freetype en Mozilla, lo mejor es elegir "Yes".Una segunda pantalla de configuración de Mozilla le presenta una lista con las diferentes opciones con las que puede reproducir sonido con Mozilla. La mejor es "artsdsp" que es el que maneja kde, el entorno de escritorio estándar de Debian.


X Window
La siguiente pantalla muestra el mensaje "manage X server wrapper configuration file with debconf?". El sistema X es el encargado de manejar las capacidades gráficas en Linux esta pantalla le pregunta si desea que la configuración para determinar servidores X sea manejado por "debconf". Debconf es el sistema que se encarga de mostrarle pantallas de configuración al momento de instalar paquetes. Lo más recomendable es responder "Yes".

Después se presenta la pantalla Configuring Xserver-xfree86" con la pregunta "Manage XFree86 4.x server configuration file with debconf?" es decir, desea configurar el servidor X XFree86 con Debconf, responda "Yes" para continuar con la configuración de las X.

Ahora debe elegir de la lista de controladores para tarjetas de video el correspondiente a su hardware. La pregunta ahora es "Use kernel framebuffer device interface?".

Depende del tipo de tarjeta que Usted use, con tarjetas nVidia lo mejor es no usar el framebuffer del Kernel pero con la SiS es mejor usarlo.

La siguiente pantalla es para configurar el set de reglas de teclado de XFree86, lo mejor es dejar el predeterminado "xfree86" y presionar “enter”.

Después se le presenta una pequeña explicación acerca de los modelos estándar de teclado, lea la información y presione “enter” para continuar. Ahora debe especificar el modelo de su teclado, los más comunes para teclados en español son pc104 y pc105.
Después de especificar el modelo de teclado debe especificar la distribución de las teclas. Aquí debe escribir "es" para usar teclados en español.

Dos pantallas más, una que le pide el "keyboard variant" y otra que le pide el "keyboard options", puede dejarlas en blanco.

El "variant" es para algunos teclados no estándar y el "options" para sustituir una tecla por otra, si es Usted un usuario avanzado siéntase libre de editarlas.

La siguiente pantalla es para seleccionar el puerto al que está conectado el ratón. "/dev/psaux" es una de las más comunes incluso para laptops con trackpad. Ahora debe elegir el tipo de ratón que tiene conectado o el que más se ajuste a este. "PS/2" funciona con muchos ratones PS/2 estándar, "ImPS/2" funciona con ratones ópticos, "GlidePointPS/2" trabaja bien con trackpads, etc.

Aparecerá una pantalla con la pregunta "Is your monitor an LCD device?". Si tiene un monitor LCD responda "Yes" de lo contrario responda "No". Se desplegará ahora una pantalla que le pide que elija de que manera desea configurar su monitor.

Si elige "Medium" aparecerá un menú con diferentes modos de pantalla para que usted escoja el que trabaje mejor con su monitor, pero si elige la opción "Advanced" tendrá que especificar las velocidades de refresco específicas de su monitor. Consulte el manual de su monitor e introduzca los valores adecuados, es importante no poner valores equivocados ya que en algunos casos esto puede quemar su monitor.

Después de especificar velocidades de refresco deberá seleccionar las resoluciones soportadas por su monitor. Seleccione las adecuadas, luego seleccione "Ok" y presione enter para continuar.

Ahora debe seleccionar la profundidad del color en bits la mejor es "24" pero quizás su tarjeta de video no la soporte, consulte el manual de su tarjeta de video y seleccione la opción que más le convenga.


Manuales en español
Se encontrará con un mensaje que le explica lo que debe hacer para que los manuales de su sistema (los que aparecen con comandos como "man ls" estén en español. Esto no es muy importante ya que esto se configura a través del paquete "locales".


User-es
User-es es un paquete obsoleto para que el sistema trabaje en español, durante la instalación de éste podrá observar un mensaje mostrando las rutas donde se encuentra la documentación y que recomienda usar el comando "castellanizar", NO LO USE, éste comando solo complicará las cosas, lo mejor es desinstalar este paquete posteriormente.


Ispell
La siguiente configuración es la del diccionario Ispell. En esta ocasión no se desplegará una ventana con opciones sino un mensaje que le invita a seleccionar el diccionario adecuado presionando una tecla numérica. Desafortunadamente el diccionario en español no se instala por defecto, por lo que tendremos que instalarlo después.


Exim
Exim es un programa para correo electrónico como Sendmail. De nuevo no verá una pantalla para la configuración sino varias opciones a elegir escribiendo el número adecuado a sus preferencias. Si no desea tener un servidor de correo electrónico o es usted un usuario principiante presione la tecla "5" y luego “enter” para dejar Exim sin configurar.

Ésta debe ser la última configuración. Si se conectó a Internet a través vía telefónica con modem, aparecerá el mensaje "Do you want me to close the ppp conection?", es decir, si desea desconectarse. Después de responder podrá leer el mensaje "Have fun!" esto quiere decir que ha terminado la instalación de su sistema Debian.


Comandos básicos
Todos los nombres de archivos y comandos en un sistema basado en UNIX son "case-sensitive" (Que hacen diferencia entre mayúsculas y minúsculas, a diferencia de sistemas operativos como MS-DOS). Por ejemplo, el comando make es diferente a Make o MAKE. Lo mismo ocurre en el caso de nombres de archivos o directorios.


Montando unidades
Linux a diferencia de Windows no utiliza letras ("a:", "c:", "d:" para acceder a las distintas unidades de disco de una PC. En Linux para acceder al contenido de una unidad de disco o de un CD-ROM este tiene que haber sido previamente "montado". Se realiza mediante el comando mount, con lo que el contenido de la unidad se pone a disposición del usuario en el directorio de Linux que se elija.

mount -t iso9660 /dev/cdrom /mnt/cdrom “-t iso 9660” indica el tipo de sistema que usa la unidad de disco para guardar los archivos (las más usuales son: iso 9660 en el caso de un CD-ROM, vfat en el caso de Windows, y ext2 en el caso de Linux), /dev/cdrom indica el dispositivo que se va a montar. Todos los dispositivos están representados por un archivo del directorio /dev, por ejemplo en el caso de un disquete será seguramente /dev/fd0, por último /mnt/cdrom es el directorio en el que se pondrá a disposición del usuario el contenido del CD-ROM. Para montar disquetes se suele utilizar el directorio /mnt/floppy.

De todas formas el usuario siempre puede crear un directorio vacío con el nombre que el elija para montar las unidades de disco que desee donde desee. Cuando el usuario haya dejado de usar ese disco deberá "desmontarlo" mediante el comando umount antes de sacar el disquete o el CD-ROM. En este último caso debería escribir:

umount /mnt/cdrom Desmonta el dispositivo /dev/cdrom, previamente montado en /mnt/cdrom

Por lo general encontrará en cualquier versión de Linux un directorio llamado "/mnt" derivación de la palabra "mount" y dentro de este dos subdirectorios llamados "/mnt/floppy" donde se ubicarán los disquetes montados para su lectura y otro subdirectorio llamado "/mnt/cdrom" donde se montara la unidad de CDROM.

Para utilizar el comando mount de la forma anterior hace falta ser administrador o root. Para que un usuario común pueda utilizar disquetes, CD-ROM, etc. hay que editar el archivo /etc/fstab Por ejemplo para que cualquier usuario pueda acceder a un disquete habrá que indicar la siguiente línea:

/dev/fd0 /mnt/floppy vfat user,noauto 0 0

También habrá que asegurarse de que el directorio /mnt/floppy sea accesible por todos los usuarios. Una vez seguidos los pasos anteriores cualquier usuario podrá "montar" un disquete escribiendo el siguiente comando:

mount /mnt/floppy

Al igual que antes el usuario deberá ejecutar el comando umount /mnt/floppy antes de sacar el disquete.

Existen en la actualidad distribuciones (p. ej. Linux Mandrake) que realizan este proceso de forma automática por lo que las unidades de disquete y CD-ROM quedan accesibles a todos los usuarios de una forma sencilla.

mount /mnt/floppy
umount /mnt/floppy

Siempre que /mnt/floppy sea la ruta adecuada.

Sumario de órdenes básicas
A continuación se describen algunos comandos sencillos de que pueden ser útiles para familiarizarse con los comandos del sistema.

Date Muestra por pantalla el día y la hora.
cal 1985 Muestra el calendario del año 1985
Cal 05 1985 Muestra el calendario de Mayo de 1985
who Indica qué usuarios tiene la PC en ese momento, en qué terminal están y desde qué hora
whoami Indica qué usuario tiene la PC en ese momento.
man Permite acceder a las páginas de manual
clear Este comando limpia la consola

cd Cambia el directorio de trabajo actual.
Sintaxis: cd directorio(directorio) es el directorio al que cambiamos. (“." se refiere al directorio actual, “.." al directorio padre.)
Ejemplo: cd ../foo pone ../foo como directorio actual.

ls Muestra información sobre los archivos o directorios indicados.
Sintaxis: ls “archivo1” “archivo2” ... “archivoN”
Donde “archivo1” a “archivoN” son los archivos o directorios a listar.
Opciones: Hay más opciones de las que podría suponer. Las más usadas comúnmente son: -F (usada para mostrar información sobre el tipo de archivo), y -l (da un listado “largo” incluyendo tamaño, propietario, permisos, etc.
Ejemplo: ls -lF /home/usuario mostrará el contenido del directorio /home/usuario.

cp Copia archivo(s) en otro archivo o directorio.
Sintaxis: cp “archivo1” “archivo2” ... “archivoN” “destino”
Donde “archivo1” a “archivoN” son los archivos a copiar, y “destino” es el archivo o directorio destino.
Ejemplo: cp ../thor joe copia el archivo ../thor al archivo joe.

mv Mueve archivo(s) a otro archivo o directorio. Es equivalente a una copia seguida del borrado del original. Puede ser usado para renombrar archivos, como el comando MS-DOS RENAME.
Sintaxis: mv “archivo1” “archivo2” ...”archivoN” “destino”
Donde “archivo1” a “archivoN” son los archivos a “mover” y “destino” es el archivo o directorio destino.
Ejemplo: mv ../thor joe mueve el archivo ../thor al archivo o directorio joe.

rm Borra archivos. Nótese que cuando los archivos son borrados en UNIX, son irrecuperables (a diferencia de MS-DOS, donde usualmente se puede recuperar un archivo borrado).
Sintaxis: rm “archivo1” “archivo2” ...“archivoN”
Donde “archivo1” a “archivoN” son los nombres de los archivos a borrar.
Opciones: -i pedirá confirmación antes de borrar un archivo. Ejemplo:
rm -i /home/usuario/thor /home/usuario/loki borra los archivos thor y loki en /home/usuario.

mkdir Crea directorios nuevos.
Sintaxis: mkdir “dir1” “dir2” ...“dirN”
Donde “dir1” a “dirN” son los directorios a crear.
Ejemplo: mkdir /home/usuario/test crea el directorio test colgando de
/home/test.

rmdir Esta orden borra directorios vacíos. Al usar rmdir, el directorio de trabajo actual no debe de estar dentro del directorio a borrar.
Sintaxis: rmdir “hdir1” “dir2” ...“dirN”
Donde “dir1” a “dirN” son los directorios a borrar.
Ejemplo: rmdir /home/usuario/tyr borra el directorio /home/usuario/tyr si está vacio.

man Muestra la página de manual del comando o recurso (cualquier utilidad del sistema que no es un comando, como funciones de librería) dado. Sintaxis: man “comando”
Donde “comando” es el nombre del comando o recurso sobre el que queremos obtener la ayuda.
Ejemplo: man ls muestra ayuda sobre la orden ls.

more Muesta el contenido de los archivos indicados, una pantalla cada vez.
Sintaxis: more “archivo1” “archivo2” ...“archivoN”
Donde “archivo1” a “archivoN” son los archivos a mostrar.
Ejemplo: more docs/trabajo-practico muestra en la terminal el contenido del archivo docs/trabajo-practico l.

cat Oficialmente usado para concatenar archivos, cat también es usado para mostrar el contenido completo de un archivo de una vez.
Sintaxis: cat “archivo1” “archivo2” ...“archivoN”
Donde “archivo1” a “archivoN” son los archivos a mostrar.
Ejemplo: cat docs/formulario-php muestra en la terminal el contenido del archivo docs/formulario-php.

echo Simplemente envía a la terminal los argumentos pasados.
Sintaxis: echo “arg1” “arg2” ...“argN”
Donde “arg1” a “argN” son los argumentos a mostrar.
Ejemplo: echo “Hola mundo'' muestra la cadena “Hola mundo”.

grep Muestra todas las líneas de un archivo dado que coinciden con un cierto patrón.
Sintaxis: grep “patrón” “archivo1” “archivo2” ...“archivoN”
Donde “patrón” es una expresión regular y “archivo1” a “archivoN” son los archivos donde buscar.
Ejemplo: grep linux /etc/hosts mostrará todas las líneas en el archivo /etc/hosts que contienen la cadena “linux”.
Estructura del sistema
Al ser un sistema basado en UNIX, GNU/Linux mantiene el orden jerárquico de su antecesor, es decir, su estructura cuelga de una raíz (root system) y su punto de anclaje es "/" por eso al instalarlo el sistema le solicita que defina el punto de montaje o sea, desde donde "colgará".

Dentro hay una serie de directorios con diferentes permisos, algunos exclusivos para el administrador y otros de dominio público.


/BIN Directorio que contiene la mayoría de los archivos ejecutables en formato binario del sistema.

/BOOT Contiene toda la información necesaria para iniciar el sistema.

/DEV Es el directorio donde se encuentran todos los dispositivos del sistema, específicamente se refiere al hardware. Aquí se encuentran listados todos los dispositivos soportados por el núcleo, unidades de almacenamiento, impresoras, scanners, discos ópticos, dispositivos SCSI, modems, unidades CDROM, etc.

• Los dispositivos /dev/ttyS y /dev/cua son usados para acceder a los puertos serie. Por ejemplo, /dev/ttyS0 hace referencia a “COM1” bajo MS-DOS. Los dispositivos /dev/cua son “callout”, los cuales son usados en conjunción con un modem.

• Los nombres de dispositivo que comienzan por hd acceden a discos duros. /dev/hda hace referencia a la totalidad del primer disco duro, mientras que /dev/hda1 hace referencia a la primera partición en /dev/hda.

• Los nombres de dispositivo que comienzan con sd son dispositivos SCSI. Si tiene un disco duro SCSI, en lugar de acceder a él mediante /dev/hda, deberá acceder a /dev/sda. Las cintas SCSI son accedidas vía dispositivos st y los CD-ROM SCSI vía sr.

• Los nombres que comienzan por lp acceden a los puertos paralelo. /dev/lp0 hace referencia a “LPT1” en el mundo MS-DOS.

• /dev/null es usado como “agujero negro” - cualquier dato enviado a este dispositivo desaparece. ¿Para qué puede ser útil esto?. Bien, si desea suprimir la salida por pantalla de una orden, podría enviar la salida a /dev/null.

• Los nombres que comienzan por /dev/tty hacen referencia a “consolas virtuales” de su sistema (accesibles mediante las teclas alt-F1 , alt-F2 , etc). /dev/tty1 hace referencia a la primera VC, /dev/tty2 a la segunda, etc.

• “Los nombres de dispositivo que comienzan con /dev/pty son “pseudoterminales”. Estas son usadas para proporcionar una “terminal” a sesiones remotas. Por ejemplo, si su máquina está en una red, telnet de entrada usaría uno de los dispositivos /dev/pty.


/ETC Toda configuración queda almacenada dentro de este directorio. Servidores http, irc, de conectividad "Samba", Secure Shell “ssh”, es importante manejar con precaución este directorio, cualquier cambio puede influir en el funcionamiento directo de los demonios, por ejemplo: el servidor web apache, el sistema X Window, etc.

/HOME Su traducción explicita al castellano sería “hogar” se refiere a los hogares de los usuarios del sistema. Por ejemplo supongamos que en nuestro sistema tenemos asignado un usuario de nombre "sol-tech02" entonces su hogar será /home/sol-tech02 Este usuario al iniciar su sesión tiene como punto de partida el directorio.

/PROC Es un “sistema de archivos virtual”. Los archivos que contiene realmente residen en memoria, no en un disco. Hacen referencia a varios procesos que corren en el sistema, y le permiten obtener información acerca de que programas y procesos están corriendo en un momento dado.

/LIB Contiene todas las librerías del sistema necesarias para la ejecución de programas, en su mayoría los programas dependientes de librerías son aquellos que se ejecutan bajo entorno gráfico. Este directorio sería el similar a "c:\windows\system" de Microsoft Windows, donde se alojan las librerías dinamicas “.dll” necesarias para la ejecución de diversas aplicaciones, por ejemplo la librería “vbrun300.dll”.

/LOST+FOUND Si por alguna razón se produce un error en el sistema, un programa comete un error crítico o se pierde referencia de información dentro del sistema. Se volcará un archivo .log dentro del mismo detallando el error.

/MNT Al ser un sistema basado en un solo núcleo, Linux necesita tener definido un directorio donde montar unidades. En la versión de Linux RedHat se encuentran por defecto.

/ROOT El hogar del administrador del sistema. Dentro se almacenarán sus configuraciones personalizadas, etc. Este directorio es restringido para los demás usuarios.

/SBIN Directorio que contiene archivos de ejecución en formato binario, también encontrará más ejecutables dentro del directorio /usr/bin y /usr/sbin, es importante también mencionar el directorio /usr/local/bin y /usr/local/sbin estos directorios están confeccionados para alojar los archivos de formato binario que no son nativos de la distribución que poseamos, por ejemplo “RedHat Linux” utiliza paquetes de formato .rpm es decir que si se compila o instala un archivo .tar normalmente sus archivos binarios se hospedaran en alguno de estos directorios.

/TMP Aquí se generan archivos temporarios que son descartados por el sistema al finalizar la sesión (lo cual no implica que estos archivos puedan ser eliminados indiscriminadamente).

/USR es un directorio muy importante. Contienen una serie de subdirectorios que contienen a su vez algunos de los más importantes y útiles programas y archivos de configuración usados en el sistema. Los directorios descritos arriba son esenciales para que el sistema esté operativo, pero la mayoría de las cosas que se encuentran en /usr son opcionales para el sistema. De cualquier forma, son estas cosas opcionales las que hacen que el sistema sea útil e interesante. Sin /usr, tendría un sistema aburrido, solo con programas como cp y ls. usr contiene la mayoría de los paquetes grandes de programas y sus archivos de configuración.

/VAR Contiene directorios que a menudo cambian su tamaño o tienden a crecer. Muchos de estos directorios solían residir en /usr, por ejemplo en "/var/adm" encontraremos varios archivos de interés para el administrador del sistema, específicamente históricos del sistema, los cuales recogen errores o problemas con el sistema.


Manejo de sesiones
Existen diferentes métodos para poder conectar las terminales al sistema:

En primer lugar podemos conectarnos a un Linux a través de un puerto serie (RS232), con una terminal boba o bien con otro equipo y un emulador de terminales. En ambos casos existe un programa que atiende las solicitudes de conexión a través del puerto serie. Cuando hay una solicitud de conexión, éste programa la atiende solicitando al usuario que se identifique ante el sistema. Cuando termina la conexión, éste programa se reactiva para seguir atendiendo nuevas solicitudes.

Con una placa de red. En este caso, tenemos un programa que escucha las solicitudes de conexión a través de la placa de red. Cuando llega una solicitud este programa se desdobla de forma que una parte atiende la conexión y otra continúa atendiendo nuevas conexiones. Así podemos tener mas de una conexión a través de la placa de red. Algunos servicios que proveen esta funcionalidad son el sistema telnet (sin encriptación de datos) y el ssh (Secure Shell, con encriptación de datos).

La consola, en un sistema GNU/Linux también puede ser activada para trabajar desde el teclado y monitor al que estén conectados directamente al sistema. Normalmente en la mayoría de las distribuciones, en la consola hay hasta 6 terminales virtuales, accediendo a cada una de ellas con las teclas ALT-F1 a ALT-F6

Una vez que se ha conseguido conectar a un sistema Linux tenemos que iniciar una sesión de trabajo. Linux es un sistema multiusuario, y esto exige que el usuario se presente al sistema y que este lo acepte como usuario reconocido. Así cada vez que iniciamos una sesión Linux nos responde con:

Login:

A lo que se debe responder con el nombre de usuario. Luego, Linux solicita una clave para poder comprobar que el usuario es quien dice ser:

Password:

En este caso se teclea la clave de acceso. Por motivos de seguridad esta clave no aparecerá en la pantalla. Si la pareja nombre de usuario/clave es correcta el sistema inicia una terminal en modo texto con la que se puede trabajar.

Habitualmente será el símbolo "$", aunque puede ser también el símbolo "%" (si usamos un shell C). Cuando es el administrador (root) quien esta trabajando en el sistema, el indicador que aparece es "#".


El archivo passwd
Para iniciar una sesión de trabajo en un sistema Linux se debe suministrar al sistema una pareja de nombre de usuario/clave. Estos datos se almacenan en un archivo llamado passwd Este archivo se ubica en el directorio /etc y contiene una línea por cada usuario del sistema. Cada línea consta de una serie de campos separados por dos puntos (. Estos campos son, en el orden que aparecen:

Nombre de usuario. Es el nombre con el que nos identificamos al sistema, con el que tenemos que responder al Login: y por el que nos identifica el sistema.

Clave cifrada. El siguiente campo es la clave de acceso al sistema. Esta clave no se guarda como se introduce, sino que se almacena transformada mediante el algoritmo DES para que nadie pueda averiguarla.

UID. Identificador de usuario. Es el número de usuario que tiene cada cuenta abierta en el sistema.

GID. Identificador de grupo. Es el número de grupo principal al que pertenece el usuario.

Nombre completo de usuario. Este es un campo informativo, en el que se suele poner el nombre completo del usuario.

Directorio personal. Este campo indica el directorio personal de un usuario, en el cual el usuario puede guardar su información.
Interprete de comandos. El último campo indica un programa que se ejecutará cuando el usuario inicie una sesión de trabajo. Normalmente este campo es una shell que proporciona una línea de órdenes para que el usuario trabaje. Ejemplo:

Como mencionamos anteriormente el sistema Linux es un sistema multiusuario. A diferencia del sistema operativo MSDOS (por ejemplo), este sistema operativo tiene la capacidad de tener a más de un usuario dentro del sistema.

Por lo tanto para proteger la privacidad de los archivos y directorios de cada uno de ellos, para proteger ciertos archivos elementales para el buen funcionamiento de la máquina, y para una buena organización del sistema (aparte de otras muchas razones), tenemos a nuestra disposición los llamados permisos.

Como ya sabrá, en una computadora con el Sistema Operativo MSDOS, cualquier persona que acceda a ella puede en cualquier momento borrar todo el disco duro. En los sistemas basados en UNIX hay diferentes categorías de usuarios, siendo la más alta la del llamado "root", que puede leer, escribir y ejecutar en cualquier archivo dentro del sistema. Como he citado antes, hay 3 posibilidades a la hora de "tratar" a un archivo. Leer el archivo, ejecutar el archivo y escribir en el archivo (por supuesto, nada de esto podremos hacer si no tenemos permiso para ello o no hemos establecido los permisos oportunos).

Toda persona que haya tenido la oportunidad de trabajar con un sistema basado en UNIX, si ha tenido la ocasión de observar el archivos de paswords, habrá visto que aparte de la información del usuario, login, definición de shell se encuentran dos números, para ser mas exactos, en el tercer y cuarto campo. El tercero UID, y el cuarto, también definido en /etc/group GID. Todo esto a groso modos, serviría para identificar a cada archivo con su propietario y grupo, entre otras cosas.

Los permisos de los archivos se almacenan junto con otra información en una palabra de 16 bits dentro de lo llamado "i-node" nueve de ellos, se refieren a lo mencionado anteriormente (lectura, escritura y ejecución), además de 3 bits adicionales que contienen cierta información para las operaciones con el archivo si es ejecutable, que ya explicaremos mas adelante. Cada archivo posee un "i-node" diferente, que además de contener todo lo que hemos citado anteriormente, este número también hace referencia a los X primeros bloques en el disco donde se encuentra ese archivo, y vienen las referencias de los bloques que contienen las direcciones simples, dobles y triples del resto de los bloques del archivo.

En los archivos, de Linux, a la hora de establecer los permisos deseados tenemos que hacer uso de una orden de este S.O, que ha sido destinada para eso exactamente, para la especificación de permisos, esta orden se llama "chmod". A la hora de establecer los permisos, tenemos dos posibilidades, las dos son igual de validas y buenas, aunque cada uno siempre se habituará a la que le resulte mas cómoda. Las dos posibilidades citadas anteriormente reciben el nombre de absoluta y relativa, que mas adelante hablaremos sobre ellas. A continuación explicaremos las características globales que tienen los permisos de los archivos tanto hayan sido asignados en forma absoluta como relativa.

Gracias al comando ls -l podemos obtener bastante información tanto de los archivos como de los directorios del sistema Linux, tras hacer un ls -l prueba el sistema nos mostrará algo parecido a la Figura 1. Que como podemos observar el usuario "core" del grupo "users" tiene un archivo llamado "prueba".

Si observamos el primer fragmento de la línea, nos extrañará el ver repetidamente las letras r,w y x, además del - al principio de todo. Pues bien como hemos citado antes, un S.O basado en UNIX tiene diferentes categorías de usuarios, es por ello que en el archivo "prueba" y en todos los archivos, se engloban todos estos grupos.

El primer "'-" significa que es un archivo normal, ya que si fuese un directorio dicho "'-" nos lo representaría por "d", si fuese un enlace mediante "l", "b" significaría que es un dispositivo especial de bloques, "c" un dispositivo especial de caracteres, "p" un archivo de conducción por nombre, "'s" un semáforo y "m" nos indicaría que es un archivo de memoria compartida.

Las 3 primeras letras 'rwx' si nos fijamos en la Fig 6. sabemos que se refiere tanto a
permisos de lectura, escritura y ejecución, pero este primer terceto siempre se referirá al usuario que creó dicho archivo, es decir al usuario "core", por lo tanto sabemos que este usuario puede leer, escribir y ejecutar dicho archivo.

Pero, ¿Que hay del resto? bien, el segundo terceto siempre se referirá a los permisos del grupo, mientras que lo que resta a los demás usuarios.

Por lo tanto en este caso, todo el mundo tiene derecho a todos los permisos posibles sobre el archivo. Pongamos un último ejemplo:

En este archivo como se puede observar hay un ligero cambio de permisos. El archivo "prueba" ya que comienza mediante un "-" tiene permisos de lectura y ejecución para su dueño "core", de ejecución para los de su grupo "users", y de lectura y escritura para el resto de usuarios. Como habrá podido ver, al no haber permisos de escritura para su dueño, ni permisos de lectura y escritura para su grupo, ni permisos de ejecución para el resto de los usuarios, estos son representados mediante un "-". Ahora que ya he explicado las características globales de todo directorio y archivo UNIX daremos paso a la explanación de las dos formas citadas anteriormente para establecer permisos en Linux


Forma Absoluta
La principal característica que tiene esta nomenclatura es la de asignar los permisos mediante valores octales. La base octal, o base 8, puede contener de los números 0 al 7. Es por ello, que tan solo son validos estos números a la hora de asignar permisos. Fíjese en el siguiente cuadro:

Permiso Valor Octal
-----------------------
r | lectura 4
w | escritura 2
x | ejecución 1

Claramente se observa que número octal corresponde a cada característica de un archivo o directorio en un sistema UNIX. Como mencione antes el comando utilizado por los Sistemas UNIX para establecer permisos recibe el nombre de chmod.

A la hora de asignar permisos en forma absoluta hemos de seguir la siguiente Sintaxis: "chmod XYZ archivo".

X representa al dueño del archivo, Y al grupo y Z al resto de usuarios, mientras que "archivo" es el nombre del archivo a especificar los permisos. Siempre que queramos atribuir más de un permiso los números octales se sumarán. Observar los siguientes ejemplos para un mayor entendimiento:

chmod 460 archivo
chmod 755 archivo
chmod 050 archivo
chmod 000 archivo
chmod 777 archivo

EL primer ejemplo daría permisos de lectura al propietario (4), lectura y escritura al grupo (4+2), y ningún permiso al resto de usuarios (0).

El segundo ejemplo daría permisos de escritura, lectura y ejecución al propietario (4+2+1), permisos de lectura y ejecución tanto al grupo como al resto de usuarios (4+1)

El tercer ejemplo no daría ningún permiso al propietario (0), permisos de ejecución y lectura al grupo (4+1), y ningún permiso al resto de usuarios (0)
El cuarto ejemplo no tendría ningún permiso para nadie (0). Y finalmente el último ejemplo tendría todos los permisos para todos los usuarios (4+2+1)
Forma Relativa
A diferencia de la forma absoluta, la relativa no utiliza números octales o en base 8 para establecer los diferentes permisos, sino que se basa en una nomenclatura de letras. Al igual que en la forma absoluta, en la relativa también nos valemos del comando "chmod" para asignar los permisos.

Observe los siguientes cuadros:

Letra Descripción
a, “Para” todos los usuarios, grupos y demás usuarios.
g, “Para” el grupo del propietario.
o, “Para” todos los demás usuarios no mencionados antes.
u, “Para” al usuario que creo dicho archivo

Operador Descripción
+ Agrega la modalidad
- Elimina la modalidad
= Elimina los permisos existentes y agrega los establecidos que sentencia que indiquemos.

Permiso
x, Establece la ejecución
r, Establece la lectura
w, Establece la escritura

Siempre que se quiera atribuir permisos a un archivo/directorio en forma relativa se debe seguir el orden de los tres cuadros expuestos anteriormente. Por lo tanto primero se indicará a la persona o personas a la que se quiere atribuir dichos permisos, ejemplo:

chmod a+r archivo

Si se ha fijado en las Figuras anteriores, no te debería costar demasiado entender los permisos que atribuye la orden anterior.

Primeramente como he dicho, se debe indicar al usuario/usuarios, en este caso esta la letra "a" que significa que se establecen permisos al dueño, grupo y demás usuarios. El siguiente símbolo que le sigue, indicará si se quiere agregar o eliminar permisos del archivo en cuestión, en este caso el símbolo "+" indica que deseo agregar permisos al archivo. Finalmente se indicarán los permisos a agregar. En este caso se indica "r'" (lectura) para todos los usuarios "a".

Si por el contrario se quiere establecer varios permisos a las diferentes categorías que comprenden los sistemas UNIX se pueden utilizar las comas, por ejemplo:

chmod o-wr, g-wr archivo

Que simplemente esta sentencia eliminaría ambos permisos, de escritura y lectura tanto para el grupo, como para el resto de usuarios o general.
Links de interés
Dentro de esta sección encontrara enlaces de gran utilidad, así como documentación en-línea en castellano. Tenga en cuenta que



algunos enlaces conducen a sitios en ingles.
• Organización GNU/Linux - http://www.gnu.org/
• Organización mundial de Linux - http://www.linux.org/
• Grupo de Usuarios de Linux de Argentina – http://lugar.org.ar
Distribuciones Linux
• Debian Linux (Home) - http://debian.org/
o Download - http://www.debian.org/ftp://ftp.debian.org/
• RedHat de Linux http://www.redhat.com/
o Download – http://www.redhat.com/ftp://ftp.redhat.com/
• Suse de Linux http://www.suse.com/
• Mandrake Linux http://www.mandrake-linux.com/
• Slackware de Linux http://www.slackware.com/
o Download http://www.slackware.com/ftp://ftp.slackware.com
• Knoppix Live-CD http://knoppix.org
o Download – http://www.knoppix.org/ftp://ftp.knoppix.org

Servidores
• Sitio oficial del servidor web Apache - http://www.apache.org/
• Apache Tomcat – http://jakarta.apache.org
• Washington University FTP server "Sitio Oficial" - http://www.wu-ftpd.org/
• Squid (Servidor Proxy) – http://squid-cache.org
• Sendmail (Servidor de correos) – http://www.sendmail.org
• Samba (SMB Server) – http://samba.org

Documentación
• The Linux Documentation Project: http://www.tldp.org
• Proyecto HOWTO - ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO
• Usando SAMBA - http://samba.anu.edu.au/samba
• Instalación de sendmail sobre Debian GNU/Linux v2.2r4 – http://ttt.inf.upv.es/~jochagar/correu_linux/node1.html
• Documentación sobre estándares (Request for comments) “ RFC” en español - http://lucas.hispalinux.es/htmls/estandares.html
• The Beowulf Project: http://www.beowulf.org
• Linux Virtual Server: http://www.linuxvirtualserver.org/
• Proyecto LUCAS, documentación en Español - http://insflug.org
• Wanna learn linux? - http://www.justlinux.com


Seguridad
• IPTables (Sistema de filtrado de paquetes) – http://www.netfilter.org
• Guide to Configuring Your Linux Server for Performance http://www.ecst.csuchico.edu/~dranch/LINUX/index.html#TrinityOS
• Maximum Security: A Hacker's Guide to Protecting Your Internet Site and Network - http://www.theargon.com
• The honeynet project – http://www.honeynet.org
• Insecure – http://insecure.org
• CERT Advisory - http://www.cert.org/

Software
• Novedades y descargas con respecto a software para Linux – http://www.freshmeat.net
• Uno de los portales de software para Linux mas grandes hasta la fecha – http://www.sourceforge.net


Fin del curso, Gracias por tu atención!
Datos archivados del Taringa! original
10puntos
2,350visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
1visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

T
Thorfinn🇦🇷
Usuario
Puntos0
Posts7
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.