Documente Academic
Documente Profesional
Documente Cultură
En este capítulo verás como agregar cuentas de usuario al servidor Ubuntu, actualizar usuarios
existentes y establecer permisos para los usuarios. Cómo conocer la configuracion para los
nuevos usuario y como cambiarlos. También veremos algo de seguridad con ssh y profiles.
Vamos
Necesitas privilegios de super usuario o root para agregar un nuevo usuario al servidor
Ubuntu.
Cómo lo hago?…
Sigue los siguientes paso para crear una cuenta de usuario:
7. Esto debe agregar un nuevo usuario al Sistema . Puedes confirmer esto viendo en le
archive /etc/passwd:
3. Elige UID (user ID) and GID (group ID) conforme a las politicas de Debian.
4. Crea un directorio home (template) a partir de /etc/skel.
Donde:
-s Espedifica el shell donde se logueará el usuario
-d establece el directorio home para el usuario
-m crea un directorio home di no existe uno aun
-g specifica el grupo por defecto
que más…
Con adduser, puedes hacer diferentes tareas:
Revisa la página del manual man adduser para obtener más detalles.
También puedes configurar varias opciones por defecto para el commando adduser. Un
archive de configuración /etc/adduser.conf puedes usarse para establecer los valores por
defecto a ser usados por los comandos adduser, addgroup, and deluser. Un par de valores
clave puede configurar varios valores por defecto, incluyendo la ubicación del directorio home,
la estructura del directorio skel a ser usado, grupos por defecto para nuevos usuarios, mucho
más. Revisa el manual de usuario para adduser.conf con los siguientes comando:
$ man adduser.conf
Ver también
Investigar le comando useradd, un commando de bajo nivel para agregar usuarios.
Investigar el comando usermod, un comando para modificar los usuarios.
Investigar porque cada usuario tiene su propio grupo
1.2 Creando cuentas de usuario en bloques
En esta sección versa como crear múltiples cuentas de usuario sin usar ninguna herramienta
externa.
Empecemos
Necesitas una cuenta con privilegios de root.
Cómo hacerlo...
Sigue los siguientes pasos para crear una cuenta de usuario en modo batch:
3. Abre users.txt con GNU nano y agrega los detalles de las cuentas:
$ nano users.txt
6. Ingres $ sudo newusers users.txt para importer todos los usuarios en users.txt.
Cómo Funciona…
Hemos creado una base de datos de detalles de usuario listados en el mismo formato que el
archivo passwd el formato de cada fila es como sigue:
username:passwd:uid:gid:full name:home_dir:shell
Donde:
username: Este es el nombre del usuario. Si existe, la información para el usuario será
cambiada; de otro modo se creará una nuevo usuario
uid: Es el uid del usuario. Si está vacío, un nuevo uid será asignado al usuario.
gid: Es el gid para el grupo por defecto del usuario. Si está vacío se creará u nuevo grupo con
el nombre del usuario
home_dir: Define el directorio home del usuario. Si está vacío se creará u nuevo , a new home
con un conjunto de propiedades utiles para el nuevo inquilino
Vamos
Necesitas privilegios de usuario root.
How to do it...
Siga los siguientes pasos para crear un grupo:
Como funciona…
Simplemente hemos agregado un grupo guest al servidor. Como addgroup necesita
privilegios de root, necesitamos usar sudo junto con el comando. Despues de crear el grupo,
addgroup muestra el ID del nuevo grupo.
Que más…
De forma similar a adduser, puedes usar addgroup de formas diferentes:
Una vez que tienes grupos en su lugar, puedes agrega usuarios existentes como nuevos
usuarios de este grupo, todos los permisos y accesos para este grupo serán automáticamente
disponibles para los miembros de este grupo.
Vamos
Necesitas privilegios de root o super usuario para agregar un miembro de grupo al servidor
Ubuntu.
Como funciona…
Como se mencionó previamente, puedes usar adduser para agregar usuarios existentes a un
grupo existente. Hemos usado aquí dos argumentos no opcionales:
Hay más…
Alternativamente puedes utilizar el comando usermod para modificar el grupo asignado al
usuario:
$ sudo usermod -g <group> <username>
Preparándonos
Necesitas permisos de root para borrar un grupo del servidor de Ubuntu
Cómo hacerlo…
Sigue los siguientes pasos para borrar una cuenta
Es una buena idea mantener un backup de los archivos de usuario antes de borrar el directorio
home y cualquier otro archivo. Esto puede ser hecho con una opción adicional junto con el
comando deluser:
$ deluser --backup --remove-home john
Hay más…
Cuando lo llamamos con la opción –group, el comando deluser removerá el grupo. De igual
forma, cuando llamamos con los argumentos no opcionales, el comando deluser intentará
remover un usuario de un grupo específico.
$ deluser john guest # this will remove user john from group guest
Si quieres desactivas la cuenta de usuario en lugar de borrarla, puedes hacer esto con los
siguientes comandos.
$ sudo usermod --expiredate 1 john # disable the user account john
Ver también
Revisar el manual de deluser con man deluser
Vamos
Crea dos usuarios, user1 y user2. Crea un nuevo grupo editor y agrega user1 y user2
como sus miembros.
Como hacerlo
Siga estos pasos para administrar permisos de archivos, siga los siguientes pasos:
1. Para cambiar grupos para archivos y directorios:
a. Loguearse con user1
b. Crear un nuevo directorio documents dentro de home:
user1@ubuntu:~$ mkdir documents
2. Para establecer los permisos con chmod siga los siguientes pasos:
a. Crea un script simple con los siguientes comandos:
$ echo 'echo "Hello World!!"'> hello.sh
3. Para proteger archivos compartidos con sticky bit siga los siguientes pasos:
a. Logearse como user1 y establecer el sticky bit para el directorio documents:
user1@ubuntu:~$ chmod +t documents
En nuestro ejemplo tenemos user2 y user2. Ambos son miembros del grupo editor.
Cuando user1 crea un archivo, los permisos por defecto están limitados a user1 y su gurpo
privado(user1). Por esta razón user2 ve Permission denied cuando edita el archivo. Para
cambiar el grupo de documents a editor permitimos a todos los miembros de editor leer y
escribir los archivos en documents.
Aquí, u establece los permisos para user, g para group y o para todos los otros
Para remover permisos, reemplazamos + con -. Por ejemplo $chmod o-w filename
Esto permisos de lectura, escritura y ejecución para el grupo de usuarios y otros, mientras que
el comando $chmod 600 filename establece permisos de lectura y escritura para el propietario
y no da permisos par grupos y otros. En el formato octal, el primer bit se usa para el
propietario del archivo, el segundo bit es para el grupo, y el tercero es para cualquier otro.
Verifica la siguiente tabla para más información:
Puedes establecer el sticky bit con el comando chmod como $chmod +t directoryName. El
Sticky bit se muestra en las listas largas (ls -l) con el símbolo t o T. Adicionalmente,
sticky bit trabaja solo con directorios y es ignorado en archivos ordinarios.
Hay mas…
Muchas veces cuando trabajamos con un usuario root, todos los archivos y directorios creados
son propiedad del root. Un usuario no-root no puede escribir en esos directorios o archivos.
Puedes usar el comando chown para cambiar la propiedad de tales archivos y asignarlos a sus
respectivos usuarios.
Para cambiar la propiedad así como el grupo de un archivo, use el siguiente comando:
$chwon newuser:newgroup filename
Nota que el comando chown puede solo ser usado por usuarios con privilegios de root.
1.7 Obteniendo privilegios de root con sudo
Cuando creas un servidor Ubuntu en la nube, tienes por defecto la cuenta root. Esta cuenta
tiene el acceso total al sistema. Puedes crear un nuevo usuario con pocos privilegios. Pero hay
veces cuando necesitas privilegios de root extra para agregar usuarios nuevos o cambiar
algunas configuraciones del sistema. Puedes utilizar el comando sudo para obtener privilegios
extra temporalmente para un solo comando.
Empecemos
Necesitas una cuenta con privilegos de root
Como funciona…
Todas las reglas de acceso sudo están configuradas en un archivo localizado en /etc/sudoers.
Este archivo contiene una lista de usuarios y grupos que tienen permitido usar el comando
sudo:
Todo lo que tenemos que hacer es agregar un nuevo usuario al grupo sudo y que el usuario
automáticamente obtenga privilegios sudo. Después de obtener la membresía al grupo sudo,
los usuarios necesitan desloguearse para que los cambios tengan efecto. Básicamente, el
usuario del Shell necesita ser reiniciado con los nuevos privilegios. Opcionalmente, puedes
cambiar el archivo sudoers para especificar una condición.
Hay mas…
Aquí, discutiremos cómo establecer un sudo sin password y algunos beneficios adicionales de
sudo.
sudo es una herramienta útil para privilegios de root temporales, pero necesitas ingresar tu
password cada vez. Este problema puede ser resuelto estableciendo un indicador de
NOPASSWD en el archivo sudoers. Asegúrate que tienes la herramienta visudo para editar
el archivo sudoers.
$sudo visudo
2. Seleccionar la línea para le usuario o grupo que quieres permitir acceso sin sudo.
3. Agregar NOPASSWD después del paréntesis de cierre
%sudo ALL=(ALL:ALL) NOPASSWD: ALL
Note que el programa sudoers proporciona autenticación por un periodo corto (por defecto
15 minutos). Cuando se repite dentro de este tiempo, se tiene acceso sudo sin password sin
necesidad de establecer el flag NOPASSWD.
Ver también
Revisar el manual de sudo con $man sudo
Preparándote
Una cuenta de usuario con privilegios
Como lo hacemos…
Sigues estos pasos para establecer limites de recursos
Como funciona….
PAM es el Módulo de Autenticación Conectable. El módulo PAM pam_limits.so proporciona
funcionalidad para establecer un tope en la utilización de recursos. El comando ulimit puede
ser usado para los límites actuales así como establecer nuevos límites para una sesión. Los
valores por defecto usados por pam_limits.so puese verse en
/etc/security/limits.conf.
En este capítulo, hemos actualizado limits.conf para poner un límite en el uso del CPU por
el usuario username. Los limites establecidos por el comando ulimit se restringen a la sesión.
Para establecer los limites permanentemente, necesitamos establecerlos en el archivo
limits.conf.
Donde <domain> puede ser un nombre de usuario, un nombre de grupo o una entrada
wildcard. <type> denota el tipo de límite y puede asumir los siguientes valores:
<ítem> es el recurso para el que se establece el límite. Puedes obtener una lista de ítems con
$ulimit -a:
En nuestro ejemplo, hemos establecido el limite soft en el uso de CPU a 0 minutos y el limite
hard a 1000 minutos. Puedes cambiar el valor del limite soft con el comando ulimit. Para
ver los limites existentes para archivos abiertos, use el comando $ulimit -n. Para cambiar
los limites en los archivos abiertos:
$ulimit -n 4096
Hay mas…
El comando ulimit puede ser usado para establecer limites en procesos. No puedes usar
ulimit para limitar recursos a nivel de usuario. Puedes usar cgroups para establecer una
restricción a estos recursos.
Como hacerlo…
Agregar un nuevo usuario (puedes obviar este paso si ya tienes uno creado)
$sudo adduser john
Generar el par de claves publica y privada en tu sistema local con el siguiente comando:
$ ssh-keygen
Ahora abre una conección ssh para el servidor local con el siguiente comando
$ ssh john@server