Nota:
- Este tutorial está disponible en un entorno de laboratorio gratuito proporcionado por Oracle.
- Utiliza valores de ejemplo para las credenciales, el arrendamiento y los compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por valores específicos de su entorno en la nube.
Crear usuarios y grupos en Oracle Linux
Introducción
En el siguiente tutorial, se proporcionan procedimientos paso a paso para realizar la administración de usuarios y grupos en Oracle Linux. Creará usuarios y grupos, implantará grupos privados de usuarios y otorgará privilegios elevados de usuario.
Objetivos
En este laboratorio, realizará lo siguiente:
- Crear un nuevo usuario y explorar el directorio principal del usuario
- Crear un grupo nuevo y agregar un usuario al grupo
- Utilizar el esquema de grupo privado de usuario e implantar el acceso de escritura a un directorio
- Administrar el comando
sudo
para otorgar privilegios root
¿Qué se necesita?
- Sistema con Oracle Linux instalado
Nota: Al utilizar el entorno de prácticas gratuitas, consulte Aspectos básicos de las prácticas de Oracle Linux para obtener información sobre la conexión y otras instrucciones de uso.
Administrar cuentas de usuario
En esta sección, utilizará las utilidades de línea de comandos para crear una nueva cuenta de usuario, ver los archivos que se actualizan al agregar un nuevo usuario, modificar una cuenta de usuario, definir una contraseña para el nuevo usuario e iniciar sesión como el nuevo usuario.
-
Abra un terminal y conéctese a la instancia de Oracle Linux.
-
Póngase en contacto con el usuario root.
sudo su -
-
Como usuario root, agregue un usuario denominado alice.
useradd alice
El usuario se agrega al archivo
/etc/passwd
. -
Visualice la entrada alice en el archivo
/etc/passwd
.grep alice /etc/passwd
La salida muestra:
- El UID y el GID del nuevo usuario son los mismos (
1001
). - Se ha creado un directorio de inicio para el nuevo usuario (
/home/alice
). - El shell por defecto para el nuevo usuario es
/bin/bash
.
- El UID y el GID del nuevo usuario son los mismos (
-
Visualice los directorios principales.
ls -l /home
En este ejemplo, el usuario opc ya existía.
Se creó un directorio de inicio para el nuevo usuario porque el parámetro CREATE_HOME en/etc/login.defs
está definido enyes
. -
Visualice el parámetro CREATE_HOME en el archivo
/etc/login.defs
.grep CREATE_HOME /etc/login.defs
-
Visualice la configuración por defecto de un nuevo usuario, almacenada en
/etc/default/useradd
.cat /etc/default/useradd
El parámetro SKEL se establece en
/etc/skel
. -
Visualice el contenido del directorio
/etc/skel
.ls -la /etc/skel
-
Visualice el contenido del directorio raíz de alice.
ls -la /home/alice
El contenido de SKEL (
/etc/skel
) se copia en el directorio raíz del nuevo usuario. -
Visualice la nueva entrada alice en el archivo
/etc/group
.grep alice /etc/group
Dado que Oracle Linux utiliza un esquema de grupo privado de usuarios (UPG), se creó un nuevo grupo privado (alice, GID=1001) cuando se creó el usuario alice.
-
Modifique la información de GECOS para el usuario de alice. Visualice la entrada alice en el archivo
/etc/passwd
antes y después de modificar la información de GECOS.grep alice /etc/passwd usermod -c "Alice Smith" alice grep alice /etc/passwd
-
Cree una contraseña de
AB*gh246
para el usuario de alice. Visualice la entrada alice en el archivo/etc/shadow
antes y después de crear una contraseña para alice.grep alice /etc/shadow passwd alice grep alice /etc/shadow
!!
para alice se sustituye por un valor de contraseña hash. -
Salga del inicio de sesión de root e inicie sesión como usuario de alice. Escriba la contraseña de
AB*gh246
cuando se le solicite.exit su - alice
-
Verifique que es el usuario alice y que el directorio actual es el directorio principal del usuario alice.
whoami pwd
-
Salga del shell del usuario de alice y conviértase en el usuario root.
exit sudo su -
-
Como usuario root, agregue un usuario denominado oracle que se utilizará más adelante en esta práctica.
useradd oracle
-
Cree una contraseña de
XY*gh579
para el usuario oracle.passwd oracle
Administrar cuentas de grupo
En esta sección, creará una nueva cuenta de grupo y agregará un usuario a este nuevo grupo.
-
Como usuario root, agregue un grupo denominado staff.
groupadd staff
El grupo se agrega al archivo
/etc/group
. -
Vea las últimas 10 entradas en el archivo
/etc/group
.tail /etc/group
El GID (
1003
) para el nuevo grupo se incrementa en uno. -
Agregue el usuario alice al grupo staff. Visualice la entrada de grupo staff en el archivo
/etc/group
.usermod -aG 1003 alice grep staff /etc/group
El usuario alice tiene una afiliación de grupo secundario en el grupo staff.
-
Ver la afiliación al grupo principal para alice.
grep alice /etc/passwd
El grupo principal del usuario de alice sigue siendo
1001
.
Implantación de grupos privados de usuarios
En esta sección, utilizará el esquema User Private Groups para otorgar a diferentes usuarios acceso de escritura a archivos en un único directorio.
-
Como usuario root, cree el directorio
/staff
.mkdir /staff
-
Visualice el directorio
/staff
y sus permisos.ls -ld /staff
-
Cambie la propiedad del grupo para el directorio
/staff
al grupo staff. La opción-R
(recursiva) define el grupo para archivos y directorios en/staff
. Visualice el directorio/staff
y sus permisos después de cambiar la propiedad del grupo.chgrp -R staff /staff ls -ld /staff
El propietario del directorio
/staff
sigue siendo root, pero el grupo ahora es staff. -
Defina el bit setgid en el directorio
/staff
. A continuación, visualice los permisos en el directorio/staff
.chmod -R 2775 /staff ls -ld /staff
Los permisos de grupo del directorio
/staff
han cambiado. -
Agregue el usuario oracle al grupo staff. Visualice la entrada staff en el archivo
/etc/group
después de agregar el usuario oracle.usermod -aG staff oracle grep staff /etc/group
Los usuarios de alice y oracle tienen miembros de grupo secundario en el grupo staff.
-
Conviértase en el usuario oracle. No se le solicitará la contraseña del usuario oracle porque actualmente es el usuario root. Verifique que es el usuario oracle y que el directorio actual es el directorio principal del usuario oracle.
su - oracle whoami pwd
-
Visualice la pertenencia de grupo para el usuario oracle.
groups
El usuario oracle pertenece a dos grupos: oracle y staff.
-
Cambie al directorio
/staff
. Cree un nuevo archivo en el directorio/staff
denominadooracle_file
. Visualice los permisos y la propiedad del nuevo archivo.cd /staff touch oracle_file ls -l oracle_file
Los permisos son de lectura/escritura para el grupo staff.
-
Conviértase en el usuario de alice. Escriba la contraseña de
AB*gh246
cuando se le solicite. Verifique que es el usuario alice.su - alice whoami
-
Mostrar la pertenencia al grupo para el usuario de alice.
groups
El usuario alice pertenece a dos grupos: alice y staff.
-
Cambie al directorio
/staff
. Cree un nuevo archivo en el directorio/staff
denominadoalice_file
. Visualice los permisos y la propiedad de los nuevos archivos.cd /staff touch alice_file ls -l
Los permisos son de lectura/escritura en ambos archivos para el grupo staff.
-
Como usuario alice, utilice el comando
touch
para actualizar el registro de hora enoracle_file
. Visualice los archivos para verificar que el tiempo ha cambiado.touch oracle_file ls -l
La actualización del registro de hora implica permisos de escritura en el archivo como usuario alice, aunque el usuario oracle haya creado el archivo.
-
Salga del shell del usuario alice y del shell del usuario oracle para volver al shell del usuario root. Verifique que sea el usuario root.
exit exit whoami
Opción 1: Otorgar privilegios elevados a un usuario
En esta sección, otorgará privilegios sudo
a un usuario agregando una entrada al archivo /etc/sudoers
.
-
Conviértase en el usuario de alice. No se le solicita la contraseña de alice porque actualmente es el usuario root. Verifique que es el usuario alice.
su - alice whoami
-
Como usuario alice, intente agregar newuser.
useradd newuser
El usuario alice no tiene permiso para agregar newuser.
-
Inserte el comando
sudo
antes del comandouseradd
anterior para agregar newuser. Escriba la contraseña deAB*gh246
cuando se le solicite.sudo useradd newuser
El intento de emitir este comando de administrador sin la autorización adecuada se informa en el archivo
/var/log/secure
. -
Salga del shell del usuario alice para volver al shell del usuario root. Visualice las entradas de sudoers en el archivo
/var/log/secure
.exit grep sudoers /var/log/secure
La entrada alice : user NOT in sudoers para el intento de uso del comando
/sbin/useradd
está en el archivo/var/log/secure
. En el ejemplo se muestran varias entradas. Es posible que solo tenga una entrada. -
Como usuario root, edite el archivo
/etc/sudoers
mediante el comandovisudo
.visudo
Este comando abre el archivo
/etc/sudoers
mediante el editorvim
. -
En el archivo
/etc/sudoers
, agregue la siguiente línea para otorgar el permiso de usuario de alice para ejecutar el comando/sbin/useradd
.alice ALL=(ALL) /sbin/useradd
Se resalta la nueva entrada. Guarde los cambios y salga del comando
visudo
. -
Conviértase en el usuario de alice. Intente agregar newuser sin el comando
sudo
. Inserte el comandosudo
e intente agregar newuser una segunda vez. Escriba la contraseña deAB*gh246
cuando se le solicite.su - alice useradd newuser sudo useradd newuser
-
Verifique que se haya agregado newuser.
grep newuser /etc/passwd ls -l /home
El newuser ya existe. Con la entrada alice en el archivo
/etc/sudoers
, el usuario alice tiene privilegiossudo
para ejecutar el comando/sbin/useradd
. -
Salga del shell alice para volver al shell root. Utilice el comando
visudo
y suprima la entrada alice del archivo/etc/sudoers
que agregó anteriormente en esta práctica.exit visudo
La entrada para suprimir está resaltada. Suprima toda la línea o, como en este ejemplo, inserte el carácter
#
para comentar la línea. Guarde los cambios y salga del comandovisudo
. -
Verifique que el usuario alice ya no pueda agregar un nuevo usuario. Conviértase en el usuario de alice. Intente agregar anotheruser con el comando
sudo
.su - alice sudo useradd anotheruser
El intento de emitir este comando de administrador sin la autorización adecuada se informa en el archivo
/var/log/secure
. -
Salga del shell del usuario alice para volver al shell del usuario root.
exit
Opción 2: Otorgar privilegios elevados a un usuario
En esta sección, otorgará privilegios sudo
agregando un usuario al grupo wheel.
-
Como usuario root, consulte la entrada wheel en el archivo
/etc/sudoers
.grep wheel /etc/sudoers
La entrada %wheel ALL=(ALL) ALL del archivo
/etc/sudoers
permite a cualquier miembro del grupo wheel ejecutar cualquier comando, cuando está precedido porsudo
. -
Agregue el usuario alice al grupo wheel. Confirme que el usuario alice esté en el grupo wheel.
usermod -aG wheel alice grep wheel /etc/group
El usuario alice tiene una afiliación de grupo secundario en el grupo wheel.
-
Conviértase en el usuario de alice. No se le solicita la contraseña de alice porque actualmente es el usuario root. Verifique que es el usuario alice.
su - alice whoami
-
Como usuario de alice, agregue thirduser mediante el comando
sudo useradd
. Proporcione la contraseña deAB*gh246
si se le solicita.sudo useradd thirduser
-
Verifique que se haya agregado thirduser. El comando
ls
falla hasta que insertesudo
y proporcione la contraseña de alice. Esto confirma que el usuario alice tiene privilegiossudo
.grep thirduser /etc/passwd ls -la /home/thirduser sudo ls -la /home/thirduser
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer y conviértase en Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Create users and groups on Oracle Linux
F49511-05
July 2022
Copyright © 2021, Oracle and/or its affiliates.