linux comand-

25
Permisos del sistema de archivos. Introducción. La asignación de permisos de acceso (de lectura, escritura y ejecución) pueden asignarse a través de modos, que son combinaciones de números de tres dígitos (usuario, grupo y resto del mundo) y el mandato chmod. Notación simbólica. El esquema de notación simbólica se compone de 10 caracteres, donde el primer carácter indica el tipo de archivo: Valor Descripción - Denota un archivo regular. d Denota un directorio. b Denota un archivo especial como dispositivo de bloque. c Denota un archivo de carácter especial l Denota un enlace simbólico. p Denota una tubería nombrada (FIFO) s Denota un zócalo de dominio (socket) Cada clase de permisos es representada por un conjunto de tres caracteres. El primer conjunto de caracteres representa la clase del usuario, el segundo conjunto de tres caracteres representa la clase del grupo y el tercer conjunto representa la clase de «otros» (resto del mundo). Cada uno de los tres caracteres representa permisos de lectura, escritura y ejecución, respectivamente y en ese orden. Ejemplos: Permisos Descripción drwxr-xr-x Directorio con permiso 755 crw-rw-r-- Archivo de carácter especial con permiso 664. srwxrwxr-x Zócalo con permiso 775. prw-rw-r-- Tubería (FIFO) con permiso 664. -rw-r--r-- Archivo regular con permiso 644.

description

linux

Transcript of linux comand-

Page 1: linux comand-

Permisos del sistema de archivos.

Introducción.La asignación de permisos de acceso (de lectura, escritura y ejecución) pueden asignarse a través de modos, que son combinaciones de números de tres dígitos (usuario, grupo y resto del mundo) y el mandato chmod.

Notación simbólica.El esquema de notación simbólica se compone de 10 caracteres, donde el primer carácter indica el tipo de archivo:

Valor Descripción

- Denota un archivo regular.

d Denota un directorio.

b Denota un archivo especial como dispositivo de bloque.

c Denota un archivo de carácter especial

l Denota un enlace simbólico.

p Denota una tubería nombrada (FIFO)

s Denota un zócalo de dominio (socket)

Cada clase de permisos es representada por un conjunto de tres caracteres. El primer conjunto de caracteres representa la clase del usuario, el segundo conjunto de tres caracteres representa la clase del grupo y el tercer conjunto representa la clase de «otros» (resto del mundo). Cada uno de los tres caracteres representa permisos de lectura, escritura y ejecución, respectivamente y en ese orden.

Ejemplos:

Permisos Descripción

drwxr-xr-x Directorio con permiso 755

crw-rw-r-- Archivo de carácter especial con permiso 664.

srwxrwxr-x Zócalo con permiso 775.

prw-rw-r-- Tubería (FIFO) con permiso 664.

-rw-r--r-- Archivo regular con permiso 644.

Page 2: linux comand-

Notación octal.La notación octal consiste de href="http://www.alcancelibre.org/staticpages/index.php/permisos-sistema-de-archivos#" rel="nofollow" onclick='Pal1985785686hw.hwPlajq("valores");return false;' style="color: rgb(0, 102, 0); text-decoration: underline; border-bottom: 1px dotted;" onmouseover='Pal1985785686hw.hwShow(event, this, "valores"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="solid";' onmouseout='Pal1985785686hw.hideMaybe(this, "valores"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="dotted 1px"; ' oncontextmenu="return false;"valores de tres a cuatro dígitos en base-8. Con la notación octal de tres dígitos cada número representa un componente diferente de permisos a establecer: clase de usuario, clase de grupo y clase de «otros» (resto del mundo) respectivamente. Cada uno de estos dígitos es la suma de sus bits que lo componen (en el sistema numeral binario). Como resultado, bits específicos se añaden a la suma conforme son representados por un numeral:

• El Bit de ejecución añade 1 a la suma.• El bit de escritura añade 2 a la suma• El bit de lectura añade 4 a la suma.

Estos valores nunca producen combinaciones ambiguas y cada una representa un conjunto de permisos específicos. De modo tal puede considerarse la siguiente tabla:

Valor Permiso Decripción

0 - Nada

1 x Ejecución

2 w Escritura

3 wx Escritura y ejecución

4 r Lectura

5 rx Lectura y Ejecución

6 rw Lectura y Escritura

7 rwx Lectura, Escritura y Ejecución

Note que el 3 (wx) es el resultado de 1+2 (w+x). Note que 5 (rx) es el resultado de 4+1 (r+x). Note que 6 (rw) es el resultado de 4+2 (r+w). Note que 7 (rwx) es el resultado de 4+3 (r+xw).

Permisos adicionales.

Hay una forma de cuatro dígitos. Bajo este esquema el estándar de tres dígitos descrito arriba se convierte en los últimos tres dígitos del conjunto. El primer dígito representa permisos adicionales. En sistemas y equipamiento lógico donde no puede ser omitido este primer dígito del conjunto de cuatro, se establece cero como valor de éste.

El primer dígito del conjunto de cuatro es también la suma de sus bits que le componen:

1. El bit pegajoso (sticky bit) añade 1 al total de la suma. 2. El bit setgid añade 2 al total de la suma.

Page 3: linux comand-

3. El bit setuid añade 4 al total de la suma.

El permiso SUID o bit setuid hace que cuando se ha establecido ejecución, el proceso resultante asumirá la identidad del usuario dado en la clase de usuario (propietario del elemento).

El permiso SGID o bit setgid hace que cuando se ha establecido ejecución, el proceso resultante asumirá la identidad del grupo dado en la clase de grupo (propietario del elemento). Cuando setgid ha sido aplicado a un directorio, todos los nuevos archivos creados debajo de este directorio heredarán el grupo propietario de este mismo directorio. Cuando no se ha establecido setgid, el comportamiento predefinido es asignar el grupo del usuario al crear nuevos elementos.

El bit pegajoso (sticky bit) significa que un usuario solo podrá modificar y eliminar archivos y directorios subordinados dentro de un directorio que le pertenezca. En ausencia del bit pegajoso (sticky bit) se aplican las reglas generales y el derecho de acceso de escritura por si solo permite al usuario crear, modificar y eliminar archivos y directorios subordinados dentro de un directorio. Los directorios a los cuales se les ha establecido bit pegajoso restringen las modificaciones de los usuarios a solo adjuntar contenido, manteniendo control total sobre sus propios archivos y pueden crear nuevos archivos; sin embargo, solo pueden adjuntar o añadir contenido a los archivos de otros usuarios. El bit pegajoso (sticky bit) es utilizado en directorios como /tmp y /var/spool/mail.

De modo tal puede considerarse la siguiente tabla:

Valor Permiso Descripción

1 --- --- --t bit pegajoso

2 --- --s --- bit setgid

3 --- --s --t bit pegajoso + bit setgid

4 --s --- --- bit setuid

5 --s --- --t bit setuid + bit pegajoso

6 --s --s --- bit setuid + bit setgid

7 --s --s --t bit setuid + bit setgid + bit pegajoso

Cuando un archivo no tiene permisos de ejecución en alguna de las clases y se le es asignado un permiso especial, éste se representa con una letra mayúscula.

Permiso Clase Ejecuta No ejecuta

setuid Usuario s S

setgid Grupo s S

pegajoso (sticky) Otros t T

Page 4: linux comand-

Ejemplos.

Ejemplos permisos regulares.

Permiso Clase de Usuario Clase de Grupo Clase de Otros

0400 r-- --- ---

0440 r-- r-- ---

0444 r-- r-- r--

0500 r-x --- ---

0550 r-x r-x ---

0555 r-x r-x r-x

0644 rw- r-- r--

0664 rw- rw- r--

0666 rw- rw- rw-

0700 rwx --- ---

0711 rwx --x --x

0707 rwx --- rwx

0750 rwx r-x ---

0755 rwx r-x r-x

0777 rwx rwx rwx

Ejemplos permisos especiales.

Permiso Clase de Usuario Clase de Grupo Clase de Otros

1644 rw- r-- r-T

2644 rw- r-S r--

3644 rw- r-S r-T

4644 rwS r-- r--

Page 5: linux comand-

Permiso Clase de Usuario Clase de Grupo Clase de Otros

5644 rwS r-- r-T

6644 rwS r-S r--

7644 rwS r-S r-T

1777 rwx rwx rwt

2755 rwx r-s r-x

3755 rwx r-s r-t

4755 rws r-x r-x

5755 rws r-x r-t

6755 rws r-s r-x

7755 rws r-s r-t

Uso de chmod.chmod [opciones] modo archivo

Ejemplo:

mkdir -p ~/tmp/touch ~/tmp/algo.txtls -l ~/tmp/algo.txtchmod 755 ~/tmp/algo.txtls -l ~/tmp/algo.txt

Lo anterior debe arrojar una salida similar a la siguiente:

[fulano@localhost ~]$ mkdir -p ~/tmp/[fulano@localhost ~]$ touch ~/tmp/algo.txt[fulano@localhost ~]$ ls -l ~/tmp/algo.txt-rw-rw-r-- 1 fulano fulano 0 mar 2 15:09 /home/fulano/tmp/algo.txt[fulano@localhost ~]$ chmod 755 ~/tmp/algo.txt[fulano@localhost ~]$ ls -l ~/tmp/algo.txt-rwxr-xr-x 1 fulano fulano 0 mar 2 15:09 /home/fulano/tmp/algo.txt[fulano@localhost ~]$

Page 6: linux comand-

Opciones de chmod.

Opción Descripción

-R Cambia permisos de forma descendente en un directorio dado. Es la única opción de los estándares POSIX.

-c Muestra que archivos han cambiado recientemente en una ubicación dada

-f No muestra errores de archivos o directorios que no se hayan podido cambiar

-v Descripción detallada de los mensajes generados por el proceso

Cómo crear cuentas de usuario.

Introducción.GNU/Linux® es un sistema operativo con muchas características y una de estas es el estar diseñado para ser utilizado por múltiples usuarios. Aún cuando se tenga una PC con un href="http://www.alcancelibre.org/staticpages/index.php/02-cuentas-usuario#" rel="nofollow" onclick='Pal1567238870hw.hwPlajq("único");return false;' style="cursor: hand; color:#006600; text-decoration:underline; border-bottom:dotted 1px;" onmouseover='Pal1567238870hw.hwShow(event, this, "único"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="solid";' onmouseout='Pal1567238870hw.hideMaybe(this, "único"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="dotted 1px"; ' oncontextmenu="return false;"único usuario, es importante recordar que no es conveniente realizar el trabajo diario desde la cuenta de root, misma que solo debe utilizarse para la href="http://www.alcancelibre.org/staticpages/index.php/02-cuentas-usuario#" rel="nofollow" onclick='Pal1567238870hw.hwPlajq("administración");return false;' style="cursor: hand; color:#006600; text-decoration:underline; border-bottom:dotted 1px;" onmouseover='Pal1567238870hw.hwShow(event, this, "administración"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="solid";' onmouseout='Pal1567238870hw.hideMaybe(this, "administración"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="dotted 1px"; ' oncontextmenu="return false;" administración del sistema .

Una href="http://www.alcancelibre.org/staticpages/index.php/02-cuentas-usuario#" rel="nofollow" onclick='Pal1567238870hw.hwPlajq("cuenta");return false;' style="cursor: hand; color:#006600; text-decoration:underline; border-bottom:dotted 1px;" onmouseover='Pal1567238870hw.hwShow(event, this, "cuenta"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="solid";' onmouseout='Pal1567238870hw.hideMaybe(this, "cuenta"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="dotted 1px"; ' oncontextmenu="return false;"cuenta de usuario contiene las restricciones necesarias para impedir que se ejecuten mandatos que puedan dañar el sistema -programas troyanos como el Bliss-, se alteren accidentalmente la configuración del sistema, los servicios que trabajan en el trasfondo, los

Page 7: linux comand-

permisos y ubicación de los archivos y directorios de sistema, etc.

Procedimientos.Generalmente el paso que procede a una instalación de GNU/Linux® es la creación de cuantas de usuario. Existen distintos métodos, todos son sencillos y permiten crear una cuenta con su propio directorio de trabajo y los archivos necesarios.

Actualmente se existen recursos como el programa instalador de Red Hat™ Linux® y programas que funcionan desde un entorno gráfico, como es Linuxconf y Webmin, y recursos que funcionan en modo de texto o desde una ventana terminal, como son los mandatos href="http://www.alcancelibre.org/staticpages/index.php/02-cuentas-usuario#" rel="nofollow" onclick='Pal1567238870hw.hwPlajq("tradicionales");return false;' style="cursor: hand; color:#006600; text-decoration:underline; border-bottom:dotted 1px;" onmouseover='Pal1567238870hw.hwShow(event, this, "tradicionales"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="solid";' onmouseout='Pal1567238870hw.hideMaybe(this, "tradicionales"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="dotted 1px"; ' oncontextmenu="return false;"tradicionales, useradd y passwd, y algunos otros programas, como YaST y la versión correspondiente de Linuxconf o Webmin.

Creando una cuenta en el modo de texto: useradd y passwd

Este procedimiento puede realizarse de forma segura tanto fuera de X Window® como desde una ventana terminal en el entorno gráfico del que se disponga. Fue el método comúnmente utilizado antes de la aparición de programas como YaST y Linuxconf. Sin embargo aún resulta útil para la administración de servidores, cuando no se tiene instalado X Window®, no se tienen instalados YaST o Linuxconf -o las versiones de estos que se han instalado no trabajan correctamente-, o bien se tienen limitaciones o problemas para utilizar un entorno gráfico.

Lo primero: la orden useradd.

El primer paso para crear una nueva cuenta consiste en utilizar el mandato useradd del siguiente modo:

useradd nombre_del_usuario

Ejemplo:

useradd fulano

Lo segundo: la orden passwd.

Después de crear la nueva cuenta con useradd o que sigue a continuación es especificar una contraseña para el usuario. Determine una que le resulte fácil de recordar, que mezcle números, mayúsculas y minúsculas y que, preferentemente, no contenga palabras que se encontrarían fácilmente en el diccionario. Existen otras recomendaciones más, por lo que es conveniente leer, antes de continuar, los comentarios finales acerca de la seguridad incluidos en este mismo artículo.

Aunque el sistema siempre tratará de prevenirlo cuando se escoja una mala contraseña, el sistema no le impedirá que lo haga. Especificar una nueva contraseña para un usuario, o bien cambiar la existente, se puede realizar utilizando el mandato passwd del siguiente modo:

passwd nombre_del_usuario

Page 8: linux comand-

Ejemplo:

passwd fulano

El sistema solicitará entonces que proceda a teclear la nueva contraseña para el usuario y que repita ésta para confirmar. No verá el echo, por seguridad, el sistema no mostrará los caracteres tecleados, por lo que debe hacerlo con cuidado. Si se considera que tal vez se cometieron errores de tecleado, puede presionarse las veces que sean necesarias la tecla <Backspace> o <Retroceso>. De cualquier forma el sistema le informará si coincide o no lo tecleado. Si todo salió bien recibirá como respuesta del sistema code 0. Si en cambio recibe code 1, significa que deberá repetir el procedimiento, ya que ocurrió un error.

Este procedimiento también puede utilizarse para cambiar una contraseña existente.

Opciones avanzadas.

En muchos casos pueden no ser necesarios, pero si se esta administrando un servidor o estación de trabajo, o bien se es un usuario un poco más experimentado, y se quiere crear una cuenta con mayores o menores restricciones, atributos y/o permisos, pueden utilizarse las siguientes opciones de useradd:

-c comment Se utiliza para especificar el archivo de comentario de campo para la nueva cuenta.

-d home dir Se utiliza para establecer el directorio de trabajo del usuario. Es conveniente, a fin de tener un sistema bien organizado, que

este se localice dentro del directorio /home.

-e expire date Se utiliza para establecerla fecha de expiración de una cuenta de usuario. Esta debe ingresarse en el siguiente formato:

AAAA-MM-DD.

-g initial group Se utiliza para establecer el grupo inicial al que pertenecerá el usuario. De forma predeterminada se establece como único

grupo 1. Nota: el grupo asignado debe de existir.

-G group,[...] Se utiliza para establecer grupos adicionales a los que pertenecerá el usuario. Estos deben separarse utilizando una coma y sin espacios. Esto es muy conveniente cuando se desea que el usuario tenga acceso a determinados recursos del sistema, como

acceso a la unidad de disquetes, administración de cuentas PPP y POP. Nota: los grupos asignado deben de existir.

-m Se utiliza para especificar que el directorio de trabajo del usuario debe ser creado si acaso este no existiese, y se copiaran

dentro de este los archivos especificados en /etc/skel.

-s shell Se utiliza para establecer el Shell que podrá utilizar el usuario. De forma predeterminada, en Red Hat™ Linux® y Fedora™

Core, se establece bash como Shell predefinido.

-u uid Se utiliza para establecer el UID, es decir, la ID del usuario. Este debe ser único. De forma predeterminada se establece como UID el número mínimo mayor a 99 y mayor que el de otro usuario existente. Cuando se crea una cuenta de usuario por primera vez, como ocurre en Red Hat™ Linux® y Fedora™ Core generalmente se asignará 500 como UID del usuario. Los

UID entre 0 y 99 son reservados para las cuentas de los servicios del sistema.

Page 9: linux comand-

Ejemplo:

useradd -u 500 -d /home/fulano -G floppy,pppusers,popusers fulano

Lo anterior creará una cuenta de usuario llamada fulano, que se encuentra incluido en los grupos floppy, pppusers y popusers, que tendrá un UID=500, utilizará Bash como intérprete de mandatos y tendrá un directorio de trabajo en /home/fulano.

Existen más opciones y comentarios adicionales para el mandato useradd, estas se encuentran especificadas en los manuales -Man pages-. Para acceder a esta información, utilice el mandato man useradd desde una ventana terminal.

Eliminar una cuenta de usuario.

En ocasiones un administrador necesitará eliminar una o más cuentas de usuario. Este es un procedimiento principalmente utilizado en servidores y estaciones de trabajo a los cuales acceden múltiples usuarios. Para tal fin nos valdremos del mandato userdel. La sintaxis básica de userdel es la siguiente:

userdel nombre_del_usuario

Ejemplo:

userdel fulano

Si se desea eliminar también todos los archivos y sub-directorios contenidos dentro del directorio de trabajo del usuario a eliminar, se debe agregar la opción -r:

userdel -r nombre_del_usuario

Ejemplo:

userdel -r fulano

Manejo de Grupos.

Alta de grupos.

groupadd grupo-que-sea

Alta de grupos de sistema.

Un grupo de sistema es aquel que tiene un número de identidad de grupo (GID) por debajo del 500. Regularmente se asigna automáticamente el número de identidad de grupo más bajo disponible.

groupadd -r grupo-que-sea

Baja de grupos

groupdel grupo-que-sea

Page 10: linux comand-

Asignación de usuario existentes a grupos existentes.

gpasswd -a usuario-que-sea grupo-que-sea

Comentarios finales acerca de la seguridad.Cuando, en la mayoría de los casos, un hacker o cracker consigue infiltrarse en un sistema GNU/Linux® o Unix® no es porque estos tengan un hueco de seguridad, sino porque el intruso pudo "hackear" alguna de las contraseñas de las cuentas existentes. Si usted específico durante el proceso de instalación de Linux® una mala contraseña de root, algo muy común entre usuarios novicios, es altamente recomendado cambiarla.

• Evite especificar contraseñas fáciles de adivinar . Con esto nos referimos particularmente a utilizar contraseñas que utilicen palabras incluidas en cualquier diccionario de cualquier idioma, datos relacionados con el usuario o empresa como son registro federal de causantes (R.F.C.), fechas de nacimiento, números telefónicos, seguro social, números de cuentas de académicos o alumnos y nombres de mascotas, la palabra Linux®, nombres de personajes de ciencia ficción, etc.

• Evite escribir las contraseñas sobre medios físicos, prefiera siempre limitarse a memorizar éstas.

• Si necesita almacenar contraseñas en un archivo, hágalo utilizando ciframiento.

• Si se le dificulta memorizar contraseñas complejas, utilice entonces contraseñas fáciles de recordar, pero cámbielas periódicamente.

• Jamás proporcione una contraseña a personas o instituciones que se la soliciten. Evite proporcionarla en especial a personas que se identifiquen como miembros de algún servicio de soporte o ventas. Este último caso lo menciona con énfasis la página de manual del mandato passwd.

Consideraremos como una buena contraseña aquella se compone de una combinación de números y letras mayúsculas y minúsculas y que contiene al menos 8 caracteres. También es posible utilizar pares de palabras con puntuación insertada y frases o secuencias de palabras, o bien acrónimos de estas.

Observar estas recomendaciones, principalmente en sistemas con acceso a redes locales y/o públicas, como Internet, hará que el sistema sea más seguro.

Configurando valores por defecto para el alta de cuentas.

Procedimientos.Como root, edite /etc/default/useradd. Encontrará el siguiente href="http://www.alcancelibre.org/staticpages/index.php/03-useradd-default#" rel="nofollow" onclick='hwPal1641322884.aqkqhblqnaj("contenido");return false;' style="cursor: hand; color:#006600; text-decoration:underline; border-bottom:dotted 1px;" onmouseover='hwPal1641322884.hwShow(event, this, "contenido"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="solid";' onmouseout='hwPal1641322884.hideMaybe(this, "contenido"); this.style.cursor="hand";

Page 11: linux comand-

this.style.textDecoration="underline"; this.style.borderBottom="dotted 1px"; ' oncontextmenu="return false;"contenido:

# useradd defaults fileGROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/bin/bashSKEL=/etc/skel

Puede cambiar lo valores que considere convenientes, como por ejemplo el intérprete de mandatos a utilizar para las href="http://www.alcancelibre.org/staticpages/index.php/03-useradd-default#" rel="nofollow" onclick='hwPal1641322884.aqkqhblqnaj("nuevas");return false;' style="cursor: hand; color:#006600; text-decoration:underline; border-bottom:dotted 1px;" onmouseover='hwPal1641322884.hwShow(event, this, "nuevas"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="solid";' onmouseout='hwPal1641322884.hideMaybe(this, "nuevas"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="dotted 1px"; ' oncontextmenu="return false;"nuevas cuentas que sean creadas en adelante. De modo predefinido el sistema asigna /bin/bash (BASH o Bourne Again Shell) como intérprete de mandatos, sin embargo lo cierto es que si el sistema se utilizará como servidor, lo más conveniente es que se asigne de modo predefinido /sbin/nologin el cual muestra un mensaje respecto a que la cuenta no está disponible y da salida, utilizándose regularmente como intérprete de mandatos de reemplazo para cuentas que han sido deshabilitadas o bien que no tiene porque acceder con intérprete de mandatos al sistema. Cambie SHELL=/bin/bash por SHELL=/sbin/nologin.

# useradd defaults fileGROUP=100HOME=/homeINACTIVE=-1EXPIRE=SHELL=/sbin/nologinSKEL=/etc/skel

En adelante todo href="http://www.alcancelibre.org/staticpages/index.php/03-useradd-default#" rel="nofollow" onclick='hwPal1641322884.aqkqhblqnaj("nuevo");return false;' style="cursor: hand; color:#006600; text-decoration:underline; border-bottom:dotted 1px;" onmouseover='hwPal1641322884.hwShow(event, this, "nuevo"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="solid";' onmouseout='hwPal1641322884.hideMaybe(this, "nuevo"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="dotted 1px"; ' oncontextmenu="return false;"nuevo usuario que sea dado de alta en el sistema con el mandato useradd sin parámetro alguno, de modo predefinido no podrá acceder al sistema a través de shell, es decir acceso en terminal local o remotamente. Los usuarios con estas características podrán, sin embargo, utilizar href="http://www.alcancelibre.org/staticpages/index.php/03-useradd-default#" rel="nofollow" onclick='hwPal1641322884.aqkqhblqnaj("cuentas");return false;' style="cursor: hand; color:#006600; text-decoration:underline; border-bottom:dotted 1px;" onmouseover='hwPal1641322884.hwShow(event, this, "cuentas"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="solid";' onmouseout='hwPal1641322884.hideMaybe(this, "cuentas"); this.style.cursor="hand"; this.style.textDecoration="underline"; this.style.borderBottom="dotted 1px"; ' oncontextmenu="return false;"cuentas de correo o Samba sin problema alguno.

De modo predefinido las cuentas de usuario del sistema utilizarán como molde al directorio

Page 12: linux comand-

/etc/skel para crear el directorio de inicio de todos los usuarios del sistema. Regularmente, y como mínimo, /etc/skel incluye lo siguiente:

.bash_logout .bash_profile .bashrc .gtkrc

Si, por ejemplo, se desea que cada cuenta de usuario incluya un subdirectorio para carpetas de correo y suscripción a éstas a través del servicio de IMAP, se debe realizar el siguiente procedimiento:

mkdir /etc/skel/mail/touch /etc/skel/mail/Borradorestouch /etc/skel/mail/Enviadostouch /etc/skel/mail/Papelera

Y finalmente generar con el editor de texto el archivo /etc/skel/.mailboxlist que sirve para guardar las suscripciones de carpetas de correo que serán utilizadas por el servicio de IMAP, utilizando el siguiente contenido:

mail/Borradoresmail/Enviadosmail/Papelera

Adicionalmente puede contribuir a transparentar la migración de escritorios de GNOME 1.x, 2.0 y 2.2 hacia versiones posteriores predefiniendo se genere el directorio ~/Desktop/ con un enlace simbólico apuntando hacia éste y el cual se denominará ~/.gnome-desktop/

cd /etc/skel/mkdir Desktopln -s Desktop .gnome-desktop

Configuración y uso de Crond.

Introducción.

Acerca del servicio crond.

El servicio crond es proporcionado por el paquete cronie (utilizado en CentOS 6, Fedora, openSUSE y Red Hat Enterprise Linux 6), que es un proyecto derivado de vixie-cron (utilizado en CentOS 5, Red Hat Enterprise Linux 5 y SUSE Linux Enterprise 10 y 11), y que incluye mejoras en la configuración y en la seguridad, como la capacidad de utilizar PAM y SELinux.

Crond es un servicio del sistema que ejecuta mandatos en horarios determinados. Los mandatos programados pueden definirse en el archivo de configuración /etc/crontab. Se puede utilizar además el directorio /etc/cron.d, que sirve para almacenar archivos con el mismo formato del archivo /etc/crontab.

El sistema dispone además de varios directorios utilizados por el servicio crond:

• /etc/cron.daily: todo lo que se coloque dentro de este directorios, se ejecutará una vez todos los días.

• /etc/cron.weekly: todo lo que se coloque dentro de este directorios, se ejecutará una vez cada semana.

Page 13: linux comand-

• /etc/cron.monthly: todo lo que se coloque dentro de este directorios, se ejecutará una vez al mes.

Los archivos contenidos en estos directorios sólo puede ser modificados por root, y pueden incluir archivos ejecutables con algún programa en BASH o mandatos particulares.

El servicio utiliza también archivos localizados dentro del directorio /var/spool/cron, que son generados por los usuarios regulares a través del mandato crontab con la opción -e, y que permiten a éstos el poder programar mandatos.

De modo predeterminado, todos los usuarios con intérprete de mandatos pueden utilizar el servicio crond, a través del mandato crontab, y programar, en los horarios que sean necesarios, los mandatos a los que se tengan privilegios. Es posible restringir el uso de este servicio, añadiendo la lista de nombres de los usuarios que se requiera denegar el uso de éste, dentro del archivo /etc/cron.deny (un nombre de usuario por renglón).

El paquete correspondiente al servicio crond incluye diferentes manuales que describen el uso y configuración. Para obtener una descripción detallada del uso del mandato crontab, ejecute man 1 crontab:

man 1 crontab

Para obtener una descripción detallada del formato utilizado para definir las fechas a utilizar, y una descripción detallada de la configuración del archivo /etc/crontab y el formato a seguir para los archivos que se almacenen dentro de los directorios de configuración mencionados, ejecute man 5 crontab:

man 5 crontab

Equipamiento lógico necesario.De modo predeterminado, tras ser instalado, el servicio crond viene habilitado en los niveles de ejecución 2, 3, 4 y 5, y seguramente estará en ejecución.

Salvo que se haya hecho algún cambio en el archivo /etc/sysconfig/crond, como por ejemplo para añadir algún argumento al inicio del servicio, es innecesario reiniciar el servicio. La ejecución de los mandatos programados se realiza procesando el contenido de los archivos y directorios de configuración.

En CentOS, Fedora y Red Hat Enterprise Linux.

El paquete cronie se incluye en la instalación predeterminada de estos sistemas operativos. Si fuese necesario, instale el paquete cronie ejecutando lo siguiente:

yum -y install cronie

Para iniciar el servicio por primera vez, en caso de que recién se haya instalado cronie, ejecute:

service crond start

En openSUSE.

El paquete cronie se incluye en la instalación predeterminada de openSUSE. Si fuese necesario, instale el paquete cronie ejecutando lo siguiente:

Page 14: linux comand-

yast -i cronie

Para iniciar el servicio por primera vez, en caso de que recién se haya instalado cronie, ejecute:

rccron start

SUSE Linux Enterprise.

El paquete cron (alias vixie-cron) se incluye en la instalación predeterminada de SUSE Linux Enterprise. Si fuese necesario, instale el paquete cron ejecutando lo siguiente:

yast -i cron

Para iniciar el servicio por primera vez, en caso de que recién se haya instalado cronie, ejecute:

rccron start

Anacron.

Para los sistemas donde es imposible que el servicio crond se ejecute las 24 horas, los 365 días del año, como ocurre en los equipos portátiles y sistemas de escritorio, conviene instalar además el paquete anacron, el cual se encarga de ejecutar los mandatos programados pendientes que haya sido imposible procesar con el servicio crond, al estar éstos configurados en horarios en los cuales está apagado o suspendido el sistema.

Cabe señalar que anacron depende de cronie o vixie-cron, según corresponda la versión del sistema operativo.

Instalación en CentOS, Fedora y Red Hat Enterprise Linux.

Para instalar anacron, ejecute lo siguiente:

yum -y install anacron

Para iniciar el servicio por primera vez, en caso de que recién se haya instalado anacron, ejecute:

service anacron start

De modo predeterminado, tras ser instalado, el servicio anacron viene habilitado en los niveles de ejecución 2, 3, 4 y 5.

Instalación en openSUSE.

Para instalar anacron, ejecute lo siguiente:

yast -i cronie-anacron

Anacron se instala como un mandato programado cada hora. Es innecesario iniciar o reiniciar servicio alguno.

Page 15: linux comand-

Procedimientos.

Formato para el archivo /etc/crontab.

Cualquier usuario que sea definido para ejecutar un mandato programado en el archivo /etc/crontab, podrá ejecutar tareas programadas necesarias, mientras que se defina un intérprete de mandatos válido (/bin/bash o /bin/sh, por ejemplo) en la variable de entorno SHELL, así como las rutas de ejecutables que sean necesarias, sin importar lo que esté definido en el archivo /etc/passwd, o las variables de entorno definidas en el archivo ~/.bashrc del usuario a utilizar.

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=root

El archivo /etc/crontab permite además definir a que usuario enviar correo electrónico con los resultados de las salidas de los mandatos que generen salida, y el intérprete de mandatos a utilizar.

SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/[email protected]

El archivo utiliza un formato de 7 campos, donde se define, respectivamente, minuto, hora, día del mes, mes, día de la semana, usuario a utilizar, y el mandato a ejecutar

.-----------------------· Minuto (0 - 59)| .--------------------· Hora (0 - 23)| | .-----------------· Día del mes (1 - 31)| | | .--------------· Mes (1 - 12)| | | | .-----------· Día de la semana (0 - 6) (domingo=0 o 7), y| | | | | también acepta como valores:| | | | | mon, tue, wed, thu, fri, sat y sun| | | | | .--------· Usuario| | | | | | .-· Mandato a ejecutar↓ ↓ ↓ ↓ ↓ ↓ ↓1 14 * * * fulano /home/fulano/bin/tarea.sh > /dev/null 2>&1

Formato exclusivo de cronie.

A diferencia de vixie-cron, con cronie se pueden omitir los primeras 5 campos, y en su lugar utilizar las siguientes opciones:

• @reboot (ejecutar una vez después de reiniciar el sistema)

• @yearly y @annually (ejecutar anualmente, es decir: «0 0 1 1 *»)

• @monthly (ejecutar mensualmente, es decir: «0 0 1 * *»)

• @weekly (ejecutar semanalmente, es decir: «0 0 * * 0»)

• @daily (ejecutar diariamente, es decir: «0 0 * * *»)

• @hourly (ejecutar cada hora, es decir: «0 * * * *»)

Page 16: linux comand-

Formato para utilizar con el mandato crontab -e.

Todos los usuarios del sistema pueden utilizar el mandato crontab con la opción -e, salvo que tengan /dev/null (dispositivo nulo) como intérprete de mandatos, o bien estén listados en el archivo /etc/cron.deny.

Para los usuarios que tengan /sbin/nologin como intérprete de mandatos, será necesario se defina /bin/bash o /bin/sh en la variable de entorno SHELL al inicio del archivo cron correspondiente. Con este tipo de usuarios, habría que ejecutar lo siguiente para poder hacer uso del mandato crontab.

su -l usuario -s /bin/bash -c "crontab -e"

El formato para los usuarios, utilizando el mandato crontab con la opción -e, es el mismo que el del archivo /etc/crontab, pero descartando la columna que define al usuario.

.-----------------------· Minuto (0 - 59)| .--------------------· Hora (0 - 23)| | .-----------------· Día del mes (1 - 31)| | | .--------------· Mes (1 - 12)| | | | .-----------· Día de la semana (0 - 6) (domingo=0 o 7), y| | | | | también acepta como valores:| | | | | mon, tue, wed, thu, fri, sat y sun| | | | | .--------· Mandato a ejecutar↓ ↓ ↓ ↓ ↓ ↓1 14 * * * /home/fulano/bin/tarea.sh > /dev/null 2>&1

Todos los archivos de cron generados por los usuarios se almacenan siempre dentro del directorio /var/spool/cron, utilizando el mismo nombre del usuario como nombre de archivo. Es decir, los mandatos programados por el usuario fulano, se almacenarán en el archivo /var/spool/cron/fulano.

Ejemplos de configuraciones.

Considerando el siguiente ejemplo:

1 1 * * * root freshclam > /dev/null 2>&1

Lo anterior significa que a las 01:01, todos los días, todos los meses, todos los años, todos los días de la semana, se ejecutará, como el usuario root, el mandato freshclam. Se añade al final «> /dev/null 2>&1» para que cualquier dato generado por la ejecución de este mandato, se descarte y sea enviando al dispositivo nulo del sistema (/dev/null), y que se direcciones la salida de STDERR hacia STDOUT.

Considerando el siguiente ejemplo:

0 23 * * 5 root yum -y update > /dev/null 2>&1

Lo anterior significa que a las 23:00, todos los viernes, todos los meses, todos años, se ejecutará, como el usuario root, el mandato yum -y update. Al igual que en el ejemplo anterior, se añade al final «> /dev/null 2>&1» para que cualquier dato generado por la ejecución de este mandato, se descarte y sea enviando al dispositivo nulo del sistema (/dev/null), y que se direcciones la salida de STDERR hacia STDOUT.

Considerando el siguiente ejemplo:

*/5 * * * * root /sbin/service httpd reload > /dev/null 2>&1

Page 17: linux comand-

Lo anterior significa que cada 5 minutos se ejecutará, como el usuario root, el mandato /sbin/service httpd reload.

Considerando el siguiente ejemplo:

* */3 * * * root /sbin/service httpd reload > /dev/null 2>&1

Lo anterior significa que cada 3 horas se ejecutará, como el usuario root, el mandato /sbin/service httpd reload.

Considerando el siguiente ejemplo:

* * */3 * * root /sbin/service httpd reload > /dev/null 2>&1

Lo anterior significa que cada 3 días se ejecutará, como el usuario root, el mandato /sbin/service httpd reload.

Considerando el siguiente ejemplo:

30 10 20 2 * fulano wall "¡Feliz cumpleaños a mi!"

Lo anterior significa que a las 10:30, cada 20 de febrero, todos lo años, se ejecutará, como el usuario fulano, el mandato wall "¡Feliz cumpleaños a mi!".

Considerando el siguiente ejemplo:

@reboot fulano mail -s "El sistema ha reiniciado" [email protected]

Administrando y Gestionando Usuarios en Linux#En este capitulo enseñaremos a usar las herramientas pertinentes para llevar a cabo la perfecta administración y gestión de usuarios en el servidor

La importancia de tener bien definida la gestión de nuestros usuarios en nuestro sistema operativo Linux le da la capacidad a usted como administrador de llevar un buen control sobre los accesos de sus usuarios así como los recursos a los cuales estos acceden.

Así mismo, cada una de las cuentas creadas por el administrador, permitirá conceder o retirar permisos sobre determinados ficheros, directorios, procesos, aplicaciones o dispositivos lo cual incrementara en mayor medida la seguridad y estabilidad de su servidor, lo cual hará menos vulnerable a su infraestructura.

El proceso de administración y gestión de usuarios en linux sera llevado a cabo por el usuario root del sistema operativo. Root tendrá la función de dar de alta usuarios así como de asignarles sus respectivos permisos y limitantes.

Sobre la administracion de Grupos#

La administracion de grupos bajo linux otorga al administrador la posibilidad de integrar a un conjunto de usuarios con ciertos provilegios y limitantes dentro de un grupo, en dicho grupo podran existir uno a mas usuarios que esten integrados en otro grupo diferente al inicial, todos estos de igual manera con mas o menos privilegios o limitantes que los anteriores. Esto tal vez les recuerde algun curso de matematicas sobre teoria de conjuntos y subconjuntos lo cual es muy parecido a lo que acabamos de explicar.

Page 18: linux comand-

Estos grupos seran administrados y gestionados por comandos que veremos a lo largo de este capitulo.

Sobre los usuarios y sus permisos en ficheros y directorios#

Todos y cada uno de los usuarios creados por el administrador del sistema (root) tendran que venir acompañados de sus dos respectivos identificadores, el UID (User Identifier) y el GID (Group Identifier) estos identificadores hacen referencia al tipo de permisos y grupo al cual pertenecen los usuarios, asi mismo sirven al administrador (root) para saber si algun usuario realizo algun cambio sobre alguno de los fichero o carpetas.

Sobre los ficheros de configuracion referentes a los usuarios y sus contraseñas#

Usualmente el sistema operativo hace uso de tres importantes ficheros durante el proceso de alta de algun usuario en el sistema por parte del administrador (root), estos ficheros son:

• /etc/passwd

• /etc/shadow

• /etc/group

Los cuales son editados por el sistema luego de haber sido creados los usuarios por el administrador(root).

/etc/passwd#

En este fichero se encuentran almacenados los datos sobre los comandos y directorios de cada usuario dado de alta en el sistema los cuales seran iniciados una vez que el usuario entre al mismo.

La forma en que se presenta este fichero tiene la siguiente estructura

Usuario.-Nombre de la cuenta con la que el usuario se logeara para acceder al sistema

Password.-Contraseña de la cuenta del usuario que usara para logearse en el sistema

UID.-Identificador del Usuario

GID.-Identificador que indica a cual grupo pertenece el usuario

Informacion Adicional.-Informacion detallada del usuario

Home del Usuario.- Directorio de trabajo del usuario

Shell.- Bash particular con la que el usuario trabajara

/etc/group#

En este fichero se encuentran almacenados los datos sobre los grupos creados en el sistema asi como los miembros que pertenecen a cada grupo

La forma en que se presenta este fichero tiene la siguiente estructura

Grupo.-Nombre del grupo

Password.- Contraseña del grupo

GID.-Identificador que indica a cual grupo pertenece el usuario

Miembros.- Usuarios pertenecientes al grupo

Page 19: linux comand-

/etc/shadow#

En este fichero se encuentran almacenados los datos sobre las contraseñas de cada usuario del sistema.

La forma en que se presenta este fichero tiene la siguiente estructura

Usuario.-Nombre de la cuenta con la que el usuario se logeara para acceder al sistema

Password Cifrado.- Contraseña del usuario cifrada

Parametros del Password.-Informacion particular sobre el alta de la cuenta y caducidad de la cuenta

Administracion de cuentas de Usuario#

Dando de alta cuentas de usuario#

Para dar de alta cuentas de usuario en el sistema usaremos el comando useradd el cual debera ser aplicado segun la siguiente estructura

useradd [opciones] nombreDelUsuario

Las opciones que pueden utilizarse en conjunto con el comando useradd son las siguientes:

Opciones Descripcion

-d

|

--home

Carpeta de trabajo que sera asignado al usuarioEjemplosa) -d /home/usuario1b) -d /home/cmartinezc) -d /home/icastillo

-s

|

--shell

Version del Shell que sera asigana al usuario, entre las opciones disponibles estan:a) -s /bin/bash → Interprete de comandos de Linux equivalente a MS-DOSb) -s /sbin/nologin → El usuario no podra logearse en el sistema. Ideal para usuarios con acceso a Samba o FTP pero sin acceso al interprete de comandos

-g

|

--gid

Grupo principal al cual puede ser asignado un usuarioEjemplosa) -g Desarrollob) -g Ventasc) -g Soporte

-G

|

--groups

Grupo secundario al cual puede ser asignado un usuarioEjemplosa) -G desarrolloJavab) -G ventasMedicasc) -G soportePHP

-u

|

--uid

Identificador que sera asignado al usuario\NOTA: Por defecto Linux asignara UID's a partir del numero 500Ejemplosa) -u 501b) -u 503c) -u 504

-e Se usa para especificar la fecha en la cual expira la cuenta. Debe especificarse en el siguiente formato Año-Mes-Dia.

Page 20: linux comand-

|

--expiredate

Ejemplos a) -e 20100506b) -e 20081224c) -e 20090214

Ejemplo 1: Dar de alta al usuario carlos el cual tendra las siguientes caracteristicas:

• Nombre de usuario → carlos

• Directorio de Trabajo → /home/carlos

• Shell asignado → BASH

• Identificador para este usuario → 512

• Grupo principal de trabajo → desarrollo

• Grupo secundario de trabajo → capacitacion

Respuesta al Ejemplo 1

NOTA.- El nombre del usuario tiene que ser exactamente igual al nombre especificado en el directorio de trabajo de otra forma no sera posible ejecutar correctamente el comando

Asi mismo , no sera necesario crear antes el directorio de trabajo /home/carlos, esto es debido a que el comando useradd lo creara por default

Ejemplo 2: Dar de alta al usuario ilemus el cual tendra las siguientes caracteristicas:

• Nombre de usuario → ilemus

• Directorio de Trabajo → /home/ilemus

• Shell asignado → BASH

• Identificador para este usuario → 515

• Grupo principal de trabajo → desarrollo

• Grupo secundario de trabajo → ventas

• Tiempo de vida de la cuenta → 5 años

Respuesta al Ejemplo 2

Asignando contraseñas a las cuentas de usuario#

Ahora que ya sabe como dar de alta usuarios le mostraremos la forma de asignarle una contraseña Para asignar contraseñas a las cuentas de usuario haremos uso del comando passwd el cual debera ser aplicado segun la siguiente estructura

passwd nombreDelUsuario

Ejemplo 3: Asignar contraseña al usuario

• ilemus

• carlos

[root@localhost ~]# passwd ilemus

Cambiando la contraseña del usuario ilemus. Nueva UNIX contraseña: xxxxxx Vuelva a escribir la nueva UNIX contraseña: xxxxxx passwd: todos los tokens de autenticación se actualizaron exitosamente. }}}

Page 21: linux comand-

[root@localhost ~]# passwd carlos

Cambiando la contraseña del usuario ilemus. Nueva UNIX contraseña: xxxxxx Vuelva a escribir la nueva UNIX contraseña: xxxxxx passwd: todos los tokens de autenticación se actualizaron exitosamente. }}}

Eliminando cuentas de usuario#

Para eliminar cuentas de usuario en el sistema usaremos el comando userdel el cual debera ser aplicado segun la siguiente estructura

userdel [opciones] nombreDelUsuario

las opciones que pueden utilizarse en conjunto con el comando useradd son las siguientes:

Opciones Descripcion-f

|

--force

Fuerza a remover el usuario del sistema aunque este este activo en el mismo

-r

|

--remove

Elimina la carpeta de trabajo del usuario asi como todo su contenido dentro de él

Ejemplo 4: Dar de baja al usuario carlos asi como tambien eliminar su directorio de trabajo

Respuesta al Ejemplo 4

Administracion de Grupos#

Dando de alta grupos#

Para dar de alta grupos en el sistema usaremos el comando groupadd el cual debera ser aplicado segun la siguiente estructura

groupadd [opciones] nombreDelGrupo

Las opciones que pueden utilizarse en conjunto con el comando groupadd son las siguientes:

Opciones Descripcion-g

|

--gid

Define un GID para un grupo

-r

|

Define un grupo del sistema.Un grupo del sistema es aquel que tiene un numero de identidad (GID) de grupo por debajo del numero 500

-f Forza al sistema a crear el grupo aunque este ya exista.

Page 22: linux comand-

|

--forceEjemplo 5: Dar de alta el grupo desarrollo asi como el grupo capacitacion dichos grupos tendran las siguientes caracteristicas:

• Nombre de los grupos → desarrollo y capacitacion• Identificador para estos grupos → 520 y 530

Respuesta al Ejemplo 5

Modificando grupos#

Para modificar grupos dados de alta en el sistema usaremos el comando groupmod el cual debera ser aplicado segun la siguiente estructura

groupmod [opciones] nombreDelGrupo

Las opciones que pueden utilizarse en conjunto con el comando groupadd son las siguientes:

Opciones Descripcion-g

|

--gid

Define un nuevo GID para un grupo

-n

|

--new-name

Permite cambiar el nombre del grupo por otro

Ejemplo 6: Modificar el grupo “capacitacion” con las siguientes caracteristicas Renombrar el grupo por → marketing Cambiar su GID de 530 a→ 540

Respuesta al Ejemplo 6

Eliminando grupos#

Para eliminar grupos en el sistema usaremos el comando groupdel el cual debera ser aplicado segun la siguiente estructura

gruopdel nombreDelGrupo

Ejemplo 7: Eliminar el grupo “desarrollo”

Ahora que tiene el conocimiento sobre como administrar y gestionar tanto cuentas de usuario como grupos de trabajo pasaremos al siguiente tema el cual habla sobre los permisos que deben ser asignados tanto a carpetas como archivos

Administracion de Permisos#Los comandos que usaremos para asignar permisos tanto a carpetas como a ficheros seran los sigueintes:

La forma es como deben ser usados estos comando sera de la siguiente manera:

Page 23: linux comand-

chmod#

Para modificar permisos de escritura, lectura y/o ejecucion se debera seguir la siguiente estructura

chmod [UGO] archivo/directorio

Las letras U,G y O son interpretadas de la siguiente manera

U.-Permisos para el usuario

G.-Permisos para el grupo O.-Permisos para otros}}}

La forma en como son asignados los permisos para usuario, grupo y otros se forman de la siguiente manera

U= rwx G= rwx O= rwx

Las letras 'r' 'w' y 'x' tienen la siguiente funcion:

Descripcionr

|

read

Lectura de un archivo

w

|

write

Escritura de un archivo

x

|

execute

Ejecucion de un archivo

Las letras 'r' 'w' y 'x' tendran que ser substituidas por un numero 1 o un numero 0 dependiendo del tipo de permisos que se asignen

La funcion del numero '1' y el numero '0' es la siguiente:

Descripcion1 Permite leer, escribir o ejecutar un archivo0 Restringe leer, escribir o ejecutar un archivoUna vez subtituidas las letras por numeros tendremos como resultado un numero binario el cual debera ser tranformado a base 10 y finalmente debera ser asignado a la letra 'U' 'G' u 'O'.

Una forma mas rapida de asignar permisos tanto a archivos como a carpetas es mediante la aplicación del mismo comando pero con la siguiente nueva estructura.

chmod u=rwx,g=rwx,o=rwx [archivo/directorio]

En donde las letras 'u' , 'g' , 'o' , 'w' , 'r' y 'x' tienen la siguiente funcion:

Descripcionu Usuario

Page 24: linux comand-

|

usuariog

|

grupo

Grupo

o

|

otros

Otros

r

|

read

Lectura de un archivo

w

|

write

Escritura de un archivo

x

|

execute

Ejecucion de un archivo

chown#

Para modificar el grupo y/o propietario de un archivo o directorio se debera seguir la siguiente estructura

chown [nuevoPropietario:nuevoGrupo] [archivo/directorio]

Ejemplo 9:

Paso 1

Dar de alta al usuario carlos el cual tendra las siguientes caracteristicas:

• Nombre de usuario → carlos

• Directorio de Trabajo → /home/carlos

• Shell asignado → BASH

• Identificador para este usuario → 512

• Grupo principal de trabajo → desarrollo

• Grupo secundario de trabajo → capacitacion

Paso 2

Logearse con la cuenta de “root” y una vez dentro crear un archivo con la ayuda del editor de textos VI el cual debera ser guardado con el nombre de “prueba1.txt”

Page 25: linux comand-

Paso 3

Verificar los permisos del archivo “prueba 1”

[root@localhost ]# ls -l prueba1.txt

El anterior comando nos debera mostrar informacion parecida a la siguiente:

Paso 4

Hacer los siguientes cambios al archivo prueba1.txt Nuevo propietario → carlos Nuevo grupo → desarrollo Permisos para el propietario → Lectura,Escritura y Ejecucion = 7 Permisos para el grupo → Lectura y Ejecucion = 5 Permisos para otros → ninguno

Respuesta al Ejemplo 9

Para comprobar los cambios solo basta ejecutar nuevamente el comando ls -l

chgrp#

A diferencia de chown este comando solo sirve para modificar el grupo de un archivo o directorio , para hacer uso de este comando se debe seguir la siguiente estructura.

chown [nuevoGrupo] [archivo/directorio]