Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CONFIGURACIÓN DE LOS
SISTEMAS OPERATIVOS
CONTENIDO
Administración de grupos
Dependiendo del tipo de información que es resguardad por el sistema, el administrador del sistema
operativo debe definir sus políticas de seguridad, tanto para el servidor, como para la red corporativa, ya
que los usuarios tienen derecho a la privacidad e integridad de sus datos.
Deben ponerse los medios para evitar posibles ataques o fallos informáticos que afecten –o incluso
paralicen– el funcionamiento normal de la máquina.
Nunca hay que tener la presunción de que un sistema es completamente seguro o de que sólo puede ser
atacado desde fuera. Por ello, el super usuario debe realizar las siguientes operaciones:
Un usuario Unix representa tanto a una persona (usuario real) como a una entidad que gestiona algún
servicio o aplicación (usuario lógico oficticio).
Todo usuario definido en el sistema se corresponde con un identificador único (UID) y con una
cuenta, donde se almacenan sus datos personales en una zona de disco reservada.
Un grupo es una construcción lógica –con un nombre y un identificador (GID) únicos– usada
para conjuntar varias cuentas en un propósito común, compartiendo los mismos permisos de
acceso en algunos recursos.
Cada cuenta debe estar incluida como mínimo en un grupo de usuarios, conocido como grupo primario
o grupo principal.
ADMINISTRAR CUENTAS USUARIO
Un usuario Unix representa tanto a una persona (usuario real) como a una entidad que gestiona algún
servicio o aplicación (usuario lógico oficticio).
Todo usuario definido en el sistema se corresponde con un identificador único (UID) y con una
cuenta, donde se almacenan sus datos personales en una zona de disco reservada.
Un grupo es una construcción lógica –con un nombre y un identificador (GID) únicos– usada
para conjuntar varias cuentas en un propósito común, compartiendo los mismos permisos de
acceso en algunos recursos.
Cada cuenta debe estar incluida como mínimo en un grupo de usuarios, conocido como grupo primario
o grupo principal.
CARACTERÍSTICAS GENERALES DE UNA CUENTA DE USUARIO
Tiene un nombre y un identificador de usuario (UID) únicos en el sistema
El usuario utiliza en su conexión un determinado intérprete de mandatos, donde podrá ejecutar sus aplicaciones y las utilidades
del sistema operativo.
Debe contar con una clave de acceso personal y difícil de averiguar por parte de un impostor.
Tiene un perfil de entrada propio, donde se definen las características iniciales de su entorno de operación
Es posible contar con un sistema de auditoria que registre las operaciones realizadas por el usuario.
TIPOS DE USUARIOS
Un usuario o cuenta de un sistema se identifica de forma única mediante un número denominado UID (número de
identificación único). En Linux podremos encontrar básicamente tres tipos de usuarios:
Usuario root: también llamado usuario raíz o superusuario, con UID 0 y que cuenta con privilegios de acceso y
modificación sobre todo el sistema. Será el encargado de realizar configuraciones importantes, instalar programas,
actualizaciones y todo lo relativo a la gestión de cuentas de usuarios.
Usuarios especiales: más que usuarios, son cuentas del sistema que se instalan con determinado software o que ya
vienen por defecto en el sistema. Ejemplo de ello son bin, mail, apache, sshd, etc. No son usuarios normales, pero
tampoco llegarán a tener todos los permisos de root. Solamente tendrán activadas ciertas funciones de root en función
del propósito para el que estén creados
Usuarios normales: estos será los que comúnmente utilizamos en nuestro sistema para realizar las típicas acciones.
Contaremos con acceso a la terminal de comandos para tareas básicas, contaremos con un directorio de trabajo para
cada uno en /home, así como una UID.
TIPOS DE USUARIOS
Usuario root
También llamado superusuario o administrador.
Su UID (User ID) es 0 (cero).
Es la única cuenta de usuario con privilegios sobre todo el
sistema.
Acceso total a todos los archivos y directorios con
independencia de propietarios y permisos.
Controla la administración de cuentas de usuarios.
Ejecuta tareas de mantenimiento del sistema.
Puede detener el sistema.
Instala software en el sistema.
Puede modificar o reconfigurar el kernel, controladores, etc.
TIPOS DE USUARIOS
Usuarios especiales
Ejemplos: bin, daemon, adm, lp, sync, shutdown, mail, operator, squid, apache, etc.
Se les llama también cuentas del sistema.
No tiene todos los privilegios del usuario root, pero dependiendo de la cuenta asumen
distintos privilegios de root.
Lo anterior para proteger al sistema de posibles formas de vulnerar la seguridad.
No tienen contraseñas pues son cuentas que no están diseñadas para iniciar sesiones con
ellas.
También se les conoce como cuentas de "no inicio de sesión" (nologin).
Se crean (generalmente) automáticamente al momento de la instalación de Linux o de la
aplicación.
Generalmente se les asigna un UID entre 1 y 100 (definido en /etc/login.defs)
TIPOS DE USUARIOS
Usuarios normales
Se usan para usuarios individuales.
Cada usuario dispone de un directorio de trabajo, ubicado
generalmente en /home.
Cada usuario puede personalizar su entorno de trabajo.
Tienen solo privilegios completos en su directorio de trabajo o
HOME.
Por seguridad, es siempre mejor trabajar como un usuario normal
en vez del usuario root, y cuando se requiera hacer uso de
comandos solo de root, utilizar el comando su.
En las distros actuales de Linux se les asigna generalmente un UID
superior a 500.
ADMINISTRACIÓN DE USUARIOS
/etc/passwd root:x:0:0:root:/root:/bin/bash
Cualquiera que sea el tipo de usuario, todas las Campo 1
Es el nombre del usuario, identificador de inicio de sesión
(login). Tiene que ser único.
cuentas se encuentran definidas en el archivo de La 'x' indica la contraseña encriptada del usuario, además
configuración 'passwd', ubicado dentro del Campo 2
también indica que se está haciendo uso del
directorio /etc. archivo /etc/shadow, si no se hace uso de este archivo, este
campo se vería algo así como: 'ghy675gjuXCc12r5gt78uuu6R'.
Número de identificación del usuario (UID). Tiene que ser
Este archivo es de texto tipo ASCII, se crea al único. 0 para root, generalmente las cuentas o usuarios
momento de la instalación con el usuario root y Campo 3 especiales se numeran del 1 al 100 y las de usuario normal del
las cuentas especiales, más las cuentas de usuarios 101 en delante, en las distribuciones mas recientes esta
numeración comienza a partir del 500.
normales que se hayan indicado al momento de la Numeración de identificación del grupo (GID). El que aparece
instalación Campo 4 es el número de grupo principal del usuario, pero puede
pertenecer a otros, esto se configura en /etc/groups.
El archivo /etc/passwd contiene una línea para Campo 5 Comentarios o el nombre completo del usuario.
cada usuario Directorio de trabajo (Home) donde se sitúa al usuario después
Campo 6
del inicio de sesión.
/etc/shadow root:ghy675gjuXCc12r5gt78uuu6R:10568:0:99999:7:7:-1::
Anteriormente (en sistemas Unix) las contraseñas Campo 1 Nombre de la cuenta del usuario.
/etc/group
Este archivo guarda la relación de los grupos a los Campo 1 Indica el usuario
que pertenecen los usuarios del sistema, contiene
una línea para cada usuario con tres o cuatro Campo 2
'x' indica la contraseña del grupo, que no existe, si
hubiera se mostraría un 'hash' encriptado.
campos por usuario
Campo 3 Es el Group ID (GID) o identificación del grupo
root:x:0:root
ana:x:501:ana Es opcional e indica la lista de grupos a los que
Campo 4 pertenece el usuario
sergio:x:502:ventas,supervisores,produccion
cristina:x:503:ventas,Sergio
Además, como en /etc/shadow, sólo tiene permisos de acceso a él el root.
ADMINISTRACIÓN DE USUARIOS
/etc/gshadow
Las características del archivo /etc/gshadow son similares
a las del fichero /etc/group salvo unas peqeuñas Campo 1 Nombre del grupo
diferencias.
En este archivo existe una campo más que es el de los Campo 2 'x' indica clave codificada (opcional)
administradores del grupo; estos usuario podrán añadir,
quitar usuarios del grupo, modificar la contraseña del
grupo y deshabilitar el acceso mediante newgrp. Campo 3 Lista de usuarios administradores
/etc/login.defs Ejemplo
En el archivo de configuración /etc/login.defs están definidas las variables que # Password aging controls:
PASS_MAX_DAYS 99999
controlan los aspectos de la creación de usuarios y de los campos PASS_MIN_DAYS 0
de shadow usadas por defecto. Algunos de los aspectos que controlan estas PASS_MIN_LEN 5
variables son: PASS_WARN_AGE 7
Número máximo de días que una contraseña es válida
# Min/max values for automatic uid selection in useradd
PASS_MAX_DAYS UID_MIN 500
El número mínimo de caracteres en la contraseña PASS_MIN_LEN UID_MAX 60000
Valor mínimo para usuarios normales cuando se usa useradd UID_MIN
# Min/max values for automatic gid selection in groupadd
El valor umask por defecto UMASK GID_MIN 500
Si el comando useradd debe crear el directorio home por defecto GID_MAX 60000
CREATE_HOME
# If useradd should create home directories for users by default
Basta con leer este archivo para conocer el resto de las variables que son # On RH systems, we do. This option is ORed with the -m flag on
autodescriptivas y ajustarlas al gusto. Recúerdese que se usaran # useradd command line.
principalmente al momento de crear o modificar usuarios con los CREATE_HOME yes
comandos useradd y usermod que en breve se explicaran.
ADMINISTRACIÓN DE USUARIOS
comunes o importantes son las siguientes: -g número de grupo principal del usuario (GID), campo 4 de /etc/passwd
-G otros grupos a los que puede pertenecer el usuario, separados por comas.
-r crea una cuenta del sistema o especial, su UID será menor al definido en
useradd [opciones] nombre-usuario /etc/login.defs en la variable UID_MIN, además no se crea el directorio de inicio.
-s shell por defecto del usuario cuando ingrese al sistema. Si no se especifica, bash,
es el que queda establecido.
-u UID del usuario, si no se indica esta opción, automáticamente se establece el
siguiente número disponible a partir del último usuario creado.
ADMINISTRACIÓN DE USUARIOS
useradd o adduser
Por ejemplo, queremos crear un usuario llamado “luis” y que su grupo Siempre el nombre del usuario es el último parámetro del comando.
principal sea “profesores”, que demas tenga asignada como carpeta Así por ejemplo, si queremos salirnos del default, podemos establecer
home “/home/luis” y que sus comando sean interpretados en algo como lo siguiente:
“/bin/bash”. #> useradd -d /usr/juan -s /bin/csh -u 800 -c "Juan Perez
Hernandez" juan
El comando que debemos ejecutar sera el siguiente:
Con lo anterior estamos cambiando su directorio de inicio, su shell por
default será csh y su UID será el 800 en vez de que el sistema tome el
# useradd -g profesores -d /home/luis -m -s /bin/bash luis siguiente número disponible.
ADMINISTRACIÓN DE USUARIOS
usermod Parámetros
Como su nombre lo indica, usermod permite modificar o actualizar -c añade o modifica el comentario, campo 5 de /etc/passwd
-d modifica el directorio de trabajo o home del usuario, campo 6 de
un usuario o cuenta ya existente.
/etc/passwd
-e cambia o establece la fecha de expiración de la cuenta, formato
Este te permite hacer cambios sobre el nombre, la carpeta home, su AAAA-MM-DD, campo 8 de /etc/shadow
interpretador de comandos, sus grupos, entre otros. -g cambia el número de grupo principal del usuario (GID), campo 4
de /etc/passwd
-G establece otros grupos a los que puede pertenecer el usuario,
separados por comas.
-l cambia el login o nombre del usuario, campo 1 de /etc/passwd y de
/etc/shadow
-L bloque la cuenta del usuario, no permitiendolé que ingrese al
sistema. No borra ni cambia nada del usuario, solo lo deshabilita.
-s cambia el shell por defecto del usuario cuando ingrese al sistema.
-u cambia el UID del usuario
-U desbloquea una cuenta previamente bloqueada con la opción -L.
ADMINISTRACIÓN DE USUARIOS
usermod
Si quisiéramos cambiar el nombre de usuario de 'juan' a Otros cambios o modificaciones en la misma cuenta:
'pedro':
#> usermod -l pedro juan
#> usermod -c "supervisor de area" -s /bin/ksh -g
505 sego
Casi seguro también cambiará el nombre del directorio de
inicio o HOME en /home, pero si no fuera así, entonces:
Lo anterior modifica el comentario de la cuenta, su shell por
#> usermod -d /home/pedro pedro defecto que ahora sera Korn shell y su grupo principal de
usuario quedó establecido al GID 505 y todo esto se aplicó al
usuario 'sego' que como se observa debe ser el último
argumento del comando.
ADMINISTRACIÓN DE USUARIOS
usermod
El usuario 'pedro' salió de vacaciones y nos aseguramos
de que nadie use su cuenta:
Eliminar Usuarios
La instrucción userdel elimina una cuenta del sistema, #> userdel -r juan
userdel puede ser invocado de tres maneras: Al igual que lo anterior elimina la cuenta totalmente, pero con
la opción -r además elimina su directorio de trabajo y archivos
y directorios contenidos en el mismo, asi como su buzón de
#> userdel juan
correo, si es que estuvieran configuradas las opciones de
correo.
Sin opciones elimina la cuenta del usuario de
/etc/passwd y de /etc/shadow, pero no elimina su #> userdel -f juan
directorio de trabajo ni archivos contenidos en el La opción -f es igual que la opción -r, elimina todo lo del
mismo, esta es la mejor opción, ya que elimina la cuenta usuario, cuenta, directorios y archivos del usuario, pero además
pero no la información de la misma. lo hace sin importar si el usuario esta actualmente en el
sistema trabajando.
ADMINISTRACIÓN DE USUARIOS
Instrucción passwd
Al crear un usuario la cuenta se crea bloqueada, para Opciones Descripción
-l Bloquea la cuenta
Este comando involucra el archivo /etc/shadow
-u Desbloquea la cuenta
La sintaxis es -f Fuerza de ser necesario para la opción –u desbloquear
-w Tiempo de Advertencia
-i Plazo máximo antes de proceder al bloqueo de la
cuenta y tras haber expirado la contraseña
-S Muestra el estado de la contraseña
ADMINISTRACIÓN DE USUARIOS
Archivos de configuración
Los usuarios normales y root en sus directorios de inicio tienen varios #> ls -la
archivos que comienzan con "." es decir están ocultos. Varían mucho drwx------ 2 ana ana 4096 jul 9 09:54 .
dependiendo de la distribución de Linux que se tenga, pero segull drwxr-xr-x 7 root root 4096 jul 9 09:54 ..
ramente se encontrarán los siguientes o similares:
-rw-r--r-- 1 ana ana 24 jul 9 09:54 .bash_logout
Creación de grupos
En este caso, tenemos el comando groupadd, tan solo
El valor numérico del identificador de grupo. Este valor debe
debemos indicar el nombre del grupo como parámetro. -g ser único. Los valores entre 0 y 99 se reservan normalmente
para cuentas del sistema.
La sintaxis es:
-o Permite duplicar el GID
groupadd [opciones] nombre_de_grupo
Este flag ordena a groupadd que añada una cuenta de
-r
sistema. Este opción es válida en linux Redhat únicamente.
Modificación de grupos
Los grupos también pueden ser modificados al igual que
hacemos con los usuarios. Para ello, usamos el El valor numérico del identificador de grupo. Este valor debe
-g ser único. Los valores entre 0 y 99 se reservan normalmente
comando groupmod. para cuentas del sistema. Este valor no puede ser negativo.
En el caso de los grupos podemos editar su nombre o
-n El nombre del grupo será cambiado de grupo a grupo
su gid.
La sintaxis para el comando es: -o Permite duplicar el GID.
Elimnar un grupo
Si queremos eliminar un grupo tendremos que utilizar la Por ejemplo para eliminar el grupo oficina
orden groupdel seguida del nombre del grupo. ejecutaríamos
# groupdel oficina
Sólo el root puede eliminar un grupo del sistema.
Para eliminar un grupo que sea el grupo principal de
La sintaxis es: algún usuario es necesario eliminar antes al usuario; si
un grupo es el grupo principal de algún usuario no se
groupdel nombre_de_grupo puede eliminar.
ADMINISTRACIÓN DE GRUPOS
Eliminar un grupo
Si queremos eliminar un grupo tendremos que utilizar la Por ejemplo para eliminar el grupo oficina
orden groupdel seguida del nombre del grupo. ejecutaríamos
# groupdel oficina
Sólo el root puede eliminar un grupo del sistema.
Para eliminar un grupo que sea el grupo principal de
La sintaxis es: algún usuario es necesario eliminar antes al usuario; si
un grupo es el grupo principal de algún usuario no se
groupdel nombre_de_grupo puede eliminar.
ADMINISTRACIÓN DE GRUPOS
Por ejemplo, para añadir Luis al grupo profesores Por ejemplo, si queremos quitar a “luis” del grupo
usamos: “profesores”:
Estructura de Directorios
La jerarquía del sistema de ficheros de FreeBSD es fundamental para obtener una compresión completa del
sistema. El concepto más importante a entender es el del directorio raíz, «/». Este directorio es el primero en ser
montado en el arranque y contiene el sistema básico necesario para preparar el sistema operativo para su
funcionamiento en modo multiusuario. El directorio raíz también contiene puntos de montaje para cualquier otro
sistema de ficheros que se pretenda montar.
Un punto de montaje es un directorio del que se pueden colgar sistemas de ficheros adicionales en un sistema
padre (que suele ser el directorio raíz). Los puntos de montaje estándar son, por ejemplo, /usr, /var, /tmp, /mnt y
/cdrom. Estos directorios suelen corresponderse con entradas en /etc/fstab./etc/fstab es una tabla que sirve de
referencia al sistema y contiene los diferentes sistemas de ficheros y sus respectivos puntos de montaje. La
mayoría de los sistemas de ficheros en /etc/fstab se montan automáticamente en el arranque gracias al «script», a
menos que contengan la opción noauto.
ADMINISTRACIÓN DE LOS RECURSOS DEL SERVIDOR
Directorio Descripción
/ Directorio raíz del sistema de ficheros.
/bin/ Utilidades de usuario fundamentales tanto para el ambiente monousuario como para el multiusuario.
/boot/ Programas y ficheros de configuración necesarios durante el arranque del sistema operativo.
/boot/defaults/ Ficheros de configuración por omisión del arranque.
/dev/ Nodos de dispositivo.
/etc/ Ficheros de configuración y «scripts» del sistema.
/mnt/ Directorio vacío utilizado de forma habitual por administradores de sistemas como punto de montaje temporal.
/proc/ Sistema de ficheros de procesos.
/rescue/ Programas enlazados estáticamente para restauraciones de emergencia.
/root/ Directorio local para la cuenta root.
/sbin/ Programas del sistema y utilidades fundamentales de administración para ambientes monousuario y multiusuario.
/tmp/ Ficheros temporales. El contenido de /tmp NO suelen conservarse después de un reinicio del sistema. Los sistemas de ficheros basados
en memoria suelen montarse en /tmp Puede automatizarse mediante variables de tmpmfs en r.conf (o con una entrada en /etc/fstab, o
para FreeBSD 4.X,mfs).
/usr/ La mayoría de utilidades y aplicaciones de usuario.
/usr/bin/ Aplicaciones comunes, herramientas de programación y otras aplicaciones.
/usr/include/ Ficheros «include» estándar de C.
/usr/lib/ Bibliotecas.
/usr/libdata/ Ficheros de datos con diversas funciones.
/usr/libexec/ Dæmons del sistema y utilidades del sistema (ejecutados por otros programas).
/usr/local/ Ejecutables locales, bibliotecas, etc. también se usa como destino por omisión de la infraestructura de ports de FreeBSD. Dentro
de /usr/local debe seguirse el esquema general definido en hier para /usr. Las excepciones son el directorio man, que está directamente
bajo /usr/local en lugar de debajo de/usr/local/share, y la documentación de los ports está en share/doc/port.
/usr/obj/ Arbol destino dependiente de arquitectura fruto de la compilación del árbol /usr/src.
/usr/ports La colección de Ports de FreeBSD (opcional).
/usr/sbin/ Dæmons del sistema y utilidades del sistema (ejecutados por usuarios del sistema).
/usr/share/ Ficheros independientes de arquitectura.
/usr/src/ Ficheros fuente BSD y/o local.
/usr/X11R6/ Ejecutables de la distribución X11R6, bibliotecas, etc (opcional).
ADMINISTRACIÓN DE LOS RECURSOS DEL SERVIDOR
PERMISOS
Los permisos UNIX datan del año 1969, cuando una primeriza versión de este
sistema operativo hacía su aparición en escena en los laboratorios Bell de AT&T.
Nos permiten crear restricciones al realizar determinadas operaciones sobre
archivos o directorios.
También son capaces de diferenciar quién los está usando: si es su propietario, si es
un grupo autorizado para ello o si son otros.
ADMINISTRACIÓN DE LOS RECURSOS DEL SERVIDOR
PERMISOS
En GNU/Linux, los permisos o derechos que los usuarios pueden tener sobre determinados
archivos contenidos en él se establecen en tres niveles claramente diferenciados.
Estos tres niveles son los siguientes:
Permisos del propietario.
Permisos del grupo.
Permisos del resto de usuarios (o también llamados “los otros”).
ADMINISTRACIÓN DE LOS RECURSOS DEL SERVIDOR
La notación OCTAL
Otro sistema de notación muy común en el mundo UNIX es el OCTAL
Es más visual y permite de un rápido vistazo saber qué permisos dispone un archivo.
ADMINISTRACIÓN DE LOS RECURSOS DEL SERVIDOR
Ejemplos de Permisos
Estos son ejemplos de esquema de permisos en ambas notaciones.
ADMINISTRACIÓN DE LOS RECURSOS DEL SERVIDOR
El primer carácter al extremo izquierdo, representa el tipo de archivo, los posibles valores para esta posición son los
siguientes:
- un guion representa un archivo común (de texto, html, mp3, jpg, etc.)
d representa un directorio
l link, es decir un enlace o acceso directo
b binario, un archivo generalmente ejecutable
Los siguientes 9 restantes, representan los permisos del archivo y deben verse en grupos de 3.
Los tres primeros representan los permisos para el propietario del archivo. Los tres siguientes son los permisos para
el grupo del archivo y los tres últimos son los permisos para el resto del mundo o otros.
su voluntad sobre cualquier usuario, queda claro que #> chown juan:gerentes presentacion
habiendo ingresado al sistema como usuario normal,
solo podrá hacer cambios de grupos, y eso solo a los
que pertenezca. Así, cambiará el usuario.grupo en una sola instrucción.
propietario del archivo y al grupo al que pertenece, es -rwxrwxr-- 1 juan ventas 9090 sep 9 14:10 presentacion
posible cambiar estos valores a través de los comandos #> chgrp gerentes presentacion
(change group, cambiar grupo). -rwxrwxr-- 1 juan gerentes 9090 sep 9 14:10 presentacion
Instrucción id
Este comando muestra los valores de
UID, GUID, Gids de usuario. Opciones Descripción
-g Grupo principal
-G Grupos a los que pertenece
Sintaxis: -u UID
id [-g] [-G] [-u] [user] user Nombre del usuario
Sin opciones muestra todos los valores
ADMINISTRACIÓN DE LOS RECURSOS DEL SERVIDOR
Instrucción finger
Muestra de información del Usuario.
Opciones Descripción
-s Muestra el login y el nombre de los
Sintaxis: usuarios logeados