Archive for 15 agosto 2008

h1

Tuneando tu Linux Linpus III:

15 agosto 2008

Algun@s de vosotr@s me habéis preguntado cómo se instalan aplicaciones en vustro Linux Linpus.

Pues bien, una vez tenéis el escritorio avanzado (Post anterior), el modo de actualizar o eliminar Software es muy sencillo. Tan sólo debéis hacer “clic” con el botón derecho de ratón sobre el escritorio avanzado y dirigirnos a Sistema -> Agregar / Quitar Software.

Lógicamente, al ser una tarea administrativa, os pide la contraseña de administrador (root). Posteriormente, se conectará a sus repositorios para ver el listado de aplicaciones (paquetes) disponibles:

Una vez actualizado automáticamente la lista de paquetes disponibles, nos sale una pantalla como la siguiente, donde podemos navegar por las categorías de software disponibles, buscar un paquete en concreto, o listar los que están instalados o disponibles para ser instalados:

En la pestaña “search” ponemos el nombre de la aplicación en linux que queremos instalar:

Una vez seleccionado el paquete a instalar, Linux Linpus descargará dicho software y las dependencias que este necesita y las instalará en el sistema.

Una vez instalada, cada aplicación aparecerá en el menú avanzado dentro de la categoría a la que pertenezca.

h1

Tuneando tu Linux linpus II:

14 agosto 2008

Por defecto, nuestro Linux Linpus es poco funcional. En el Post anterior vimos cómo sacarle más funcionalidades obteniendo un menú avanzado que nos permitía realizar muchas otras funciones y tareas ocultas por defecto.

Ahora veremos cómo personalizar un poco nuestro escritorio. Veamos cómo podemos cambiar el fondo de la pantalla y los cuatro menús que aparecen por defecto:

Para cambiar el fondo (Background), simplemente necesitamos sustituir una imagen por otra en una ruta determinada. La imagen del fondo debe de ser de 1024 x 600 px y estar en formato .png

La ruta donde debemos copiar nuestro nuevo fondo es en:

/usr/share/backgrounds/images/

Y el nombre que debe llevar la imagen de fondo debe ser: Home-bk.png (sobrescribiendo la anterior ya existente).

La forma más sencilla de hacerlo es desde el terminal como usuario root. En el post anterior vimos cómo obtener un terminal.

Una vez nos situamos en el terminal, nos pasamos a superusuario escribiendo: “su” (pulsamos intro) y nos pedirá la contraseña de root que será la que introdujimos la primera vez que encendimos el equipo.

Después copiamos nuestro fondo nuevo a la ruta donde debe de estar así:

cp   /home/user/mi_fondo_nuevo. png /usr/share/backgrounds/images/Home-bk.png

Reiniciaremos y ya tenemos nuestro nuevo fondo:

Si la línea de comandos no es de nuestro agrado, podemos hacerlo con el típico copiar/pegar desde el entorno gráfico. Para obtener un entorno gráfico, desde el terminal nos pasamos a superusuario como hemos visto anteriormente y escribimos “thunar” (sin las comillas), tendremos así un explorador de archivos en modo root o superusuario (administrador, vamos!)

¡¡No es recomendable trabajar como root, por motivos de seguridad en el sistem!!

Como veis en la imagen, he cambiado también el título del menú azul y he cambiado algunos iconos. Todo esto lo gestionan varios archivos de texto plano, el principal es este:

/home/user/.config/xfce4/desktop/group-app.xml

Básicamente consiste en leer este archivo y buscar rutas a archivos .desktop, que son los iconos que aparecen en los menús. Cada .desktop es otro archivo de texto editable, donde podemos cambiarle desde el icono, la acción a realizar o el nombre.

En un próximo Post explicaré con más detalle como realizar algunos de estos cambios. 😉

h1

Tuneando tu Linux Linpus I:

12 agosto 2008

Como ya vimos en anteriores posts, Linux Linpus es el Sistema Operativo basado en Linux Fedora que suele traer muchos de los ultraportátiles que últimamente están rompiendo el mercado como el Asus Eee, o el Acer Aspire One entre otros.

Como buen Linux, y gracias a su licencia GPL, podemos personalizar y “tunear” nuestro Linpus del modo que más nos guste y sacarle un % extra que tiene un poco escondido por defecto.

Lo primero que yo eché en falta es el tener acceso a su terminal. Una vez teniendo acceso a ese terminal podemos jugar mucho más desde su intérprete de comandos.

Para abrir un terminal en Linpus:

Teclea la conbinación de teclas: Alt+F2 y escribe “terminal” en la ventana que te aparece.

Una vez teniendo esa terminal… podemos comenzar a sacarle menús ocultos o un escritorio en modo avanzado de la siguiente forma:

Desde el terminal escribe: “xfce-setting-show“.

Estonos abrirá la ventana de configuración de nuestro escritorio xfce. Si nos dirigimos al icono “Desktop“,senos abrirá la ventana de preferencias del escritorio. Ahora nos vamos a la pestaña “Behavior” y señalamos la segunda opción dentro de menus: “Show desktop menu on right click“.

Existen muchas otras opciones en esta ventana, adapta tu Linpus a tus necesidades y la siguiente vez que reinicies tu equipo tendrás un menú mas avanzado al hacer click con el botón derecho del ratón sobre el escritorio principal.

h1

Linux Linpus: El Sistema Operativo para ultraportátiles

10 agosto 2008

Desde hace unos meses, están de moda los ultraportátiles de 9 pulgadas con pesos inferiores a 1kg, sobre para quienes el concepto de portátil es aquél que te permite una movilidad cómoda, poco peso, con una buena conectividad y una buena gestión de su batería. (No entiendo a quiénes se compran un portatil de 19” y 4kg de peso, imagino que será cuestión de gustos.)

Estos ultraportátiles cuentan con unas especificaciones de hardware “bajas”, como puede ser un CPU de 500MHz, 128 de RAM y disco duro de 512MB… que permiten romper el mercado con un producto más que aceptable por menos de 300€.

Acer Aspire One: ¡¡más que recomendable!!

¿Un portatil de menos de 1kg por menos de 300€? Quién lo diriía!! Aunque parezcan limitados en hardware, memoria o capacidad de disco duro, estos ultraportátiles son realmente efectivos y veloces, gracias al sistema operativo que suelen ofrecer por defecto: Linux Linpus.

Asus, Acer y otras muchas marcas comienzan a vender sus ultraportátiles con este sistema operativo (Linpus) ,basado en la distribución de Linux: Fedora (Red Hat).

Linpus permite sacar el máximo “jugo” a estos equipos. ¿conocéis algún Sistema Operativo que arranque en frio y despliegue todo su escritorio y aplicaciones en menos de 6 sg? ¡¡Linpus lo hace!!

Esa es la principal razón por la que estos equipos preinstalan este S.O. ¡¡Sería una locura y una pérdida de eficiencia instalarle cualquier Windows!!

Como ya os he comentado, Linpus está basado de Linux Fedora, y presenta un conjunto de herramientas preinstaladas: suite ofimática completa, herramientas de Internet: navegador Mozilla Firefox, clientes de mensajería instantánea, cliente de ftp, cliente para correo electrónico, cliente de rss…, herramientas multimedia para audio/video, visores de pdf, herramientas para visión y manipulación de imágenes, juegos…

Lo mejor de todo esto es que todas las aplicaciones son Software Libre, lo que permite personalizar tu escritorio a tu manera y necesidades:

No creo que mi Blog sea tan interesante como para ponerlo por defecto en el escritorio, pero si quieres puedes personalizárlo a tu gusto.

Linpus puede ser 100% configurable y adaptable. En futuros Posts, comentaré algunos trucos para “tunear” y personalizar tu Linpus. 😉

Es una buena oportunidad para tener un buen portátil por menos de 300€ en época de crísis y tener un primer contacto con Linux para aquellos que aún no lo conocen.

Pd.: No maltratéis estos equipos instalando un Windows, no están hechos para semejante Sistema ¿Operativo?

h1

Redes sociales 2.0: Rejaw

8 agosto 2008

De nuevo me dicen de una nueva herramienta 2.0 Rejaw: una mezcla de microblogging y chat.

Similar a Twitter o Plurk… pero con alguna que otra mejora. Cansado de ver en qué se está convirtiendo Twitter, que más de seguir a personas que te puedan contar algo interesante, consiste en leer cómo juegan a “amigos.twitter” y de los ya familiares fallos a la hora de dar servicio con sus constantes caidas, pérdidas de fllowers/following, etc… es buen momento para darle una oportunidad a Rejaw.

Con una interface muy limpia y una usabilidad aceptable, permite dejar “shouts” (mensajes públicos) o “whispers” (mensajes privados a tus “followers” (seguidores).

Cualquier “shout” es un canál de conversación con una URL propia, a la que cualquier usuario puede acceder y dejar sus propios comentarios y opiniones. Otra de las ventajas es que permite 1000 caracteres por cada mensaje.

Incorpora un buscador de personas para seguir en Rejaw. Este buscador realiza estas búsquedas entre nuestros contactos de Gmail o Facebook.

Tan simple como registrarse y buscar los “following” que más puedan interesarte. Si alguien lo quiere probar, mi usuario en Rejaw es “AlberTUX”.  😉

h1

Capítulo VI: Gestión de permisos, usuarios y grupos en Linux

1 agosto 2008

Teniendo presente todo lo anteriormente visto, puede ser buen momento para comenzar con la primera tarea de administración, la de los usuarios del sistema.

Recordamos que ya hemos explicado que en Linux existen dos tipos o perfiles de usuarios: el administrador, o ‘root’, y los usuarios finales.

Para cualquier tarea de administración que tratemos a partir de ahora, será necesario estar logeado como usuario root.

La administración de usuarios en Linux es la referida a la creación y gestión de las cuentas de usuarios, grupos de usuarios, establecimiento de permisos y relaciones entre ambos.

Este tipo de administración la llevaremos a cabo cuando queramos establecer políticas de seguridad en un equipo o en una LAN, o para gestionar servidores del tipo NFS, FTP o WEB.

En este apartado vamos a diferenciar dos tareas básicas: política de permisos y gestión de usuarios.

6.1 Política de permisos en Linux:

Linux es un sistema multiusuario, por lo que necesita de una política de permisos segura y planificada para mantener el sistema seguro.

Un administrador de sistemas Linux debe prestar mucha atención y planificar dicha política de permisos para mantener su sistema seguro.

Podemos hacernos una primera idea de cómo se gestionan los permisos en Linux, haciendo un ‘ls -l’ desde nuestro intérprete de comandos:

[albertux@debian]$ ls -l
total 284
drwxr-xr-x 5 alberto alberto 4096 2007-11-26 17:38 2006r3
drwxr-xr-x 5 root root 4096 2007-09-17 15:48 AlberTUX_LIVE
drwxr-xr-x 3 alberto alberto 4096 2007-04-02 11:38 Beryl
drwxr-xr-x 2 alberto alberto 4096 2007-12-14 15:05 bin
-rw-r–r– 1 alberto alberto 16548 2008-04-03 15:07 CELIA-DSL.odt
drwxr-xr-x 1 alberto alberto 4096 2008-03-27 14:03 COMOs
drwx—— 3 alberto alberto 4096 2008-04-07 15:02 curso-ASL
-rw-r–r– 1 alberto alberto 9490 2008-04-07 13:44 Curso-ASOL.odt

Como vemos, cada línea tiene un formato del estilo:

{T} {rwx} {rwx} {rwx} {N} {usuario} {grupo} {tamaño} {fecha de creación}{nombre}

1er campo T: Nos indica que tipo de archivo es:

– Si es un fichero normal

d Si es un directorio

c Especial de modo carácter (Dispositivo tty, impresora…)

p Pipe

l Enlace simbólico

2º Campo: {rwx}: Nos indica los permisos que tiene el propietario del archivo.

3º Campo {rwx}: Nos indica los permisos que tiene el grupo al que pertenece el archivo.

4º Campo {rwx}: Nos indica los permisos del resto de usuarios. (Otros)

5º Campo {N}: Es el número de archivos/directorios que contiene. Si es un fichero aparecerá 1, si se trata de un directorio aparecerá como mínimo 2 (los directorios ‘.’ y ‘..’ más los que contenga).

6º Campo {usuario}: Indica el nombre del usuario al que pertenece el archivo o directorio.

7º Campo {grupo}: Indica el nombre del grupo al que pertenece el archivo o directorio.

8º Campo {tamaño}: Indica el tamaño.

9º Campo {fecha}: Indica la fecha de creación.

10º Campo {nombre}: Indica su nombre.

6.1.1 Interpretando rwx:

Los grupos de permisos se agrupan de 3 en 3: rwx, donde (r) significa permiso de lectura, (w) permiso de escritura y (x) permisos de ejecución.

Por lo tanto un fichero con esta apariencia:

rwx r-x —

significa que tendrá permisos de lectura, escritura y ejecución para el propietario, permisos de lectura y ejecución para el grupo, y ningún permiso para el resto.

PERMISOS SIGNIFICADO
rwx rwx rwx

Permiso para todos (Muy poco seguro para archivos sin importancia)

rwx r– —

Todos los permisos para el propietario y solo de lectura para el grupo.

r-x — —

Sólo lectura y ejecución para el propietario.

Si nos fijamos en el directorio donde comentamos que estaban los binarios (ejecutables) comunes para todos los usuarios del sistema, directorio /bin, y pedimos un listado con ‘ls -l’ observaremos que todos los binarios tienen una sintaxis como esta:

-rwxr-xr-x 1 root root 3518 2006-09-19 14:38 znew

Todos los binarios son propiedad del root, y el resto de usuarios (nosotros) únicamente podemos leer su contenido y ejecutarlo, algo bastante lógico y seguro, ¿no? Sería poco serio si cualquier usuario pudiese modificar la funcionalidad de este comando.

Que pasaría si a un archivo ejecutable del directorio /bin le diésemos los siguientes permisos:

-rwxr-x–x 1 root root 3518 2006-09-19 14:38 znew

Un usuario cualquiera (excepto root) teóricamente debería poder ejecutarlo, sin embargo, necesita leerlo para interpretarlo (cosa que tiene prohibida), por lo tanto no se ejecutaría.

¿Qué pasaría en este otro caso?

-rwxr-xr– 1 root root 3518 2006-09-19 14:38 znew

Como usuario normal podríamos leer su contenido, pero tampoco podríamos ejecutarlo, ya que carece de permisos de ejecución.

6.1.2 Los permisos en decimal:

Como ya hemos comentado, la operación de administrar una política de seguridad en Linux es una tarea fundamental para un administrador de sistemas.

La única persona que puede cambiar los permisos de un archivo o directorio es su propietario. No hace falta decir, que el root podrá cambiar los permisos de cualquier otro usuario del sistema. Es triste, pero … siempre ha habido clases y clases… en este Sistema Operativo si no eres root, no eres nadie. 😉

Para entender bien como gestionar los permisos, nos interesa recordar cómo es sistema binario. En un sistema BINARIO sólo pueden haber dos valores para cada dígito: ya sea un 0=DESACTIVADO ó un 1=ACTIVADO.

Para representar el número 22 en notación BINARIA lo haríamos como 00010110, notación que se explica según la siguiente tabla:

Posición del BIT:

7

6

5

4

3

2

1

0

Valor Binario:

0

0

0

1

0

1

1

0

Valor Decimal:

128

64

32

16

8

4

2

1

Valores a Sumar:

0

0

0

16

0

4

2

0

Valor Resultante: 16 + 4 + 2=22

Para calcular el valor de un permiso nos basaremos en la sumas de sus valores decimales según esta correspondencia:

r

w

x

Permiso

4

2

1

Valor Decimal

Por lo tanto los posibles valores para un permiso serán:

Permisos

Valor

rwx

7

rw-

6

r-x

5

r–

4

-wx

3

-w-

2

–r

1

0

Lo anterior, aplicado a un fichero que agrupa los permisos en 3 grupos (propietario, grupo y otros), resultaría así.

rwx r-x —
7 5 0

Por lo tanto,

PERMISO

VALOR

rwx rwx rwx

777

rwx r-x r–

754

r-x r– —

540

Teniendo claro esto, ya podemos administrar permisos de forma sencilla utilizando el comando chmod.

6.1.3 Cambiando permisos con chmod:

Lo más habitual es utilizar el comando chmod para administrar permisos, del siguiente modo:

[chmod] [modo] [permisos] [fichero/s]

Como modo sólo veremos elmoro ‘-R’, para cambiar los permisos de un modo recursivo dentro de los directorios.

[albertux@debian]$ chmod -R 755 mi_directorio

[albertux@debian]$ ls -l

[albertux@debian]$
drwxr-xr-x 2 albertux albertux 4096 2007-07-13 13:57 mi_directorio

Otra manera de añadir o quitar permisos, será utilizando estos modos:

a Indica que se aplicará a todos.(all)

u Indica que se aplicará al usuario.(user)

g Indica que se aplicará al grupo.(group)

o Indica que se aplicará a otros.(other)

+ Indica que se añade el permiso.

– Indica que se quita el permiso.

r Indica permiso de lectura.

w Indica permiso de escritura.

x Indica permiso de ejecución.

La manera de aplicar este nuevo método será:

(A quién se aplica) +/ – (Qué permisos aplica)

Aplicando lo anterior, resultarían estas posibles combinaciones:

a+r Permisos de lectura para todos.

+r Igual que antes, si no se indica nada se supone ‘a’.

og-x Quita permiso de ejecución a todos menos al usuario.

u+rwx Da todos los permisos al usuario.

o-rwx Quita los permisos a los otros.

Aplicaremos ‘-R’ (modo recursivo) cuando se trate de directorios:

[albertux@debian]$ chmod -R o-rx mi_directorio

[albertux@debian]$ ls -l

[albertux@debian]$
drwxr-x— 2 albertux albertux 4096 2007-07-13 13:57 mi_directorio

Con estos conceptos básicos ya podremos administrar los permisos de los usuarios de nuestro sistema. El comando ‘chmod’ tiene múltiples opciones, recordad la existencia del comando ‘man’ para conocer más:

[albertux@debian]$ man chmod

6.2 Gestión de Usuarios:

Una vez comprendido cómo cambiar los permisos a los usuarios del sistema, es necesario complementarlo con la gestión de dichos usuarios.

Un administrador de sistemas necesitará crear, modificar, eliminar y gestionar usuarios y grupos de usuarios a nivel global.

En Linux existe un archivo editable que contiene TODA la información acerca de los usuarios creados en nuestro sistema. Lógicamente, su configuración se encontrará en el directorio de configuraciones: /etc

El archivo en cuestión se llama passwd y se localiza en /etc/passwd.

6.2.1 El archivo /etc/passwd:

Gran parte de la seguridad de un sistema Linux, viene por el buen uso del archivo /etc/passwd, ya que es objetivo primario para muchos ataques de crackers (crackers != hackers) (los crackers no son hackers).

En este archivo, existe una línea que contiene toda la información propia por cada usuario existente en la máquina, con una sintaxis parecida a esta:

nombre:clave_encriptada:UID:GID:GECOS:directorio_inicial:intérprete

Ej.: alberto:x:1000:1000:Alberto Reynolds,,,:/home/alberto:/bin/bash

Cada campo está separado por ‘:‘. El campo ‘nombre‘ indica el alias con el que se logea el usuario en el sistema. Seguidamente está la clave encriptada aunque lo que todos encontraréis seguramente es una ‘x’.

Después nos encontramos con el UID y GID, el primero es el identificador de usuario para el sistema y el segundo el identificador de grupo primario al que el usuario pertenece, puesto que un usuario puede pertenecer a muchos grupos.

GECOS es un campo opcional para guardar información. Normalmente contiene el nombre completo del usuario. GECOS significa General Electric Comprehensive Operating System. En este campo podemos poner lo que queramos ya que el sistema no lo usa para ninguna gestión. Se puede omitir sin poner entre los ‘:’ nada, quedando ‘::’.

Posteriormente aparece el directorio inicial es donde empezará el usuario una vez logueado, y seguidamente el interprete de comandos usará (bash, sh, tcsh…).

Si en el campo intérprete encontramos ‘/sbin/nologin’ es un usuario que no puede loguearse, esto tiene sentido ya que el propio sistema tiene usuarios con privilegios para dar servicios al sistema como pueden ser ‘bin’, ‘daemon’, ‘adm’…

El usuario root siempre tiene como UID y como GID un ‘0’, y cualquier usuario que lo tenga tendrá los mismos privilegios que él. Hay que recordar que un usuario sólo puede tener un UID, pero varios usuarios pueden tener el mismo UID.

PELIGRO: Algo totalmente desaconsejable, debido a que puede provocar agujeros de seguridad importantes, es tener algún usuario con UID=0 distinto al root. Si esto ocurre, lo más seguro es que hayas sido atacado por algún, ¿hacker?, bastante cutre.

Normalmente el sistema guarda los UID bajos (por ejemplo por debajo de 500 o por debajo de 1000) para los usuarios del propio sistema, los que necesita para los servicios que ofrece (por ejemplo, si tienes un servidor de ftp lo normal es tener un usuario en el sistema que se llame ‘ftp’), y los UID altos se utilizan para los usuarios normales.

PELIGRO: Si donde debiera aparecer la clave aparece ‘::’, esto indica que no hay clave, y por supuesto, no es nada bueno. Si aparece una ‘x’ es que las claves o la clave de ese usuario están gestionadas en el archivo /etc/shadow ya que la mayoría de los sistemas usan “claves en sombra”.

Esto es debido a que /etc/passwd debe ser visible a todos, porque si no ciertos comandos como puede ser ‘ls’ dejarían de funcionar, y aunque la clave está encriptada no es bueno que se encuentre a la vista por la existencia de programas de fuerza bruta que se dedican a desencriptarlas (el famoso ‘jhon deriper‘ por ejemplo), y cualquier usuario con acceso a nuestro sistema tendría las claves usando dichos programas.

En vez de esto se usa el fichero /etc/shadow, que sólo es visible por root.

No es aconsejable ‘jugar’ con esta información editando y retocando directamente dichos archivos. Para ello existen distintas herramientas que nos ayudarán a gestionar los usuarios y grupos.

6.2.2 Añadiendo usuarios:

Utilizaremos el comando adduser o useradd, desde nuestro interprete de comandos y siendo administrador, root, para añadir usuarios.

Normalmente bastará con la orden adduser nombre_usuario para crear nuevos usuarios, aunque su sintaxis completa será:

addusr [-c comentario] [-d home] [-e fecha] [-f dias] [-g grupo] [-G lista de grupos] [-m [-k template] | -M] [-n] [-o] [-p passwd] [-r][-s shell] [-u uid] usuario

Podremos ‘ahorrarnosmuchas de las opciones, ya que, si no indicamos nada el ‘home’ del usuario se creará por defecto en ‘/home/nombre_del_usuario’, con la estructura del ‘/etc/skell’.

Este, será un usuario indefinido y no se bloqueará por no usarse, tendrá la shell por defecto (normalmente bash), se le asignará un uid automáticamente y se creará un grupo con el mismo nombre.

Normalmente usaremos la forma sencilla:

[debian:/home/alberto]# adduser pepito
Adding user `pepito’ …
Adding new group `pepito’ (1001) …
Adding new user `pepito’ (1001) with group `pepito’ …
Creating home directory `/home/pepito’ …
Copying files from `/etc/skel’ …
Enter new UNIX password:

Si preferimos personalizar o forzar algún campo, utilizaremos la sintaxis completa:

addusr [-c comentario] [-d home] [-e fecha] [-f dias] [-g grupo] [-G lista de grupos] [-m [-k template] | -M] [-n] [-o] [-p passwd] [-r][-s shell] [-u uid] usuario

Donde:

[-c comentario]: Pondremos el comentario que queremos en el campo GECOS.

[-d home]: Directorio home (el de inicio) de la cuenta.

[-e fecha]: fecha en formato año-mes-día en que la cuenta caduca y se bloquea.

[-f dias]: Número de días en los que la cuenta se bloqueará si no se usa.

[-g grupo]: Nombre del grupo primario. Ojo el grupo debe ya existir.

[-G lista de grupos]: Listado de grupos al que el usuario pertenecerá.

[-m [-k template] | -M] -m: Crea el directorio home de la cuenta si es que no existe ya. Con -k usa el directorio template para crear el directorio home o sea que copia lo de template al home, en caso contrario se copia / etc/skell. Si en vez de -m ponemos -M el directorio no es creado.

[-n]: Añade un grupo con el mismo nombre que el usuario

[-o]: Permite crear usuarios con uid duplicada.

[-p passwd]: Añade el password al usuario.

[-r]: Se usa para crear un usuario del sistema.

[-s shell]: Indica que shell

[-u uid]: Indicamos que uid queremos.

Para saber más…

[albertux@debian]$ man adduser

NOTA: Podemos modificar la estructura del /home del usuario, modificando el /etc/skell del sistema.

6.2.3 Modificando usuarios:

Como comentamos anteriormente, existen herramientas para evitar modificar el archivo /etc/passwd ‘a mano’. El comando usermod nos permitirá hacer estos cambios de esta manera:

usermod [-c comentario] [-d home] [-e fecha] [-f dias] [-g grupo] [-G lista de grupos] [-m] [-n] [-p passwd] [-s shell] [-u uid [-o] ] usuario [-L | -U] usuario

El significado de los parámetros es el mismo que en el anterior comando, así que no necesitan explicación, salvo dos nuevos:

-L Bloquea la cuenta de usuario.

-U La desbloquea.

Cambiaremos por ejemplo una contraseña así:

[debian:/home/alberto]# usermod -p nueva_clave pepito

Y bloquearemos la cuenta de ‘pepito’ de este modo:

[debian:/home/alberto]# usermod -L pepito

Para saber más…

[alberTUX@debian]$ oman usermod

NOTA: Un usuario puede cambiarse su propia contraseña utilizando la orden passwd. No hace falta molestar al administrador del sistema para esto.

[alberTUX@debian]$ passwd
Changing password for alberto
(current) UNIX password:

6.2.4 Eliminando usuarios:

Llegó el momento de eliminar usuarios que ya no pintan nada en nuestro sistema. Ya es sabido por todos que es mucho más fácil destruir que crear. En este caso bastará con aplicar el comando deluser o userdel.

Aquí tenéis un ejemplo:

[debian:/home/alberto]# deluser -R pepito

Con la opción ‘-R’ eliminará el directorio home del usuario; sin esta opción se limitará a eliminar únicamente la cuenta de usuario, dejando el home intacto.

Para saber más…

[alberTUX@debian]$ man deluser

6.2.5 Añadiendo nuevos grupos:

Ahora toca administrar los grupos de usuarios. Cada usuario pertenece como mínimo a un grupo, (su grupo principal de usuario), aunque podrá pertenecer a varios grupos más.

Existen ciertos grupos del sistema, tales como grupo root, grupo bin… y por lo general, salvo raras excepciones, los usuarios nunca deben pertenecer a ninguno de esos grupos.

Para los grupos existe igualmente un archivo de configuración /etc/group, al que por supuesto debemos proteger y cuidar como hacemos con /etc/passwd.

El fichero de shadow para los grupos es ‘/etc/gshadow‘, e igual que en los usuarios sólo es accesible por el root.

El formato de ‘/etc/group’ es el siguiente:

nombre_grupo:clave:GID:lista de usuarios miembros

Aunque en el campo clave aparezca una ‘x’ al igual que pasaba con /etc/passwd, no quiere decir que cada grupo tenga una clave. Si miramos el archivo /etc/gshadow veremos que casi todos los campos están vacíos, es decir, no existe ninguna clave.

Para añadir un grupo utilizaremos el comando addgroup o groupadd. Al igual que anteriormente, existirá el modo ‘rápido’ y el modo ‘personalizado’.

Modo rápido:

[debian:/home/alberto]# addgroup migrupo
Adding group `migrupo’ (GID 1002) …
Hecho.

Modo personalizado:

groupadd [-g gid [-o]] [-r] [-f] [nombre del grupo]

Donde:

-g indica explícitamente el GID del grupo.

-o no obliga a que el identificador de grupo sea único, cosa totalmente desaconsejable.

-r para crear un grupo del sistema.

-f hace que groupadd no de error si el grupo ya existe.

Para saber más…

[alberTUX@debian]$man groupadd

6.2.6 Modificando grupos:

Llegará el momento de que surja la necesidad de modificar algún grupo existente. Utilizaremos para ello el comando modgroup:

groupmod [-g gid [-o]] [-n group_name ] [nombre-del-grupo]

Vamos a cambiar el nombre del grupo ‘tarde’ a grupo ‘noche’:

[debian:/home/alberto]# groupmod -n tarde noche
groupadd noche

Para saber más…

[alberTUX@debian]$ man groupmod

6.2.7 Eliminando grupos:

Por último, vamos a ver como se eliminan los grupos de usuarios que ya no necesitamos. Utilizaremos para ello el comando groupdel o delgroup:

[debian:/home/alberto]# groupdel noche

Para saber más…

[alberTUX@debian]$ man groupdel

6.3 Cómo cambiar de propietario y grupo a nuestros ficheros:

Queda ahora conocer como hacer propietario de un archivo o directorio a un usuario, o hacer que este fichero sea propiedad de un grupo.

Para ello existen los comandos chown y chgrp.

El primero cambia de propietario a un fichero existente de esta forma:

[chown] [usuario] [archivo]

Si por ejemplo tenemos un fichero llamado ‘prueba.sh’ propiedad de ‘alberto’:

[debian:/home/alberto]# ls -l |grep prueba.sh
-rw-r–r– 1 alberto alberto 2 2008-04-10 15:41 prueba.sh

y queremos que su propietario pase a ser ‘root’, haremos:

[debian:/home/alberto]# chown root prueba.sh

Vemos el resultado…

[debian:/home/alberto]# ls -l |grep prueba.sh
-rw-r–r– 1 root alberto 2 2008-04-10 15:41 prueba.sh

Si queremos aplicar esto a directorios, simplemente añadiremos la opción ‘-R‘ para que lo haga de modo recursivo:

[chown] -R [usuario] [directorio]

Para saber más…

[alberTUX@debian]$ man chown

Para cambiar de grupo a un fichero utilizaremos el comando “chgrp de este modo:

[chgrp] [grupo] [archivo]

Si por ejemplo tenemos un fichero llamado ‘prueba.sh’ perteneciente al grupo ‘alberto’:

[debian:/home/alberto]# ls -l |grep prueba.sh
-rw-r–r– 1 root alberto 2 2008-04-10 15:41 prueba.sh

y queremos que su grupo principal sea ‘root’, haremos:

[debian:/home/alberto]# chgrp root prueba.sh

Vemos el resultado…

[debian:/home/alberto]# ls -l |grep prueba.sh
-rw-r–r– 1 root root 2 2008-04-10 15:41 prueba.sh

Al igual que antes, añadiremos la opción ‘-R‘ para que lo haga de modo recursivo:

[chgrp] -R [grupo] [directorio]

Para saber más…

[alberTUX@debian]$ man chgrp

6.4 Otros comandos útiles:

Otros comando útiles para un administrador relativos a la gestión de usuarios pueden ser los comandos users y groups.

Users nos indica qué usuarios se encuentran validados en el sistema. Muy útil cuando trabajamos en una máquina compartida o un servidor,

Groups nos indica los grupos a los que pertenece un usuario:

[debian:/home/alberto]# groups root
root : root

Para saber más…

[alberTUX@debian]$ man users
[alberTUX@debian]$ man group

Esta obra está protegida por la Licencia Creative Commons, bajo las condiciones de: Reconocimiento – No comercial – Compartir igual: El material creado por un artista puede ser distribuido, copiado y exhibido por terceros si se muestra en los créditos. No se puede obtener ningún beneficio comercial y las obras derivadas tienen que estar bajo los mismos términos de licencia que el trabajo original.

ReconocimientoReconocimiento (Attribution): El material creado por un artista puede ser distribuido, copiado y exhibido por terceras personas si se muestra en los créditos.

No comercialNo Comercial (Non commercial): El material original y los trabajos derivados pueden ser distribuidos, copiados y exhibidos mientras su uso no sea comercial.

Compartir IgualCompartir Igual (Share alike): El material creado por un artista puede ser modificado y distribuido pero bajo la misma licencia que el material original.

Podéis descargar este capítulo en formato PDF, desde aquí.
Para ver los capítulos anteriores: pincha aquí.
Resto de Posts de estos capítulos: http://albertux.es/?s=capitulo

Versión: 1.0
Autor: Alberto Reynolds Moreno.
alberto.reynolds[@]gmail.com
Revisión: Isabel Rueda Rodríguez
rueda.isabel[@]gmail.com