22
ADMINISTRADOR LINUX · Capítulo 01 blog.carreralinux.com.ar 1

ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 1

Page 2: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 2

Capítulo 01

ÍNDICE

Administración de usuarios 3PAM Autenticación de usuario y de servicios 3

Comandos para Administración de usuarios 4Descripción del archivo “/etc/passwd” 5Comando “adduser” 6Comando “finger” 8Comando “usermod” 8Comando “userdel” 11Definición de grupos 12Comando “id” 12Comando “groupadd” 13Comando “groupdel” 14

Políticas de permisos 15Concepto de propiedad 15Comando “chown” 16Definición de permisos 17Comando “chmod” 19

Ejercicio de “administración de usuarios y grupos” 20Administración de usuarios y permisos en GNU/Linux 20

Suscribite a nuestro Blog:blog.carreralinux.com.ar

Page 3: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 3

Capítulo 01

Administración de usuarios

El proceso de login de usuarios y servi-

cios está relacionado con PAM (Plugable Au-

thentication Module), por lo tanto antes de

empezar a trabajar con los comandos para

agregar usuarios veamos como hace el sistema

operativo la validación de los mismos.

PAM AUTENTICACIÓN DE USUARIO Y DE SERVICIOS

PAM es una jerarquía de comprobaciones de

autenticación y autorizaciones. Estas com-

probaciones están distribuidas en grupos de

administración.

Los grupos de administración están compuestos por uno o más módulos PAM api-

lados, cada uno de los cuales realiza una función de comprobación determinada;

algunas de estas comprobaciones pueden ser obligatorios (como la existencia del

usuario) y otras opcionales. La configuración de PAM se encuentra en el directorio /

etc/pam.d/ para versiones anteriores de PAM, se usaba el archivo /etc/pam.conf.

Cada aplicación o servicio con capacidades PAM tiene un ar-

chivo en el directorio /etc/pam.d/. Cada archivo en este di-

rectorio tiene el mismo nombre del servicio al que controla

el acceso.

Page 4: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 4

Si una aplicación utiliza PAM ella es la responsable por definir su nombre de servicio

e instalar su propio archivo de configuración en el directorio /etc/pam.d/. Por ejem-

plo, el programa login define su nombre de servicio como login e instala el archivo de

configuración PAM /etc/pam.d/login.

Comandos para administración de usuarios

Ahora que sabemos que la autenticación de usuarios está basada en PAM, podemos

comenzar a trabajar con los comandos para el manejo de usuarios.

Trabajemos con temas que a simple vista parecen ser compartimentos estancos. Por

un lado:

· Administración de usuarios

· Otorgar permisos

Los usuarios reales y root conforman el es-

quema básico de Administración de Usuarios.

La base de datos interna de los usuarios de GNU/Linux está relacionada con dos

archivos:

· /etc/passwd: este archivo contiene los nombres de los usuarios

· /etc/shadow: este archivo contiene la password encriptada con SHA512

Una buena política de seguridad ES cambiar las password continuamente, de esta

forma el algoritmo también va cambiando. Al hacer esto, aunque logren desencriptar

nuestras contraseñas, hacerlo les va a demandar mucho más tiempo. Probablemen-

te cuando lo logren ya lo hayamos cambiado nuevamente. Las contraseñas deben

ser combinaciones de letras y números incluyendo letras mayúsculas y minúsculas

además de caracteres especiales como por ejemplo “%”, “$”.

Page 5: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 5

DESCRIPCIÓN DEL ARCHIVO “/ETC/PASSWD”

Cuando agregamos un usuario, el sistema operativo agrega una línea en el archivo

/etc/passwd además también se agrega un grupo para cada usuario creado, el archi-

vo en el cual se agregan los grupos es archivo /etc/group, trabajar con grupos facilita

la tarea del administrador ya que los grupos permiten una administración de permisos

más eficiente y menos trabajosa desde el punto de vista de la asignación de permisos.

Al agregar un usuario, no sólo agregamos a este y un grupo sino también su buzón

de correo. Se crea el archivo de correos en el directorio “/var/spool/mail/” por último

se crea un home directory.

En la home, cada usuario guarda sus archivos personales orga-

nizados en directorios, fuera de ahí, salvo en los directo-

rios /tmp y /var/tmp no puede escribir.

Todo esto ocurre en forma simultánea en el sistema operativo cuando damos de alta

nuevos usuarios. Para esto el sistema operativo usa PAM (Plugable Administration

Module) los módulos PAM están definidos en el directorio /etc/pam.d.

El archivo con el que vamos a comenzar por estudiar es: /etc/passwd

Para root:

root:x:0:0:root:/root:/bin/bash

Para un usuario:

usuario:x:1000:1000:usuario,,,:/home/usuario:/bin/bash

Los parámetros para root en este archivo se agregan por de-

fecto, los de los usuarios se irán generando a medida que

nosotros vayamos creando nuevos usuarios.

Page 6: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 6

Veamos los parámetros uno a uno:

1.- Username

2.- Password

3.- UID (User Identification)

4.- GID (Group Identification)

5.- Nombre completo del usuario, el room number, el teléfono del trabajo, el

teléfono particular

6.- Path al home directory del usuario (siempre dentro del directorio /home)

7.- Intérprete de comando del usuario (normalmente se utiliza /bin/bash)

La mayoría de las distribuciones, se reserva

los primeros 1000 UID (del 0 al 999). Estos

se denominan “UID del sistema” y son utili-

zados ÚNICAMENTE por el sistema. Los usua-

rios humanos tendrán siempre un UID a partir

del ID 1000.

COMANDO “ADDUSER”

Para agregar usuarios vamos a usar el siguiente comando:

adduser <usuario_nuevo>

Cuando agregamos usuarios ocurre todo lo que vimos antes, se escribe el archivo /

etc/passwd, /etc/shadow, /etc/group, se crea un home en /home/<usuario_nuevo>

Veamos un Ejemplo:

equipo1:~# adduser carreralinux

Adding user `carreralinux’...

Adding new group `carreralinux’ (1000).

Adding new user `carreralinux’ (1000) with group `carreralinux’.

Creating home directory `/home/carreralinux’.

Copying files from `/etc/skel’

Page 7: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 7

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

Changing the user information for carreralinux

Enter the new value, or press ENTER for the default

Full Name []:

Room Number []:

Work Phone []:

Home Phone []:

Other []:

Is the information correct? [y/N]

Los usuarios se agregan en el archivo /etc/passwd mientras que las contraseñas en-

criptadas son guardadas en el archivo /etc/shadow, el porqué de esto, es que archivo

/etc/passwd puede verlo cualquier usuario, mientras que al archivo /etc/shadow tiene

permisos restringidos los permisos de tal manera que solo el administrador del siste-

ma pueda leerlo y modificarlo.

Hagamos la siguiente prueba:

Accedamos a una consola con un usuario distinto de root y luego intentamos

ejecutar el siguiente comando.

Intentemos ahora ver qué contraseña tiene cada usuario:

:~$ cat /etc/shadow

cat: /etc/shadow: Permiso denegado

Porque el sistema nos dice “Permiso denegado”:

Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-

mos averiguar cuál es la contraseña del usuario tenemos que empezar a probar con

millones de posibilidades, esto es gracias a los permisos que tiene el segundo archi-

vo. Se logra un anillo de seguridad desde un archivo con muchos derechos a otro que

tiene derechos menores.

01

02

Page 8: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 8

Lo que escribo debajo es peligroso desde el punto de vista de

seguridad y solo debemos usarlo en casos de extrema gravedad.

Hay una forma de dejar un usuario sin contraseña. Es borrarle la x que está después

del nombre. Esto es muy peligroso en un equipo solamente es usado cuando tene-

mos acceso físico a un equipo y no conocemos la contraseña del administrador.

Si debemos acceder a un equipo y no conocemos su password de root podemos

borrar la letra x del archivo /etc/passwd y ya podemos acceder a dicho equipo.

COMANDO “FINGER”

Existe un comando que sirve para obtener información de los usuarios sin tener

que abrir los archivos de configuración.

# finger carreralinux

Otra forma de ver la información de la siguiente:

# cat /etc/passwd | grep <usuarionuevo>

Lo que nos devolverá la línea del usuario consultado.

COMANDO “USERMOD”

Así como anteriormente agregamos un usuario, ahora vamos a poder modificar los

datos que cargamos anteriormente. El comando para esto es “usermod”.

Para modificar el nombre del usuario usamos:

# usermod - c “usuario de prueba” carreralinux

Suscribite a nuestro Facebook:

www.facebook.com/carreralinuxar

Page 9: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 9

PARÁMETRO A MODIFICAR: HOME DIRECTORY

Es muy importante que cada usuario tenga su home, de lo con-

trario tiene posibilidad de escribir en cualquier lado y

nosotros como administradores no tenemos herramientas para

saber lo que el usuario está haciendo.

¿QUÉ PASA SI CAMBIAMOS EL HOME?

Por ejemplo...

# usermod -d /tmp/carreralinux

Después de ejecutar este comando nos logueamos en otra consola con este usuario

y veamos qué pasa. El prompt cambia radicalmente.

Ahora dice algo como:

bash-2.05$

Esto se debe a que el home directory no está

vacío, contiene archivos importantes como

.bashrc, .bash_logout, etc.

Por ejemplo, el primero tiene información del prompt, del usuario, y de los alias de

comandos, y el segundo contiene información sobre qué hacer cuando el usuario

ejecuta el logout (salida del sistema).

¿DE DÓNDE SALEN ESTOS ARCHIVOS?

Estos archivos se guardan en el directorio

/etc/skel y cada vez que se agrega un usua-

rio todo lo que hay allí se copia a su home.

Page 10: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 10

PARÁMETRO A MODIFICAR: SHELL

Los shells (intérpretes de comandos que pue-

den ser utilizados para trabajar) están de-

finidos en el archivo /etc/shell.

El shell típico de GNU/Linux es el bash (Bourne Again Shell). Los usuarios pueden

tener este intérprete u otros como el csh, o ninguno. El intérprete de comandos es el

que le permite al usuario comunicarse con el sistema operativo para solicitarle que

éste ejecute una tarea, por ejemplo el listado de un directorio, copiar un archivo y

cualquier comando que se nos ocurra ejecutar.

Hay algunos programas que no necesitan el shell del sistema.

Veamos ejemplos:

· ftp (transferir archivos)

· http (web)

· pop y el smtp (correo entrante y saliente)

Estos programas proveen un intérprete de comandos propio, necesario para la ejecu-

ción de órdenes propias de los creadores del programa.

¿CÓMO CAMBIAMOS EL SHELL?

Lo hacemos usando el comando usermod -s.

Hagamos una prueba, supongamos que queremos dejar al usuario sin shell... tipien

esto en su consola:

# usermod -s /dev/null

Veamos ahora qué pasa...

Page 11: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 11

Ejercicio 1:

Una vez colocado el shell nulo, intentar el login en alguna consola. Observemos que

el login aparece nuevamente.

Ejercicio 2:

Si nos conectamos por ejemplo con ssh al equipo en el cual el usuario tiene shell nulo

veremos el mensaje: “Permiso denegado”, esto se debe a que el usuario de secure

shell necesita tener un intérprete de comandos válido para poder comunicarse con

el sistema.

COMANDO “USERDEL”

Sintaxis del comando:

userdel <usuario x>

Veamos un ejemplo:

# userdel carreralinux

Este comando nos permite borrar el usuario, sin borrar el home. El usuario no po-

drá acceder al sistema, pero debido a que el home directory no fue borrado todo lo

realizado por el usuario permanece en el sistema.

Si usamos el userdel - r usuarioX borro todo, el home, los

mails y toda la información que este usuario había generado.

También podemos agregar usuarios pasando los parámetros de descripción, shell

home:

# useradd -c ̈̄usuario de pruebas ̈̄-d /tmp -s /dev/null pruebas

En este caso lo que hacemos es crear un usuario llamado pruebas cuyo home es

/tmp y no tiene shell.

Page 12: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 12

DEFINICIÓN DE GRUPOS

Los grupos se crean para optimizar nuestro

trabajo.

Imaginemos que tenemos un recurso, ese recurso puede ser un directorio en el cual

tres usuarios tienen que guardar archivos; el resto no puede. Lo que hacemos es

agregar esos usuarios en un grupo y darle derechos al grupo para que puedan escri-

bir sobre ese directorio, dejando de lado al resto.

COMANDO “ID”

Hasta ahora hemos estado trabajando con usuarios y sus modificaciones. Veamos

qué pasa con los grupos cuando usamos el comando “finger”, no podemos ver el

uid ni el gid.

Para ver estos dos números hay un comando específico.

Podemos ver a qué grupo y a qué otros grupos pertenece el usuario ejecutando el

comando id.

Este comando nos muestra a que grupo o gru-

pos pertenece un determinado usuario.

equipo1:~# id carreralinux

uid=1000(carreralinux)

gid=1000(carreralinux)

groups=1000(carreralinux),20(dialout),24(cdrom),25(flo-

ppy),29(audio),44(video),46(plugdev)

Page 13: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 13

COMANDO “GROUPADD”

El comando que permite agregar grupos es el groupadd.

Veamos un ejemplo:

groupadd gr1

groupadd gr2

groupadd gr3

Si queremos cambiar el grupo de pertenencia al usuario lo hago de la siguiente

manera:

# usermod -g gr1 usuarioprueba

El parámetro ‘g’ nos permite cambiar el grupo primario, llamaremos grupo primario

al que está definido en el archivo /etc/passwd.

Cuando el usuario que accedió al sistema cree un archivo o un

directorio, el sistema operativo lo va a hacer a nombre del

usuario y del grupo primario al que pertenece.

Podemos inferir que si existe un grupo primario también existen grupos secundarios,

de manera tal que un usuario puede pertenecer a distintos grupos, entonces que po-

demos administrar permisos de una forma más general es decir otorgar o restringir

permisos a grupos en vez de hacerlo usuario por usuario.

Si queremos ver a que grupos pertenecen los usuarios, debemos usar el comando

‘cat al archivo /etc/group’, o usar el comando groups <nombre_usuario>:

# groups usuarioprueba

usuarioprueba: gr1

Este usuario no solamente puede pertenecer al grupo g1, puede

también pertenecer al g2 y g3 (con diferentes tipos de per-

misos).

Page 14: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 14

Si queremos modificar los grupos a los que el grupo pertenece, tendremos que

modificar el archivo y para poder hacer eso lo que hacemos es:

:~# usermod -aG gr2,gr3 usuarioprueba

Con esto lo agregamos a dos grupos más. Le permitimos pertenecer a otros grupos.

Este comando escribe en el archivo /etc/group. Esto sirve para darle más derechos,

que use otros directorios, que use impresoras, etc.

El parámetro “G” (mayúscula) modifica el archivo /etc/group. No el archivo /etc/

passwd.

El parámetro “a” impide que se borren los grupos preexistentes en el usuario.

Con el comando ID usuarioprueba vemos a qué grupos pertenece.

Si queremos borrarlo de algún grupo ejecutamos el usermod con el parámetro -G g2:

#usermod -G g2 usuarioprueba

La regla es:

Grupo que no ponemos, grupo que se borra.

Al escribir este comando con esta sintaxis el usuario llamando usuarioprueba sola-

mente pertenece al grupo 2.

COMANDO “GROUPDEL”

Si queremos borrar algún grupo usamos el comando groupdel.

Los grupos no se pueden borrar si algún usuario los está usan-

do de manera primaria.

Page 15: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 15

Políticas de permisos

CONCEPTO DE PROPIEDAD

Propietario (Dueño): Que tiene más derecho

que otro sobre algo. Owner (inglés).

Cuando creamos un archivo, éste automáticamente pasa a pertenecer al usuario due-

ño y al grupo dueño. El único que puede alterar esa pertenencia en el sistema es el

administrador del sistema Root puede cambiar la propiedad de cualquier archivo.

¿QUÉ OCURRE CUANDO CREAMOS UN ARCHIVO?

Accedemos al sistema en la terminal 2, con usuarioprue-

ba para esto presionamos ctrl + Alt + F2.

usuarioprueba@equipo1:~$

Cambiamos al directorio:

usuarioprueba@equipo1:~$ cd /tmp

Generamos un directorio dentro de tmp:

carreralinux@equipo1:~$ mkdir directorio

Queremos ver a quién pertenece:

carreralinux@equipo1:~$ ls -l

Nos muestra toda la lista. Nos dice que pertenece a usuarioprueba y a gr1.

Esto significa que cuando un usuario crea algo lo hace a su

nombre y a nombre del grupo primario al que pertenece. (Lee

el archivo /etc/passwd).

Page 16: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 16

Todos los usuarios que pertenezcan al grupo1 (gr1) van a te-

ner el mismo derecho que usuarioprueba a todo. Si el usuario

y el grupo coinciden tienen todos los mismos derechos.

COMANDO “CHOWN”

El administrador del sistema tiene la fa-

cultad de poder hacer cambios de dueño en el

sistema operativo.

Veamos cómo... Vamos a comenzar usando el comando chown. Para poder trabajar

con este comando debemos ingresar al sistema en el equipo como root:

~# chown root:g3 directorio

Ejecutamos el comando ls:

# ls -l

Observamos que ahora el directorio le pertenece a root y a g3.

Si queremos modificar el usuario dueño y no el grupo usamos el comando:

# chgrp g2 directorio

El comando anterior hace que se modifique el grupo dueño del

directorio.

Con chown -r cambiamos todo lo que está adentro. (Parámetro de recursividad).

# chown -r root:g3 directorio

Page 17: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 17

Hasta acá hemos acumulado información y practicado con los comandos que permi-

ten agregar, modificar y borrar usuarios, grupos y dueños. Ahora lo vamos a relacio-

narlos con los permisos.

DEFINICIÓN DE PERMISOS

¿Para qué nos sirve que algo tenga dueño, pertenezca a algo o a alguien?

El sistema operativo permite que los usuarios accedan a los recursos o ejecuten co-

mandos teniendo en cuenta una política de permisos. Estos permisos son adminis-

trados por el usuario root (administrador del sistema).

Podemos dividir la política de permisos en tres grandes categorías. La clasificación

de las mismas es la siguiente:

1.- Permisos aplicados usuario dueño (Owner)

2.- Permisos aplicados al grupo (Group)

3.- Permisos aplicados a los otros (Other)

De acuerdo a estas categorías podemos aplicar a cada una de estas los tres permisos

read, write y execute.

User Group Other

rwx rwx rwx

· r: indica que el usuario tiene permiso de lectura. Podrá ejecutar comandos de lectura

como: ls, cat, etc.

· w: indica que el usuario tiene permiso de escritura. Podrá ejecutar el mcedit, por

ejemplo, y guardar cambios.

· x: indica que tiene permisos de ejecución. Podrá ejecutar un script.

El usuario dueño de un recurso puede administrar los permisos

de grupo y otros. Esto significa que puede otorgar o quitar

derechos sobre sus propios recursos

Page 18: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 18

Si queremos otorgar un permiso de ejecución a un script o un binario primero tene-

mos que darle permiso de lectura, porque si no el sistema no puede ejecutarlo.

En los lenguajes de programación, como por ejemplo “C”, se usan referencias de

números octales en vez de letras para cambiar los permisos.

Read Write Execute

Owner 4 2 1

Group 4 2 1

Other 4 2 1

Tabla de permisos octales

Cuando queremos saber quién es el dueño de un recurso en el

sistema podemos usar el comando ls con el parámetro -l.

Veamos un ejemplo. Queremos saber a quién pertenece un archivo de texto llamado

texto.txt y que permisos tiene el archivo. Para esto usamos el siguiente comando:

$ ls -l archivo.txt

-rw-r--r-- 1 usuarioprueba gr1 0 mar 30 06:16 archivo.txt

La primera columna tiene los permisos divididos en las categorías user, group, others.

Las tres primeras letras rw- se refieren al user.

Las siguientes tres al grupo y las otras tres a los otros.

La columna que sigue tiene el número de enlaces que apuntan al archivo, luego si-

guen el usuario dueño y luego el grupo dueño.

Podemos leer la salida del comando de esta manera:

· El usuario llamado “usuarioprueba” tiene derechos de rw- (lee y escribe sobre el

archivo).

· El grupo dueño gr1 tiene derechos de r-- (solo lectura para el archivo, no puede

modificarlo).

· Los otros los que no son usuarioprueba ni pertenecen al grupo gr1 tienen el derecho

r-- (pueden leer el archivo pero no modificarlo ni ejecutarlo).

Page 19: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 19

COMANDO “CHMOD”

El comando chmod se utiliza con comas, no se colocan espacios, ejemplo:

chmod u+rx,g+r,o+r directorio o archivo

Ejercicio 1:

Al user (dueño) le vamos a agregar lectura, escritura y ejecución, sin espacio, ni nada.

Al grupo le queremos agregar lectura, escritura y ejecución A otros les vamos a agre-

gar lectura, escritura y ejecución y por último el recurso: directorio

Para lograrlo escribimos la siguiente línea de comandos:

equipo1:~# chmod u+rwx,g+rwx,o+rwx directorio o archivo

Para probar el ejemplo ejecutamos el comando ls con el parámetro -l:

equipo1:~# ls -l directorio o archivo

Los archivos, antes de que les activemos los permisos van a

estar pintados de blanco. Después están pintados de verde,

cuando ya tienen activados los permisos.

Si quiero cambiar y quitarle derechos:

equipo1:~# chmod g-w,o-rx directorio

LO QUE SE DA CON MAS, SE QUITA CON MENOS

El permiso total se calcula sumando los va-

lores 4+2+1=7

Ejemplo:

equipo1:~# chmod 777 directorio

Quiere decir que todos tienen todos los permisos activados.

Page 20: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 20

Ejercicio2:

Cambiemos los permisos de directorio otorgándole a usuario rwx, al grupo w y a otros

r mediante el sistema OCTAL.

Respuesta:

equipo1:~# chmod 724 directorio

Ejercicio de “administración de usuarios y grupos”

ADMINISTRACIÓN DE USUARIOS Y PERMISOS EN GNU/LINUX

Para administrar permisos de tenemos que tener en cuenta que tenemos:

· Por un lado los usuarios.

· Por otro lado tengo los grupos.

· Por otro lado los recursos.

Cuando entendemos esto, podemos plantearnos pensar a estos

como un todo y empezar a administrarlos.

Vamos a plantear un ejercicio integrador. Tenemos cuatro usuarios, tres grupos y tres

directorios. Algunos usuarios pertenecen a un grupo y otros a otros grupos, vamos

a pensar un ejercicio donde los usuarios de cada grupo tengan privacidad en sus

directorios.

El siguiente cuadro indica quienes son los usuarios, cuales son los grupos y los direc-

torios, luego vemos quienes son los miembros del grupo. La idea es que cada grupo

pueda acceder a un directorio en particular.

Usuarios Grupos Miembros Directorios Dueños Denegación

1 compras 1,2,3 /tmp/dir1 1:compras 4

2 ventas 2,4 /tmp/dir2 2:ventas 1,3

3 administración 2,3,4 /tmp/dir3 3:administracion 1

Page 21: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 21

Veamos paso a paso cómo resolver este ejercicio.

Paso 1:

Vamos a agregar los usuarios con el adduser:

equipo1:~# useradd 1

equipo1:~# useradd 2

equipo1:~# useradd 3

equipo1:~# useradd 4

Paso 2:

Vamos a crear directorios:

equipo1:~# mkdir dir1

equipo1:~# mkdir dir2

equipo1:~# mkdir dir3

Paso 3:

Ahora vamos a agregar los grupos:

equipo1:~# groupadd compras

equipo1:~# groupadd ventas

equipo1:~# groupadd administracion

Paso 4:

Vamos a cambiar de dueño a los directorios:

equipo1:~# chown 1:compras dir1

equipo1:~# chown 2:ventas dir2

equipo1:~# chown 3:administracion dir3

Paso 5:

Vamos a hacer que los usuarios pertenezcan a los grupos.

equipo1:~# usermod -g compras

equipo1:~# usermod -g ventas -G compras,administracion usuario2

equipo1:~# usermod -g administracion -G compras usuario3

equipo1:~# usermod -G ventas, administracion, usuario4

Page 22: ADMINISTRADOR LINUX Capítulo 01 · Sabemos cuál es el usuario pero no su contraseña, como era de suponer. Si quere-mos averiguar cuál es la contraseña del usuario tenemos que

ADMINISTRADOR LINUX · Capítulo 01

blog.carreralinux.com.ar 22

Paso 6:

Vamos a cambiar los permisos a los directorios

equipo1:~# chmod 770 dir1

equipo1:~# chmod 770 dir2

equipo1:~# chmod 770 dir3

Para probar el ejercicio nos loguearnos al equipo con cada uno de los usuarios antes

agregados y ver si tenemos acceso a los directorios.

Suscribite a nuestro Twitter:twitter.com/CarreraLinuxAr