Archive

Archive for the ‘Administración’ Category

El Kernel Linux

Octubre 16th, 2009 admin No comments

 

 

 

ENLACES

The Linux Kernel Archives.

Categories: Administración, Manuales Tags:

Estructura del sistema de archivos de Linux

Octubre 16th, 2008 admin No comments

Estructura del sistema de archivos de Linux

Archivos: Tipos

La base del sistema de archivos de Linux, es obviamente el archivo, que no es otra cosa que la estructura empleada por el sistema operativo para almacenar información en un dispositivo físico como un disco duro, un disquete, un CD-ROM o un DVD. Como es natural un archivo puede contener cualquier tipo de información, desde una imagen en formato PNG o JPEG a un texto o una página WEB en formato HTML, … El sistema de archivos es la estructura que permite que Linux maneje los archivos que contiene.

Todos los archivos de Linux tienen un nombre, el cual debe cumplir unas ciertas reglas:

· Un nombre de archivo puede tener entre 1 y 255 caracteres.

· Se puede utilizar cualquier carácter excepto la barra inclinada / y no es recomendable emplear los caracteres con significado especial en Linux, que son los siguientes: = ^ ~ ” ” ` * ; – ? [ ] ( ) ! & ~ < >. Para emplear ficheros con estos caracteres o espacios hay que introducir el nombre del fichero entre comillas.

· Se pueden utilizar números exclusivamente si así se desea. Las letras mayúsculas y minúsculas se consideran diferentes, y por lo tanto no es lo mismo carta.txt que Carta.txt ó carta.Txt

Como en Windows, se puede emplear un cierto criterio de “tipo” para marcar las distintas clases de ficheros empleando una serie de caracteres al final del nombre que indiquen el tipo de fichero del que se trata. Así, los ficheros de texto, HTML, las imágenes PNG o JPEG tienen extensiones .txt, .htm (o .html), .png y .jpg (o .jpeg) respectivamente.

Pese a esto Linux sólo distingue tres tipos de archivos:

· Archivos o ficheros ordinarios, son los mencionados anteriormente.

· Directorios (o carpetas), es un archivo especial que agrupa otros ficheros de una forma estructurada.

· Archivos especiales, son la base sobre la que se asienta Linux, puesto que representan los dispositivos conectados a un ordenador, como puede ser una impresora. De esta forma introducir información en ese archivo equivale a enviar información a la impresora. Para el usuario estos dispositivos tienen el mismo aspecto y uso que los archivos ordinarios.

Enlaces

Los enlaces son un tipo de archivo ordinario cuyo objetivo es crear un nuevo nombre para un archivo determinado. Una vez creado el enlace simbólico éste permite acceder al fichero que enlaza de igual modo que si se hubiera copiado el contenido del mismo a otro fichero, con la ventaja de que este realmente no se ha copiado. Los enlaces simbólicos son especialmente útiles cuando se quiere que un grupo de personas trabajen sobre un mismo fichero, puesto que permiten compartir el fichero pero centralizan las modificaciones.

Como ejemplo se puede suponer la existencia de un fichero llamado balance.1999.txt, al que se crea un enlace simbólico balance.txt. Cualquier acceso a balance.txt es traducido por el sistema de forma que se accede al contenido de balance.1999.txt.

El camino o Path

En cualquier sistema operativo moderno la estructura de archivos es jerárquica y depende de los directorios. En general la estructura del sistema de archivos se asemeja a una estructura de árbol, estando compuesto cada nudo por un directorio o carpeta, que contiene otros directorios o archivos. En Windows cada unidad de disco se identifica como una carpeta básica que sirve de raíz a otras, y cuyo nombre es especial a:, c:, d: etc. En los sistemas Unix, y por lo tanto en Linux, existe una única raíz llamada / de la que cuelgan todos los ficheros y directorios, y que es independiente de qué dispositivos estén conectados al ordenador.

El camino o path de un fichero o directorio es la secuencia de directorios que se ha de recorrer para acceder a un determinado fichero separados por /. Supongamos la estructura de archivos de la Figura 2.

Existen dos formas del path o camino:

· el camino absoluto que muestra toda la ruta a un fichero, /home/luis/Carta.txt.

· el path relativo a un determinado directorio, por ejemplo si no encontramos en el directorio /home, el path relativo al fichero Carta.txt es luis/Carta.txt

Para complicar aun más las cosas, todos los directorios contienen dos directorios especiales: Figura 2 •=El directorio actual, representado por el punto .

•=El directorio padre representado por dos puntos ..

Estando en el directorio /home/pedro se puede acceder a Carta.txt con /home/luis/Carta.txt (path absoluto) o bien ../luis/Carta.txt (path relativo). En luis como ./Carta.txt o simplemente Carta.txt.

Estructura del sistema de archivos de Linux

El sistema de archivo de Linux sigue todas las convenciones de Unix, lo cual significa que tiene una estructura determinada, compatible y homogénea con el resto de los sistemas Unix. Al contrario que en Windows o MS-DOS el sistema de archivos en cualquier sistema Unix no está ligado de una forma directa con la estructura del hardware, esto es, no depende de si un determinado ordenador tiene 1, 2 o 7 discos duros para crear las unidades c:, d: o m:.

Todos el sistema de archivos de Unix tiene un origen único la raíz o root representada por /. Bajo este directorio se encuentran todos los ficheros a los que puede acceder el sistema operativo. Estos ficheros se organizan en distintos directorios cuya misión y nombre son estándar para todos los sistema Unix.

 

· / Raíz del sistema de archivos.

 

· /dev Contiene ficheros del sistema representando los dispositivos que estén físicamente instalados en el ordenador.

 

· /etc Este directorio esta reservado para los ficheros de configuración del sistema. En este directorio no debe aparecer ningún fichero binario (programas). Bajo este deben aparecer otros dos subdirectorios:

· /etc/X11 Ficheros de configuración de X Window

· /etc/skel Ficheros de configuración básica que son copiados al directorio del usuario cuando se crea uno nuevo.

 

· /lib Contiene las librerías necesarias para que se ejecuten los programas que residen en /bin (no las librerías de los programas de los usuarios).

 

· /proc Contiene ficheros especiales que o bien reciben o envían información al kernel del sistema (Se recomienda no modificar el contenido de este directorio y sus ficheros).

 

· /sbin Contiene programas que son únicamente accesibles al superusuario o root.

 

· /usr Este es uno de los directorios más importantes del sistema puesto que contiene los programas de uso común para todos los usuarios. Su estructura suele ser similar a la siguiente:

 

· /usr/X11R6 Contiene los programas para ejecutar X Window.

· /usr/bin Programas de uso general, lo que incluye el compilador de C/C++.

· /usr/doc Documentación general del sistema.

 

· /usr/etc Ficheros de configuración generales. /usr/include Ficheros de cabecera de C/C++ (.h).

 

· /usr/info Ficheros de información de GNU. /usr/lib Librerías generales de los programas.

 

· /usr/man Manuales accesibles con el comando man (ver más adelante).

 

· /usr/sbin Programas de administración del sistema. /usr/src Código fuente de programas.

Existen además de los anteriores otros directorios que se suelen localizar en el directorio

· /usr, como por ejemplo las carpetas de los programas que se instalen en el sistema.

 

· /var Este directorio contiene información temporal de los programas (lo cual no implica que se pueda borrar su contenido, de hecho, ¡no se debe hacer!)

Acceso a los diferentes sistemas de archivos

Como se ha visto anteriormente el sistema de archivos de Linux sólo tiene una raíz y su estructura es independiente de los dispositivos de almacenamiento existentes. Esto implica que el procedimiento a emplear para acceder a la información almacenada en los distintos sistemas de almacenamiento de un ordenador no es tan sencilla como en Windows, y requiere un proceso llamado “montado”, que se verá más adelante. Cuando se ha terminado de trabajar con un determinado dispositivo hay que “desmontarlo” (¡No físicamente!).

Por ejemplo el proceso para leer un disquete sería el siguiente:

1. Introducir el disquete en la disquetera.

2. Montar el sistema de archivos del mismo.

3. Leer, grabar, y manipular el contenido del disquete.

4. Desmontar el sistema de archivos del disquete.

5. Extraer el disquete de la disquetera.

El proceso puede parecer complejo pero es el precio a pagar por la seguridad, puesto que de esta forma se garantiza que no exista ninguna aplicación que esté usando el disquete cuando se extraiga. (En el caso de los CD-ROM Linux impide su extracción hasta que se desmonta).

Para complicar más las cosas sólo el administrador o root tiene permiso para montar y desmontar un sistema de archivos (por motivos de seguridad), aunque esto puede ser arreglado.

Permisos

Linux, al igual que todos los sistemas Unix, mantiene un sistema de permisos de acceso a los ficheros muy estricto, a fin de controlar qué es lo que se puede hacer con ellos, y quien lo puede hacer. Estos permisos se identifican con letras y son:

r permiso de lectura el fichero

w permiso de escritura en el fichero

x permiso de ejecución del fichero

s permiso para cambiar el propietario del fichero

 

Al contrario que en Windows o MS-DOS los programas ejecutables de Linux no están marcados por una determinada extensión (.exe) sino por un atributo, el permiso de ejecución x. Si se elimina este atributo a un programa, Linux no será capaz de ejecutarlo.

 

A su vez cada uno de estos permisos se aplica: al dueño del fichero (u), al grupo de usuarios al que pertenece el dueño (g), ó al resto de usuarios (a). Así un fichero determinado puede tener permiso para ser leído, escrito y ejecutado por su dueño, leído y ejecutado por el grupo al que pertenece y no tener ningún tipo de acceso para los demás usuarios. Como se puede entender este tipo de mecanismo es especialmente útil cuando se trabaja en grupo en un determinado proyecto.

 

Categories: Administración, Manuales Tags:

Cómo activar el contenido multimedia en OpenSuSE 11.0

Agosto 16th, 2008 admin No comments

Si antes era pesado con openSuSE, ahora lo soy un poquito más, sobre todo porque hay muchos temas por tratar.

Ahora toca tratar el contenido multimedia, que por razones legales tradicionalmente no suele estar activado por completo en las distribuciones openSuSE.

De esta forma, para los usuarios KDE existe este enlace, del tipo “1-click installer “, que una vez pinchado nos instala todos los drivers y codecs necesarios para reproducir cualquier contenido multimedia. Basta con indicarle al firefox o al konqueror que deje que el Yast Package Manager realice su función, eso si, introduciendo la contraseña de root por el camino.

Así tendremos a nuestra disposición:

  • Flash
  • Java
  • Latest Amarok (con MP3 Support) for KDE, o Helix-Banshee for GNOME users
  • Encrypted DVD (libdvdcss)
  • Extra xine codecs, for MPEG-4 etc. (libxine1)
  • K3b with MP3 Support (k3b-codecs)
  • Win 32 Codecs (w32codec-all)

Además, si investigas un poco puedes seleccionar la instalación de otro software multimedia de insterés, con VLC Player.

Ah! Bueno, para usuarios de Gnome en openSuSE también está su enlace.

Vía: Linux and OpenSource

Categories: Administración, Manuales Tags:

Permisos en Linux (Nivel Básico)

Octubre 16th, 2007 admin No comments

Permisos en Linux (Nivel básico)

Para quien ha usado Windows 9X/ME, esto puede ser un poco complicado. En Windows puedes copiar, mover, borrar, renombrar y sobre escribir cualquier archivo en cualquier momento. Esto es muy diferente en Linux y puede ser un poco difícil de entender y de manejar al principio, pero una vez que se ha entendido es muy sencillo y sobre todo útil, por que gracias a éstos permisos no hay virus que puedan hacer daño al sistema.

¿Y qué son los permisos?

Todo archivo y directorio en Linux tiene permisos establecidos que determinan que y quien puede o no hacer alguna acción con el archivo o directorio. Estas acciones son: leer, escribir y ejecutar.

Los permisos son la base principal en la seguridad en Linux y es una de las características que ayudan a que Linux sea casi inmune a los Virus de computadora. Te preguntaras ¿porqué? por que un virus debe escribir sobre un archivo para poder infectarlo y ejecutarse de alguna manera para poder infectar mas archivos. Con el sistema de permisos, los virus no pueden infectar cualquier archivo como lo hacen en Windows, si el usuario no tiene permisos, el virus simplemente no puede infectar los archivos y por tanto no puede reproducirse.

¿Dónde están los permisos?

Los permisos se registran en el sistema de archivos, es decir cada archivo tiene su tabla de permisos y los puedes ver con el comando ls -l

luis@kamaleon $ ls -l
-rw-r–r– 1 luis usuario 587 may 23 17:17 README
-rwxr-x— 1 luis usuario 1508208 jun 18 14:07 Xvnc*
drwxr-xr-x 2 alberto usuario 8192 abr 30 08:43 install/

Para entender los permisos debes conocer como se establecen, esto se puede hacer de tres maneras:
para el Propietario (owner),
para el Grupo (group) del usuario al que pertenece el propietario.
para los Otros usuarios (Others),

Y los permisos son lectura(r), escritura(w) y ejecución(x).

Los permisos son las letras y guiones que están a la izquierda, el ejemplo muestra los permisos de dos archivos y un directorio (install) este se identifica porque la primera letra es una “d”, cuando es un archivo es un guión “-”.

Las siguientes tres letras son los permisos del propietario (owner), luego las tres del grupo (group) y por último las de otros usuarios (others).

Así, los permisos para el archivo README son:

-rw-r–r– 1 luis usuario 587 may 23 17:17 README

rw- Propietario .- puede leer y escribir en el archivo.
r– Grupo .- los usuarios del mismo grupo que el propietario pueden leerlo.
r– Otros .- usuario que no son del grupo, pueden leerlo.

Veamos el otro archivo de ejemplo:

-rwxr-x— 1 luis usuario 1508208 jun 18 14:07 Xvnc*

rwx Propietario .- puede leer, escribir y ejecutar el archivo.
r-x Gurpo .- pueden leerlo y ejecutarlo.
— Otros .- no lo pueden leer, ni escribir, ni ejecutar.

Cambiando los permisos

Para determinar los permisos de un archivo o directorio se utiliza el comando chmod, este comando puede utilizar dos métodos para establecerlos pero utilizaremos el más sencillo llamado Absoluto. Este asigna un valor a cada permiso:

4 r-lectura
2 w-escritura
1 x-ejecución

Dependiendo los permisos que se quieran asignar se sumaran los valores y se utilizará un valor del 0 al 7 para cada modo (propietario, grupo, otros). Por ejemplo si se quiere cambiar los permisos del archivo README dándole permisos de lectura y escritura al propietario y al grupo, pero solo lectura a Otros, se haría de la siguiente manera:

luis@kamaleon $ ls -l README
-rw-r–r– 1 luis usuario 587 may 23 17:17 README

r w x r w x r w x
Permisos Actuales 4+2+0 4+0+0 4+0+0
6 4 4

 

r w x r w x r w x
Cambiar a: 4+2+0 4+2+0 4+0+0
6 6 4

luis@kamaleon $ chmod 664 README

luis@kamaleon $ ls -l README
-rw-rw-r– 1 luis usuario 587 may 23 17:17 README

Ahora demos permisos de lectura y ejecución a Otros en el Archivo Xvnc

luis@kamaleon $ ls -l Xvnc
-rwxr-x— 1 luis usuario 1508208 jun 18 14:07 Xvnc*

r w x r w x r w x
Permisos Actuales 4+2+1 4+0+1 0+0+0
7 5 0

 

r w x r w x r w x
Cambiar a: 4+2+1 4+0+1 4+0+1
7 5 5

luis@kamaleon $ chmod 755 Xvnc

luis@kamaleon $ ls -l Xvnc
-rwxr-xr-x 1 luis usuario 1508208 jun 18 14:07 Xvnc*

Por último aquí esta una tabla que permite saber rápidamente que valor asignar como permiso a cualquiera de los tres modos.

Val. Permisos
0
1 –x
2 -w-
3 -wx
4 r–
5 r-x
6 rw-
7 rwx

Espero que te sean muy útiles. Disfruta Linux! :)

Categories: Administración, Manuales Tags:

PERMISOS EN LINUX

Octubre 16th, 2007 admin No comments

PERMISOS EN 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.

Esta es una de las características que ayudan a que Linux sea casi inmune a los Virus de computadora, los virus deben ser capaces de escribir sobre un archivo para poder infectarlo y ejecutarse de alguna manera para poder infectar mas archivos, con el sistema de permisos de Linux los virus no pueden copiarse a cualquier archivo, si el usuario carece de permisos el virus no podrá infectar más archivos y por lo tanto no podrá reproducirse.

Todos los archivos y directorios en Linux tienen permisos que verifican quien puede hacer o no alguna acción con él.

Cuales son los permisos

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.

Y donde están los permisos?

Para poder ver los permisos de los archivos y directorios es necesario ejecutar el siguiente comando:

$ ls –l

Este comando nos dará una salida similar a la siguiente:

drwxr-xr-x 3 raul raul 4096 2005-02-16 14:47 Desktop
drwxr-xr-x 5 raul raul 4096 2005-02-16 12:42 GNUstep
-rw-r–r– 1 raul raul 246417 2005-03-03 13:13 foto1.png
-rw-r–r– 1 raul raul 232505 2005-03-03 13:14 carta2.abw
-rw-r–r– 1 raul raul 239618 2005-03-03 13:14 informe.abw
drwxr-xr-x 2 raul raul 4096 2005-02-16 12:42 tmp

Ahora describamos la salida que hemos obtenido:

Con la siguiente línea interpretamos la información así:

- rw- r– r– 1 raul raul 246417 2005-03-03 13:13 foto1.png
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
1 2 3 4 5 6 7 8 9 10 11

1 : Tipo de archivo = es un archivo regular
2 : Permisos = los permisos para el propietario son de lectura y escritura
3 : Permisos = el grupo tiene permiso de sólo lectura
4 : Permisos = los otros usuarios tienen el permiso de sólo lectura
5 : Enlace Físico = tiene un enlace físico
6 : Propietario = el usuario raul es el propietario de este archivo
7 : Grupo = este archivo pertenece al grupo raul
8 : Tamaño = su tamaño es de 246417 bytes
9 : Fecha = fue creado el 03 de marzo de 2005
10 : Hora = a 13:13 horas
11 : Nombre = el archivo se llama foto1.png

Como habrás apreciado los permisos están asignados en grupos de 3 (rwx) y corresponde al: propietario (owner: dueño del archivo o directorio), grupo (group: grupo del archivo o directorio) y otros (others: otro usuario diferente del propietario).

En la siguiente imagen resaltamos nuevamente la ubicación de los permisos en caso no lo hayamos notado:

COMANDOS RELACIONADOS

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 : se utiliza para cambiar el propietario del archivo o directorio
    # chown [nuevo usuario propietario] [archivo/directorio] [opciones]
  • Comando chgrp : utilizado para cambiar el grupo del archivo o directorio
    # chgrp [nuevo grupo] [archivo/directorio] [opciones]

¿COMO SE CAMBIAN LOS PERMISOS?

Para cambiar los permisos se puede hacer de 2 maneras:

  1. Utilizando taquigrafía basada en caracteres, o
  2. Utilizando números.

1. CAMBIO DE PERMISOS UTILIZANDO TAQUIGRAFÍA DE 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

Vamos a practicar con el comando chmod, para ello lo primero que haremos será crear el archivo foto1.png para ver los cambios de permisos, así que les recomiendo seguir la secuencia:

Ejemplo

Descripción

Resultado

$ touch foto1.png

creamos el archivo foto1.png

foto1.png

$ chmod a-rwx foto1.png

quitamos todos los permisos al archivo foto1.png

———

$ chmod u+rwx foto1.png

añadimos todos los permisos para el propietario

rwx——

$ chmod g+x foto1.png

añadimos el permiso de ejecución para el grupo

rwx—x—

$ chmod o+r foto1.png

añadimos el permiso de lectura para los otros usuarios

rwx—xr–

$ chmod u-rw foto1.png

eliminamos los permisos de lectura y escritura para el propietario

–x—xr–

$ chmod a=r foto1.png

establecemos como unico permiso de lectura para los 3 grupos

r—r—r–

$ chmod a=rx foto1.png

establecemos los permisos de lectura y ejecución para los 3 grupos

r-xr-xr-x

$ chmod a=- foto1.png

quitamos todos los permisos

———-

$ chmod u+rx,o+x foto1.png

añadimos los permisos de lectura y ejecución al propietario y ejecución a otros

r-x—–x

$ chmod g+rx,o-x foto1.png

añadimos permiso de lectura y ejecución al grupo y eliminamos permiso de ejecución a otros

r-xr-x—

$ chmod ug+wx,o-x foto1.png

añadimos permiso de escritura y ejecución al propietario y grupo, y eliminamos permiso de ejecución a otros

rwxrwx—

$ chmod a=rw foto1.png

permite a cualquiera modificar el contenido e incluso eliminar el archivo

rw-rw-rw-

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

2. CAMBIO DE PERMISOS 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 = 4 (lectura)
w = 2 (escritura)
x = 1 (ejecucion)
– = 0 (sin permisos)

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

-w-

só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

rw-

permisos 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——- (600) — Sólo el propietario tiene el derecho de leer y escribir.
  • 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.
  • rwx—— (700) — Sólo el propietario tiene los derechos de leer, escribir y ejecutar el archivo.
  • rwxr-xr-x (755) — El propietario tiene los derechos de leer, escribir y ejecutar; el grupo y los demás sólo pueden leer y ejecutar.
  • rwx–x–x (711) — El propietario tiene los derechos de lectura, escritura y ejecución; el grupo y los demás sólo pueden ejecutar.
  • rw-rw-rw- (666) — Todo el mundo puede leer y escribir en el archivo. ¡No es una buena elección!
  • rwxrwxrwx (777) — Todo el mundo puede leer, escribir y ejecutar. ¡Tampoco es buena elección!

Utilizaremos el mismo ejercicio anterior para poder practicar con los permisos utilizando números, el único cambio que haremos será utilizar otro archivo llamado foto2.png:

Ejemplo

Descripción

Resultado

$ touch foto2.png

creamos el archivo foto2.png

foto2.png

$ chmod 000 foto2.png

quitamos todos los permisos al archivo foto2.png

———-

$ chmod 700 foto2.png

añadimos todos los permisos para el propietario

-rwx——

$ chmod 710 foto2.png

añadimos el permiso de ejecución para el grupo

-rwx—x—

$ chmod 714 foto2.png

añadimos el permiso de lectura para los otros usuarios

-rwx—xr–

$ chmod 114 foto2.png

eliminamos los permisos de lectura y escritura para el propietario

—x—xr–

$ chmod 444 foto2.png

establecemos como unico permiso de lectura para los 3 grupos

-r—r—r–

$ chmod 555 foto2.png

establecemos los permisos de lectura y ejecución para los 3 grupos

-r-xr-xr-x

$ chmod 000 foto2.png

quitamos todos los permisos

———–

$ chmod 501 foto2.png

añadimos los permisos de lectura y ejecución al propietario y ejecución a otros

-r-x—–x

$ chmod 550 foto2.png

añadimos permiso de lectura y ejecución al grupo y eliminamos permiso de ejecución a otros

-r-xr-x—

$ chmod 770 foto2.png

añadimos permiso de escritura y ejecución al propietario y grupo, y eliminamos permiso de ejecución a otros

-rwxrwx—

$ chmod 666 foto2.png

permite a cualquiera modificar el contenido e incluso eliminar el archivo

-rw-rw-rw-

CAMBIANDO PROPIETARIOS Y GRUPOS

Otra de los puntos a la hora de establecer permisos es la necesidad de poder cambiar el propietario y grupo del archivo o directorio, para hacer esta operación debe estar como root y los usuarios y grupos que utilizará deben haber sido creados previamente.

Cambiando el propietario

Utilizamos el comando chown explicado líneas arriba:

# chown clases foto1.png # estamos cambiando el propietario del archivo, ahora el usuario clases será el propietario del archivo foto1.png

# chown raul foto2.png # el usuario raul será el propietario del archivo foto2.png

Si vamos a cambiar el propietario de un directorio y con todos sus subdirectorios y archivos en forma recursiva utilizaremos la opción –R:

# chown clases datos/ –R # el usuario clases sera el nuevo propietario de todos los archivos y subdirectorios que estén dentro del directorio datos/

Cambiando el grupo

Utilizamos el comando chgrp explicado líneas arriba:

# chgrp clases foto1.png # estamos cambiando el propietario del archivo, ahora el archivo foto1.png será del grupo clases

# chgrp raul foto2.png # el archivo foto2.png será del grupo raul

Si vamos a cambiar el grupo de un directorio y con todos sus subdirectorios y archivos en forma recursiva utilizaremos la opción –R:

# chgrp clases datos/ –R # todos los archivos y sub directorios del directorio datos/ serán del grupo clases

 

Tema: Permisos en Linux
Autor:
Raul Rodas Hinostroza
E-mail: raul@linuxcentro.net
Web: www.linuxcentro.net

Copyright : ©2005 LinuxCentro.Net permite la libre distribución y modificación de este documento por cualquier medio y formato mientras esta leyenda permanezca intacta junto con el documento, la distribución y modificación se deben hacer de acuerdo con los términos de la Licencia Pública General GNU publicada por la Free Software Foundation; sea la versión 2 de la licencia o (a su elección) cualquier otra posterior. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.


Categories: Administración, Manuales Tags:

APT-GET PARA SUSE 9.1 ¿CÓMO?

Mayo 10th, 2007 admin No comments

APT-GET PARA SUSE 9.1 ¿CÓMO?

 

El mejor sistema para instalar/actualizar programas

Voy a explicar de forma práctica y sin entrar en detalles técnicos cómo poder utilizar el comando apt-get en SuSE 9.1 de igual forma que lo hace la distribución Debian.

Empecemos:

1.- BAJAR ARCHIVOS NECESARIOS:

Aqui : ftp://ftp.gwdg.de/pub/linux/suse/apt/SuSE/9.1-i386/RPMS.suser-rbos/

tenemos todos los archivos necesarios para llevar esta tarea a buen puerto. Los archivos a bajar son los siguientes:

TODOSEXCEPTO ESTOS:

MPlayer-suite-1.0-rb3.i586.rpm , (luego podremos bajarle cómodamente y con sus dependencias resultas cuando tengamos apt instalado)

kynaptic-0.5-58357cl.1.i586.rpm , apt4rpm-0.68.2-2.noarch.rpm

Si te fijas hay dos versiones distintas de estos dos archivos (a fecha 1-noviembre-2004) , lo que luego nos dará error cuando carguemos los rpm,s, ya que no sabrá cual de los dos instalar.

Repito estos tres archivos no hay que bajárselos.

2.- COMPROBANDO DEPENDENCIAS.

Una vez guardados estos archivos que hemos bajado, tenemos que entrar al directorio donde los tengamos, por ejemplo yo los he guardado en /home/apt-suse-rpms/ con lo que como root entro a dicho directorio:

# cd /home/apt-suse-rpms/

Luego hacemos una comprobación de dependencias con el siguiente comando:

# rpm –test -Uvh *.rpm

con lo que nos muestra una lista con las dependencias existentes para poder instalar los rpm,s bajados. Ejemplo:

error: Failed dependencies:

perl-XML-LibXML is needed by apt4rpm-0. 68.2-2

python-gnome >= 2.0 is needed by gramps-1.0.7-0.suse091.rb.1

etc ……

Tenemos que resolver estas dependencias, bien insertando el cd o dvd de suse 9.1 o bien buscándolos por la red.

Con Yast esta tarea no es nada complicada. Simplemente se va a Yast -> Software-> instalar/desinstalar software – y en Buscar: con las opciones de Buscar en: [x] Nombre [x] Resumen [x] Descripción y [x] Proporciona ACTIVADAS, vamos escribiendo todos y cada uno de los nombre de los paquetes que nos han dado error: Failed dependencies:

ejemplo Buscar: perl-XML-LibXML y pinchamos en el botón Buscar.

En la parte derecha nos aparece el paquete a instalar, le marcamos para instalar, y así sucesivamente con todos los paquetes dependientes.

Una vez marcados para instalar todos los paquetes dependientes pulsamos el botón Aceptar. Yast en este momento se dispondrá a su instalación en nuestro sistema sin más problemas.

Volvemos a utilizar el comando # rpm –test -Uvh *.rpm

para asegurarnos que no sale ninguna dependencia incumplida. Si no sale ninguna dependencia, ya estamos listos para instalar.

Si vemos alguna dependencia incumplida procedemos a instalar el paquete con Yast como ya se ha explicado.

3.- INSTALAR PAQUETES RPM

Con el comando

# rpm -Uvh *.rpm

se instalarán todos los paquetes rpm de nuestro directorio /home/apt-suse-rpms/

Enhorabuena, ya tenemos instalado apt en nuestra distribución SuSE 9.1 favorita. ;-)

4.- CONFIGURACIÓN DE SOURCES.LIST

Por defecto tenemos un sources.list creado en /etc/apt/sources.list

Este es el archivo que le servirá al comando apt-get de base para buscar los paquetes que queramos instalar.

Pero vamos a mejorar este sources.list y sus repositorios. Si le dejamos con los repositorios que nos trae por defecto funcionaría correctamente. No es estrictamente necesario hacerlo pero es recomendable ya que a la hora de instalar programas y aplicaciones con el apt-get tendrá muchas más opciones de bajada.

Para ello tendremos que editar el archivo sources.list con el editor que tu quieras, borramos totalmente lo que tenga y pegamos los siguientes repositorios (yo tengo estos):

# inicio de Source.list

rpm ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/9.1-i386 update-prpm update suse-projects security-prpm security base kde gnome xfree86 mozilla samba3 suser-rbos suser-gbv usr-local-bin suser-tcousin suser-scorot suser-ollakka labplot funktronics packman packman-i686 kernel-of-the-day wine suse-people kde3-stable suser-guru

rpm-src ftp://ftp.gwdg.de/pub/linux/suse/apt SuSE/9.1-i386 update-prpm update suse-projects security-prpm security base kde gnome xfree86 mozilla samba3 suser-rbos suser-gbv usr-local-bin suser-tcousin suser-scorot suser-ollakka labplot funktronics packman packman-i686 kernel-of-the-day wine suse-people kde3-stable suser-guru

# final de Source.list

 

Una vez pegado, guardamos los cambios en el archivo soruce.list, y cerramos.

5. UTILIZACIÓN DE APT-GET

Antes que nada hay que teclear lo siguiente:

# apt-get update

Esto actualizará las fuentes de los paquetes bajando las cabeceras de archivos. No instalamos nada con ello, simplemente preparamos el archivo apt-get para que sepa donde buscar y bajar los paquetes que le peticionemos.

NOTA: Se recomienda hacer # apt-get update habitualmente antes de instalar cualquier programa. Como he dicho actualizará las cabeceras de paquetes y siempre tendremos la última versión del paquete seleccionado.

Ahora estamos listos para instalar el o los paquetes que queramos con:
# apt-get install nombre_paquete
Este comando instala el paquete que le peticionemos.

Ejemplo: # apt-get install MPlayer divx4linux w32codec-all
nos instala el reproductor de Mplayer así como los codec para reproducir archivos con divx xvid etc … en nuestra SuSE. ;)

6. OTROS COMANDOS APT-GET

#apt-cache search programa_que_buscas
Nos dirá el nombre del programa en caso de que no sepas exactamente su nombre

#apt-cache show nombre_paquete
Nos muestra información sobre el nombre del paquete que indiquemos.

#apt-get -s upgrade
Nos actualiza todo el sistema y paquetes que tengas instalados en ese momento. Utilízalo con moderación.

————————————————————————————————————————
AUTOR: tronk de portal.tronk.net … tu portal útil. Con la colaboración de abs #suse
Puedes copiar este mini-manual siempre respetando esta autoría. Si modificas algo de este contenido, o lo copias a otra web, házmelo saber a webmaster @ tronk . net.
————————————————————————————————————————

Y hasta aquí este manual que a más de uno le vendrá de perlas.

Si tienes algún comentario que hacer, o quieres mejorar este manual, hazlo en Comentarios de esta noticia.

Un saludo a todos.

Categories: Administración, Manuales Tags:

El archivo /etc/passwd

Noviembre 16th, 2006 admin No comments

El archivo /etc/passwd

 

Sobre el archivo /etc/passwd
Por Rafael Martinez, “El rincon de Linux”

Problemas de seguridad en el archivo de claves de acceso /etc/passwd

El contenido del fichero /etc/passwd determina quien puede acceder al sistema de manera legitima y que se puede hacer una vez dentro del sistema. Este fichero es la primera linea de defensa del sistema contra accesos no deseados. Debe de mantenerse escrupulosamente y libre de errores y fallos de seguridad. En el tenemos registrados las cuentas de usuarios, asi como las claves de accesos y privilegios.

Una linea ejemplo en este fichero:

usuario1:FXWUuZ.vwXttg:500:501:usuario pepito:/home/usuario1:/bin/bash

Los diferentes campos(7) estan separados por dos puntos (:) y el significado de los mismos es el siguiente:

usuario1: Nombre de la cuenta (Login)
FXWUuZ.vwXttg: Clave de acceso encriptada (password)
500: UID de esta cuenta
501: GID del grupo principal al que pertenece la cuenta
usuario pepito: Nombre del usuario
/home/usuario1: Directorio de trabajo de usuario1
/bin/bash: Interprete de comando (shell) de usuario pepito

Una serie de reglas a tener en cuenta sobre el contenido de este fichero:

  • El UID de cuenta 0, pertenece al administrador (root), por debajo de UID 500 esta reservado para el sistema y por encima de UID 500 para los usuarios del sistema (Nota: la frontera del 500 puede variar dependiendo del sistema).

    El GID del grupo principal esta definido en el archivo /etc/group y este sera el grupo por defecto cuando un usuario crea un fichero.

    No hace falta decir que solo el administrador del sistema tiene que tener ID’’s 0 en estos dos campos. Lo contrario significaria estar dando permisos de administracion (root) a la cuenta en cuestion.

    Lo unico que identifica a una cuenta root del resto es una identificacion UID igual a 0. Podemos tener por ejemplo una cuenta llamada “pepito” pero con UID igual a 0, esta cuenta tendria permisos de administrador (root) y muchos programas que hacen referencia al nombre de la cuenta (ej: who, w, etc) no nos darian informacion sobre que la cuenta “pepito” tiene permisos de root.

    Esto es lo primero que un hacker suele hacer para instalar una puerta trasera en un sistema. Para averiguar cuentas con nombre diferente de root, pero permisos de root existen programas, pero a falta de uno podemos utilizar el siguiente comando:

    awk -F: ”{if ($3==0) print $1}” /etc/passwd

    Lo mismo (con un pequeno cambio) se puede utilizar para ver cuentas con GID igual a 0:

    awk -F: ”{if ($4==0) print $1}” /etc/passwd

     

  • Es muy importante verificar asiduamente que toda cuenta (login) tiene asignada una clave valida. Existen programas para comprobar que no existen problemas de seguridad en /etc/passwd, pero a falta de uno se puede utilizar el siguiente comando para averiguar si existen cuentas sin claves:

    awk -F: ”{if ($2==”") print $1}” /etc/passwd

    Nunca dejar una cuenta con el campo de clave vacio, esto significa que no es necesario una clave para entrar en el sistema. Las cuentas de pseudo-usuarios (ej: daemon, lp, etc) y cuentas de usuarios cerradas temporalmente, tienen que tener un asterisco (*) en el campo de la clave.

    Otro punto a tener en cuenta es la eleccion de una buena clave. No se deberian utilizar claves que sean palabras de diccionario, nombres, datos personales, matriculas, etc, existen programas que son capaces de descifrar este tipo de claves. Utilizar al menos 7 caracteres (8 recomendable) e interpolar numeros y letras, mayusculas y minusculas. Existen programas que sustituyen el clasico “passwd” para crear/cambiar claves, que comprueban que la clave es suficientemente buena.

    La explicacion de porque no se deberian utilizar palabras de diccionario, nombres, etc como claves de acceso, es la siguiente:

    Cuando una clave es generada, esta, es codificada con la funcion “crypt”, esta funcion se puede definir como una funcion “hash” de una sola direccion, esto es, un algoritmo que es facil de computar en una direccion pero muy dificil de calcular en direccion opuesta. La funcion crypt utiliza un valor aleatorio llamado “salt” el cual esta formado por una cadena de dos caracteres [a-z A-Z 0-9 ./]. Este valor aleatorio permite codificar una misma clave de 4096 maneras distintas (Los dos primeros caracteres de una clave codificada, son los valores de “salt”, el resto hasta un total de 13 caracteres ASCII es la clave codificada segun el valor de “salt”).

    Una vez que sabemos un poco de teoria de como las claves son codificadas, nos podemos imaginar como se podria descifrar un clave de cuenta que es un palabra de diccionario, nombre, matricula, etc. Existen programas que codifican sistematicamente diccionarios de palabras de las 4096 maneras posibles (segun el valor “salt”) y comparan cada codificacion con los valores encriptados en /etc/passwd, si algun valor coincide, significaria que una clave ha sido descifrada. Este es uno de los metodos utilizados por hackers para descifrar claves y la razon de porque no se deben utilizar claves que sean palabras de diccionarios, nombres, etc.

     

  • Nunca usar scripts/programas como interprete de comandos en cuentas sin clave. Un ejemplo que lei una vez en un grupo de noticias, hablaba sobre como apagar el ordenador sin necesidad de ser root. Una de las soluciones que daban era el tener la siguiente linea en el fichero /etc/passwd:

    shutdown::0:0:shutdown:/sbin:/sbin/shutdown

    Podeis ver que el campo de clave esta vacio, con esta linea en tu /etc/passwd cualquier usuario, local o no local, puede apagar tu ordenador haciendo un simple telnet a la maquina en cuestion y escribiendo shutdown como login. No hace falta explicar las consecuencias que esto puede tener para tu sistema. ;-)

     

  • Los ficheros /etc/passwd y /etc/group deben tener permisos de lectura para todos para que muchos programas puedan funcionar y permisos de escritura solo para root. -rw-r–r– 1 root root 11594 Nov 9 12:53 /etc/passwd -rw-r–r– 1 root root 1024 Nov 9 12:53 /etc/group

    Con estos permisos, cualquiera que tenga acceso al sistema puede leer el contenido de estos ficheros e intentar descifrar la clave encriptada de las cuentas. En pequenos sistemas, donde todos los usuarios se conocen y existe confianza entre ellos, esto no es un gran problema, pero en sistemas con un gran numero de usuarios, no es recomendable tener el sistema configurado de esta manera.

    Para evitar esto se puede instalar “Shadow passwords”. Con shadow passwords el fichero /etc/passwd puede ser leido por cualquier usuario con acceso, pero la informacion con las claves del sistema queda guardada en un fichero que solo puede ser leido por el administrador (root). Mas informacion sobre Shadow Password en el Howto correspondiente Shadow password HOWTO (ingles)

    Esto es todo sobre este fichero tan especial en nuestro sistema. Comentarios y sugerencias al autor.

  • Categories: Administración, Manuales Tags: