Está en la página 1de 8

ADMINISTRACIÓN BÁSICA DEL SISTEMA OPERATIVO

GESTIÓN DE USUARIOS Y GRUPOS

Roles y permisos de las cuentas de usuarios y grupos en sistemas


operativos basados en UNIX.
En sistemas operativos basados en UNIX, como Linux, los conceptos de roles, permisos,
cuentas de usuario y grupos son fundamentales para la gestión de la seguridad y el
acceso a recursos.
Cuentas de Usuario: Las cuentas de usuario son identidades individuales que
representan a personas o procesos en el sistema. Cada cuenta de usuario tiene un
nombre único (llamado nombre de usuario o username) y un identificador único (UID). Las
cuentas de usuario se utilizan para identificar y autenticar a las personas que acceden al
sistema.
Grupos: Los grupos son conjuntos de una o más cuentas de usuario que se agrupan con
un propósito común. Cada grupo tiene un nombre único (llamado nombre de grupo o
group name) y un identificador único (GID). Los grupos se utilizan para simplificar la
administración de permisos y para permitir el acceso a recursos compartidos.
Roles: A diferencia de las cuentas de usuario y los grupos, los roles no son un concepto
intrínseco del sistema operativo UNIX en sí mismo. Sin embargo, en algunos sistemas y
entornos, los roles pueden referirse a un conjunto predefinido de permisos y
autorizaciones que se pueden asignar a las cuentas de usuario o grupos. Los roles son
útiles para definir perfiles de acceso y facilitar la administración de permisos. No todos los
sistemas UNIX implementan roles de la misma manera, y en muchos casos, se utilizan
soluciones de administración de identidades y accesos para gestionar roles.
Permisos: Los permisos son reglas que controlan el acceso a archivos y directorios en el
sistema. Cada archivo y directorio en un sistema UNIX tiene tres tipos de permisos:
lectura (r), escritura (w) y ejecución (x). Estos permisos se aplican a tres categorías de
usuarios: el propietario del archivo, el grupo al que pertenece el archivo y otros usuarios
en general. Los permisos determinan qué acciones se pueden realizar en un archivo o
directorio, como leer, escribir o ejecutar.
Cuentas de Usuario son las identidades individuales que representan a las
personas o procesos.
Grupos: son conjuntos de cuentas de usuario que se utilizan para simplificar la
administración de permisos y recursos compartidos.
Roles: pueden referirse a conjuntos predefinidos de permisos que se asignan a cuentas
de usuario o grupos (esto puede variar según la implementación).
Permisos: son reglas que controlan el acceso a archivos y directorios en función de tres
tipos de permisos y tres categorías de usuarios.
Administración de cuentas de usuario y grupos en sistemas operativos
basados en UNIX.
La administración de cuentas de usuario y grupos en sistemas operativos basados en
UNIX, como Linux, es crucial para mantener la seguridad, el acceso adecuado a los
recursos y una gestión eficiente.
Administración de Cuentas de Usuario:
1.-Crear una cuenta de usuario: Utiliza el comando useradd para crear una nueva
cuenta de usuario. Por ejemplo: sudo useradd nuevo_usuario.
2.-Establecer una contraseña: Utiliza el comando passwd para establecer una
contraseña para la cuenta: sudo passwd nuevo_usuario.
3.-Modificar la información de la cuenta: El comando usermod permite modificar los
detalles de una cuenta, como su nombre, grupo primario, directorio de inicio, entre otros.
4.-Eliminar una cuenta de usuario: Utiliza el comando userdel para eliminar una cuenta
de usuario: sudo userdel –r usuario_a_eliminar (el flag –r elimina el directorio de inicio).
Administración de Grupos:
1.-Crear un grupo: Utiliza el comando groupadd para crear un nuevo grupo: sudo
groupadd nuevo_grupo.
2.-Modificar un grupo: Puedes usar el comando groupmod para modificar los detalles
de un grupo, como su nombre: sudo groupmod -n nuevo_nombre_grupo
viejo_nombre_grupo.
3.-Agregar usuarios a un grupo: Utiliza el comando usermod para agregar usuarios a
un grupo existente: sudo usermod -aG grupo usuario.
Eliminar un grupo: Utiliza el comando groupdel para eliminar un grupo: sudo groupdel
grupo_a_eliminar.
Gestión de Permisos:
1.-Asignar permisos a archivos y directorios:
Utiliza comandos como chmod para asignar permisos a archivos y directorios. Por
ejemplo: chmod u+r archivo (agrega permiso de lectura al propietario).
2.-Cambiar propietario y grupo de archivos/directorios:
Utiliza chown para cambiar el propietario y el grupo de un archivo o directorio: sudo
chown nuevo_propietario:nuevo_grupo archivo.
3.-Utilizar ACLs (Access Control Lists):
Las ACLs permiten asignar permisos más granulares. Usa setfacl para establecer estas
reglas.
Roles y Privilegios:
La administración de roles y privilegios puede variar según el sistema operativo y las
implementaciones específicas. Algunos sistemas ofrecen herramientas para definir y
asignar roles con conjuntos predefinidos de privilegios.

GESTIÓN DE PAQUETES Y PROCESOS


Estados de los procesos en sistemas operativos basados en UNIX.
En sistemas operativos basados en UNIX, los procesos pueden tener varios estados a
medida que interactúan con el sistema y realizan sus tareas.
1.-Ejecución (Running):
Un proceso está en estado de ejecución cuando la CPU está ejecutando sus instrucciones
en ese momento.
2.-Listo (Ready):
Un proceso en estado listo está preparado para ser ejecutado y está esperando su turno
para obtener tiempo de CPU.
3.-Bloqueado (Blocked o Waiting):
Un proceso bloqueado está temporalmente detenido debido a que está esperando un
evento o recurso, como entrada/salida (I/O) o una señal. El proceso no puede continuar
hasta que se resuelva la condición de bloqueo.
4.-Terminado (Terminated o Exit):
Un proceso en estado terminado ha completado su ejecución y ha salido. Su espacio en
la memoria y otros recursos asociados se liberan.
5.-Zombi (Zombie):
Un proceso zombi es aquel que ha finalizado su ejecución, pero su entrada de tabla de
procesos aún se mantiene en la tabla de procesos hasta que el proceso padre recopile su
estado de salida. Los procesos zombis no consumen recursos de CPU pero ocupan
espacio en la tabla de procesos.
6.-Detenido (Stopped):
Un proceso detenido ha sido detenido y no se está ejecutando. Esto puede ser resultado
de una señal como SIGSTOP o cuando un proceso en segundo plano se suspende.
7.-Continuado (Continued):
Un proceso continuado es uno que previamente estaba detenido y ha sido reiniciado con
una señal como SIGCONT.
8.-Salida (Exited):
Este estado indica que un proceso ha salido o finalizado su ejecución y está listo para ser
limpiado.
9.-En Espera (Waiting):
En algunos sistemas UNIX, se utiliza el estado "en espera" para indicar que un proceso
está esperando por ciertos eventos, como una señal o recursos.
Estos estados representan cómo los procesos interactúan con el sistema operativo en
diferentes momentos y circunstancias. Los sistemas operativos utilizan cambios de estado
para administrar y programar la ejecución de procesos de manera eficiente.

Proceso de instalación de paquetes en sistemas operativos basados


en UNIX.
El proceso de instalación de paquetes en sistemas operativos basados en UNIX puede
variar según la distribución específica que estés utilizando (por ejemplo, Ubuntu, Debian,
CentOS, Fedora), ya que cada una tiene su propio sistema de gestión de paquetes. Sin
embargo, el proceso general suele ser similar y sigue estos pasos:
1.-Identificación del Paquete:
Primero, debes identificar el nombre del paquete que deseas instalar. Esto puede ser un
software, una biblioteca o una utilidad específica.
2.-Uso del Gestor de Paquetes:
Cada distribución tiene un gestor de paquetes que facilita la instalación, actualización y
eliminación de software. Los gestores de paquetes más comunes son APT (Advanced
Package Tool) para sistemas basados en Debian/Ubuntu y YUM (Yellowdog Updater,
Modified) o DNF (Dandified YUM) para sistemas basados en Red Hat/Fedora.
3.-Actualizar la Base de Datos de Paquetes (Opcional pero recomendado):
Antes de instalar cualquier paquete, es aconsejable actualizar la base de datos de
paquetes para asegurarte de que obtienes la última información sobre los paquetes
disponibles:

 En sistemas basados en Debian/Ubuntu, utiliza sudo apt update.


 En sistemas basados en Red Hat/Fedora, utiliza sudo yum update o sudo dnf
update.
4.-Instalación del Paquete:
Una vez que tienes la base de datos actualizada, puedes instalar el paquete utilizando el
comando específico del gestor de paquetes:

 En sistemas basados en Debian/Ubuntu, utiliza sudo apt install


nombre_paquete.
 En sistemas basados en Red Hat/Fedora, utiliza sudo yum install
nombre_paquete o sudo dnf install nombre_paquete.
5.-Confirmación y Dependencias:
El gestor de paquetes te mostrará la lista de paquetes que serán instalados y te pedirá
confirmación. También gestionará automáticamente las dependencias necesarias para el
paquete.
6.-Descarga e Instalación:
El gestor de paquetes descargará el paquete y sus dependencias desde los repositorios
en línea y los instalará en tu sistema.
7.-Verificación de la Instalación:
Una vez que se complete la instalación, puedes verificar que el paquete esté funcionando
correctamente. Esto podría implicar ejecutar el software recién instalado o verificar su
versión.
8.-Actualizaciones y Mantenimiento (Opcional):
En el futuro, puedes usar el gestor de paquetes para mantener el software actualizado, ya
que los paquetes se actualizan periódicamente para corregir errores y agregar nuevas
características. Para actualizar todos los paquetes, puedes ejecutar sudo apt upgrade en
sistemas basados en Debian/Ubuntu o sudo yum/dnf update en sistemas basados en
Red Hat/Fedora.

Gestionar paquetes y procesos en sistemas operativos basados en


LINUX
Gestionar paquetes y procesos en sistemas operativos basados en Linux es esencial para
mantener el sistema actualizado, seguro y eficiente.
Gestión de Paquetes:
Los sistemas Linux utilizan gestores de paquetes para administrar la instalación,
actualización y eliminación de software. Los dos gestores de paquetes más comunes son
APT (Advanced Package Tool) para sistemas basados en Debian/Ubuntu y YUM
(Yellowdog Updater, Modified) o DNF (Dandified YUM) para sistemas basados en Red
Hat/Fedora.
1.-Actualizar la Base de Datos de Paquetes:
Antes de instalar o actualizar paquetes, actualiza la base de datos de paquetes para
obtener información actualizada:

 En sistemas basados en Debian/Ubuntu, usa sudo apt update.


 En sistemas basados en Red Hat/Fedora, usa sudo yum update o sudo dnf
update.
2.-Instalar Paquetes:
Para instalar paquetes, utiliza el comando adecuado según tu sistema:
 En sistemas basados en Debian/Ubuntu, usa sudo apt install nombre_paquete.
 En sistemas basados en Red Hat/Fedora, usa sudo yum install
nombre_paquete o sudo dnf install nombre_paquete.
3.-Actualizar Paquetes:
Para actualizar paquetes instalados, utiliza:

 En sistemas basados en Debian/Ubuntu, sudo apt upgrade.


 En sistemas basados en Red Hat/Fedora, sudo yum update o sudo dnf update.
4.-Eliminar Paquetes:
Para eliminar paquetes, utiliza:

 En sistemas basados en Debian/Ubuntu, sudo apt remove nombre_paquete.


 En sistemas basados en Red Hat/Fedora, sudo yum remove nombre_paquete o
sudo dnf remove nombre_paquete.
Gestión de Procesos:
La gestión de procesos implica supervisar y controlar las actividades de los programas en
ejecución en el sistema.
1.-Ver Procesos en Ejecución:
Usa el comando ps para ver los procesos en ejecución:

 ps aux muestra una lista completa de procesos en ejecución.


2.-Finalizar un Proceso:
Utiliza el comando kill para finalizar un proceso:

 kill PID termina el proceso con el ID de proceso (PID) especificado.


 killall nombre_proceso finaliza todos los procesos con el nombre dado.
3.-Cambiar la Prioridad de un Proceso:
Utiliza el comando nice o renice para ajustar la prioridad de un proceso en ejecución.
4.-Monitoreo en Tiempo Real:
Utiliza herramientas como top o htop para monitorear los procesos en tiempo real y ver el
uso de recursos de la CPU y la memoria.
5.-Ejecución en Segundo Plano:
Agrega & al final de un comando para ejecutar un proceso en segundo plano, liberando la
terminal para otros comandos.
6-Controlar Procesos Detenidos:
Utiliza bg para mover un proceso a segundo plano y fg para traerlo al primer plano si está
detenido.
7.-Programación de Tareas:
Utiliza cron o at para programar tareas para que se ejecuten en momentos específicos o
periódicamente.

SCRIPTS BÁSICOS
Descripción de la estructura básica de scripts.

Estructura básica de scripts.


La estructura básica de los scripts en sistemas UNIX sigue un patrón general similar al de
otros lenguajes de programación
1.-Shebang (#!/bin/bash`):
La línea de shebang indica el intérprete que se utilizará para ejecutar el script. En este
caso, se especifica que el intérprete es /bin/bash.
2.-Comentarios:
Las líneas que comienzan con # son comentarios y proporcionan información sobre el
script, como su propósito, autor, fecha, etc.
3.-Declaraciones de Variables:
Aquí puedes declarar y asignar valores a variables que se utilizarán en el script. Las
variables pueden contener datos como cadenas de texto, números, etc.
4.-Funciones (Opcional):
Puedes definir funciones para agrupar un conjunto de comandos relacionados en bloques
reutilizables. Las funciones se declaran utilizando el formato nombre_funcion() { ... }.
5.-Código Principal:
Esta sección contiene los comandos y declaraciones que constituyen el cuerpo principal
del script. Aquí es donde realizas las acciones que deseas automatizar.
6.-Salida del Script:
Puedes utilizar el comando echo (u otros comandos similares) para mostrar mensajes o
resultados en la salida estándar.
7.-Fin del Script:
La estructura del script termina aquí. No es necesario agregar un marcador específico
para indicar el final del script.

Estructura básica de la programación en Shell


1. Estructura Secuencial:
En esta estructura, las instrucciones se ejecutan una tras otra, en el orden en que
aparecen en el script.
2. Estructuras de Control:

 Estructura Condicional (if-else):


Permite ejecutar un bloque de comandos si se cumple una condición y otro bloque
si no se cumple.
 Bucles (for, while):
Los bucles permiten ejecutar un bloque de comandos varias veces.

3. Funciones:
Las funciones permiten encapsular un conjunto de comandos en un bloque reutilizable.

4. Estructuras de Decisión:

 Switch (case):
La estructura case permite comparar una variable con diferentes valores y ejecutar
acciones basadas en esas comparaciones.

Programar scripts en Shell.


Para crear y ejecutar el script:
1.- Abre un editor de texto en tu sistema UNIX (como nano, vim, gedit u otro).
2.-Copia el código proporcionado arriba y pégalo en el editor.
3.-Guarda el archivo con una extensión .sh en un directorio de tu elección (por ejemplo,
verificar_par_impar.sh).
4.-Abre una terminal en UNIX y navega al directorio donde guardaste el archivo.
5.-Dale permisos de ejecución al archivo con el comando chmod +x
verificar_par_impar.sh.
6.-Ejecuta el script con ./verificar_par_impar.sh.
El script te pedirá ingresar un número y luego mostrará si es par o impar.

También podría gustarte