Nota:
- Este tutorial está disponible en un entorno de prácticas gratuitas proporcionado por Oracle.
- Utiliza valores de ejemplo para credenciales, arrendamiento y compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, 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. Este tutorial está dirigido a usuarios de Oracle Linux 8, pero los comandos también están disponibles en otras versiones de Oracle Linux.
Objetivos
En este laboratorio:
- Crear un nuevo usuario y explorar el directorio principal del usuario
- Crear un nuevo grupo y agregar un usuario al grupo
- Utilizar el esquema de grupo privado del usuario e implantar el acceso de escritura a un directorio
- Administrar el comando
sudo
para otorgar privilegios root
¿Qué se necesita?
- Un sistema con Oracle Linux 8 instalado
Nota: al utilizar el entorno de prácticas gratuitas, consulte Aspectos básicos del laboratorio de Oracle Linux para conocer 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, establecer 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 8.
-
Como 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 iguales (
1001
). - Se ha creado un directorio raíz para el nuevo usuario (
/home/alice
). - El shell predeterminado para el nuevo usuario es
/bin/bash
.
- El UID y el GID del nuevo usuario son iguales (
-
Visualice los directorios raíz.
ls -l /home
En este ejemplo, el usuario opc ya existía.
Se creó un directorio raíz para el nuevo usuario porque el parámetro CREATE_HOME en/etc/login.defs
se establece 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 8 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 alice. Consulte 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 alice. Consulte 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 root e inicie sesión como usuario alice. Introduzca 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 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
. -
Visualice 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.
-
Visualice la pertenencia al grupo principal para alice.
grep alice /etc/passwd
El grupo principal del usuario alice sigue siendo
1001
.
Implantar grupos privados de usuarios
En esta sección, utilice el esquema User Private Groups para otorgar a diferentes usuarios acceso de escritura a archivos en un solo 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
. Consulte 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. -
Establezca 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 en el directorio
/staff
han cambiado. -
Agregue el usuario oracle al grupo staff. Consulte 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 alice y oracle tienen miembros de grupo secundarios en el grupo staff.
-
Conviértase en usuario oracle. No se le solicita 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 raíz del usuario oracle.
su - oracle whoami pwd
-
Visualice la pertenencia a grupos del 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.
-
Convertirse en el usuario alice. Introduzca la contraseña de
AB*gh246
cuando se le solicite. Verifique que es el usuario alice.su - alice whoami
-
Visualice la pertenencia a grupos del usuario 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
. Muestre 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 la hora 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, puede otorgar privilegios sudo
a un usuario agregando una entrada al archivo /etc/sudoers
.
-
Convertirse en el usuario alice. No se le solicita la contraseña 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. Introduzca 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. Consulte 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 uso intentado del comando
/sbin/useradd
está en el archivo/var/log/secure
. En el ejemplo se muestran varias entradas. Puede que solo tenga una entrada. -
Como usuario root, edite el archivo
/etc/sudoers
mediante el comandovisudo
.visudo
Este comando abre el archivo
/etc/sudoers
con el editorvim
. -
En el archivo
/etc/sudoers
, agregue la siguiente línea para otorgar al usuario alice permiso para ejecutar el comando/sbin/useradd
.alice ALL=(ALL) /sbin/useradd
Se resalta la nueva entrada. Guarde los cambios y salga del comando
visudo
. -
Convertirse en el usuario alice. Intente agregar newuser sin el comando
sudo
. Inserte el comandosudo
e intente agregar newuser por segunda vez. Introduzca 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
Ahora existe newuser. 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 que se va a 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. Convertirse en el usuario 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, puede 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 que cualquier miembro del grupo wheel ejecute 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.
-
Convertirse en el usuario alice. No se le solicita la contraseña alice porque actualmente es el usuario root. Verifique que es el usuario alice.
su - alice whoami
-
Como usuario alice, agregue tercer usuario mediante el comando
sudo useradd
. Proporcione la contraseña deAB*gh246
si se le solicita.sudo useradd thirduser
-
Verifique que se haya agregado tercer usuario. El comando
ls
falla hasta que se insertasudo
y se proporciona la contraseña 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 otras prácticas en docs.oracle.com/learn o acceda a contenido de aprendizaje más gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de formación de Oracle.
Para obtener documentación sobre los productos, visite Oracle Help Center.
Create users and groups on Oracle Linux
F49511-04
May 2022
Copyright © 2021, Oracle and/or its affiliates.