Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Linux Comand
Linux Comand
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.
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
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
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.
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
setgid Grupo s S
Uso de chmod.
chmod [opciones] modo archivo
Ejemplo:
mkdir -p ~/tmp/
touch ~/tmp/algo.txt
ls -l ~/tmp/algo.txt
chmod 755 ~/tmp/algo.txt
ls -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 ~]$
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.
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.
Ejemplo:
useradd 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.
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.
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
Baja de grupos
groupdel grupo-que-sea
Asignación de usuario existentes a grupos existentes.
gpasswd -a usuario-que-sea grupo-que-sea
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 file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/sbin/nologin
SKEL=/etc/skel
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/Borradores
touch /etc/skel/mail/Enviados
touch /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/Borradores
mail/Enviados
mail/Papelera
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.
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
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:
yast -i cronie
Para iniciar el servicio por primera vez, en caso de que recién se haya instalado cronie, ejecute:
rccron start
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.
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.
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/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=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/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=alguien@gmail.com
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
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
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" alguien@gmail.com
/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
/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
Las opciones que pueden utilizarse en conjunto con el comando useradd son las siguientes:
Opciones Descripcion
-d Carpeta de trabajo que sera asignado al usuario
Ejemplos
| a) -d /home/usuario1
b) -d /home/cmartinez
--home c) -d /home/icastillo
-s
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-DOS
|
b) -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
--shell
-g Grupo principal al cual puede ser asignado un usuario
Ejemplos
| a) -g Desarrollo
b) -g Ventas
--gid c) -g Soporte
-G Grupo secundario al cual puede ser asignado un usuario
Ejemplos
| a) -G desarrolloJava
b) -G ventasMedicas
--groups c) -G soportePHP
Identificador que sera asignado al usuario\NOTA: Por defecto Linux asignara UID's
-u
a partir del numero 500
Ejemplos
|
a) -u 501
b) -u 503
--uid
c) -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.
|
Ejemplos
a) -e 20100506
--expiredate b) -e 20081224
c) -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
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. }}}
[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. }}}
las opciones que pueden utilizarse en conjunto con el comando useradd son las siguientes:
Opciones Descripcion
-f
| Fuerza a remover el usuario del sistema aunque este este activo en el mismo
--force
-r
| Elimina la carpeta de trabajo del usuario asi como todo su contenido dentro de él
--remove
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
-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.
|
--force
Ejemplo 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
-n
--new-name
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
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:
chmod#
Para modificar permisos de escritura, lectura y/o ejecucion se debera seguir la siguiente estructura
chmod [UGO] archivo/directorio
| Lectura de un archivo
read
w
| Escritura de un archivo
write
x
| Ejecucion de un archivo
execute
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:
Descripcion
1 Permite leer, escribir o ejecutar un archivo
0 Restringe leer, escribir o ejecutar un archivo
Una 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:
Descripcion
u Usuario
|
usuario
g
| Grupo
grupo
o
| Otros
otros
r
| Lectura de un archivo
read
w
| Escritura de un archivo
write
x
| Ejecucion de un archivo
execute
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”
Paso 3
Verificar los permisos del archivo “prueba 1”
[root@localhost ]# ls -l prueba1.txt
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]