PERMISO DE ARCHIVOS
El sistema de archivos de Linux es uno de los más sólidos, conocido como ext2, ext2 y desde hace algún tiempo su nueva versión ext4. Los permisos a los que da soporte sobre los archivos son: lectura, escritura, ejecución, además maneja propiedades de un usuario dueño, grupos y otros (resto de los usuarios), como así también otros estándares de Unix.
Todas estas características son almacenadas en una tabla que es donde Linux guarda información administrativa acerca de: fecha de creación del archivo, modificación, la fecha en que se cambio y además los datos en los que radica la seguridad del estándar de Unix: el usuario o dueño del archivo, el grupo del archivo y los permisos.
r=read (lectura) w=write(escritura) x=execute(ejecución)
Para listar los archivos con sus correspondientes permisos vamos a utilizar el comando: ls -l
El primer caracter al extremo izquierdo, representa el tipo de archivo, los posibles valores para esta posición son los siguientes:
Un guión representa un archivo común (de texto, html, mp3, jpg, etc.)
d=directorio, representa un directorio l=link, es decir un enlace o acceso directo b=binario, un archivo generalmente ejecutable,
Usuario Grupo Otros rwx r=read (lectura) w=write (escritura) x=execute (ejecusión)
El permiso de lectura permite a un usuario leer el contenido del archivo o en el caso de un directorio, listar el contenido del mismo (usando ls)
El permiso de escritura permite a un usuario escribir y modificar el archivo (inclusive, eliminarlo). Para directorios, el permiso de escritura permite crear nuevos archivos o borrar archivos ya existentes en el mismo.
El permiso de ejecución permite a un usuario ejecutar el archivo si es un programa. Para directorios, el permiso de ejecución permite al usuario ingresar al mismo (con el comando cd).
Veamos los permisos del archivo texto
rw- r– r– rw- Permisos de lectura y escritura para el Usuario (dueño)
r– Permisos de solo lectura para el Grupo r– Permisos de solo lectura para Otros (resto de los usuarios)
chmod 644 archivo
Otorga permisos de lectura (r) y escritura (w) al usuario (dueño), permisos de lectura (r) al grupo y permisos de lectura (r) a otros usuarios.
chmod 420 archivo
Otorga permisos de lectura (r) al usuario (dueño) y permisos de escritura (w) al grupo.
Tenemos dos usuarios que pertenecen a un mismo grupo, carlos y nanuel. Dentro de carlos
tenemos los siguientes directorios y archivos.
El usuario carlos puede modificar los permisos de r, w y x (usuario, grupo y otros) del archivo o carpeta del cual es dueño. El superusuario puede cambiar los privilegios de un archivo o carpeta de cualquier usuario. En los siguientes ejemplos no necesitamos ser superusuario
Cambiar los privilegios de solo lectura para el archivo practica1.
chmod 444 practico1
Verificamos que el usuario carlos (propietario) solo podrá leer el archivo practica1 y logeándonos como manuel veremos que también podremos leer el archivo, porque pertenece al mismo grupo.
Otorgar privilegios de lectura y escritura para el grupo al archivo practica1.
chmod 464 practica1
Nos logeamos como manuel y veremos que el archivo practica1 se puede modificar, porque pertenece al mismo grupo.
OTRA FORMA DE DAR Y QUITAR PERMISOS A LOS ARCHIVOS
En la siguiente estructura de directorios vamos dar y quitar permisos al archivo practica1
chmod -rw practica1 | Quita los privilegios para leer y escribir (para el usuario) |
chmod +w practica1 | Otorga privilegios para escribir (para el usuario) |
chmod +r practica1 | Otorga privilegios de lectura |
chmod g+x practica1 | Otorga privilegios de ejecución del archivo para el grupo |
chmod u–rw practica1 | Quitar los privilegios de lectura y escritura al usuario (dueño) |
chmod ugo+rw practica1 | Otorga privilegios de lectura y escritura al usuario, grupo y otros |
chmod o-rw practica1 | Quita privilegios de lectura y escritura a otros usuarios |
FORMA DE DAR Y QUITAR PERMISOS A LAS CARPETAS (DIRECTORIOS)
Dar permisos de lectura (r) y escritura (w) al usuario(u), al grupo (g) sobre el directorio practicos.
chmod ug+rw practicos
Otros ejemplos:
chmod go+rw practicas chmod u+w practicos
chmod ugo+rw practicos
Quitar permiso de lectura (r), escritura (w) y (x) ejecución al grupo (g) y otros (o) sobre el directorio practicos chmod go-rwx practicos
chmod u-w practicos
Permite quitar los privilegios de lectura, escritura y ejecución de un directorio y de todos los ficheros y directorios contenidos dentro. La R significa recursivo
chmod -R ugo-rwx sistemas.
Otorga los privilegios de lectura, escritura y ejecución de un directorio y de todos sus archivos y directorios contenidos dentro.
chmod -R ugo+rwx sistemas.
Permite cambiar el dueño de un fichero
chown usuario practica1 usuario es el nuevo dueño del achivo practica1.
Permite cambiar el dueño de un directorio y de todos los ficheros y directorios contenidos dentro.
chown -R user1 sistemas
GESTIONAR USUARIOS Y GRUPOS
Opciones para el comando useradd
- Comment: Para especificar un comentario o nombre completo del
directory: Para establecer el directorio de trabajo del usuario -u uid: Establece el identificado del usuario.
-s Para establecer el shell que utilizará el usuario (el shell asignado de forma predeterminada es el bash)
-g Establece el grupo al que va pertencer un usuario.
-o Permite crear una cuenta de usuario con un identificador duplicado
-e expire date: Establece la fecha de expiración de una cuenta de usuario
(debe ingresarse en el formato AAAA-MM-DD)
-G Para establecer grupos adicionales a los que pertenecerá el usuario
Permite crear el Usuario user1
useradd user1
Crea el usuario carlos indicando el nombre_completo useradd -c “carlos andres” carlos
Crea el usuario user2 con el código de usuario 777 useradd -u 777 user2
Crea el usuario user3 indicándole que se creara en la carpeta home guardando todos sus en user3
useradd -d /home/user3 user3
(Si creamos sin usar -d crea la carpeta del usuario en home con el mismo nombre del usuario)
Crea el usuario jorge con código de usuario, nombre completo, que se cree en el directorio home/jorge asignándole el interprete de comandos
(shell de conexión) bash useradd –u 333 -c jorge_dias -d /home/jorge –s /bin/bach jorge
Cambiamos el código de usuario a 555 usermod -u 555 user2
Cambiamos el código de usuario a 123 y la ubicación (antes era 777 y estaba en home/user3) al usuario user3 usermod -u 555 -d /home/usuario3 user3
Creamos el usuario user4 con una fecha de expiración useradd -e 2019-09-20 user4
Cambiar el número de días de la contraseña del usuario.
chage -E 2014-12-31 user4 (E=expired date)
Cambia la contraseña de un usuario
passwd nombre_usuario
Si vemos las contraseñas con: cat /etc/shadow vemos que la contraseña ya ha cambiado
(pero está encriptada)
Cambiar la contraseña del superusuario root
passwd
Permite borrar el usuario user1
userdel user1
Borra un usuario del directorio home
userdel -r user1
Que significa cada una configuraciones de los usuarios del sistema, ingresamos:
cat /etc/passwd
Nombre de usuario : contraseña : identificación_usuario : numero grupo : nombre_completo:
ubicación_del_usuario : conexion_shell
Permite modificar las configuraciones de los usuarios
vi /etc/passwd
Si queremos ver las contraseñas (encriptadas) de los usuarios
cat /etc/shadow
nombre_usuario : contraseña_encriptada : ultimo_cambio_contraseña : minimo_nro_datos : maximo_nro_datos :
dias_de_caducidad : dias_antes_desactivar_cuenta : fecha_caducidad
COMANDOS PARA ADMINISTRAR GRUPOS Y USUARIOS
Permiten crear un grupo
groupadd nombre_grupo
Permite eliminar un gurpo
groupdel nombre_grupo
Permite modificar el nombre de un grupo
groupmod -n nuevo_nombre viejo_nombre
Permite modificar identificador de un grupo
groupmod -g 1234 grupo1
Crear el usuario user1 asinándole al grupo1
useradd -g grupo1 user1
El grupo1 tiene que estar creado, en caso que user1 ya ha sido asignado en algún grupo
podemos modificarlo
Crear el usuario user1 con número de identificador 123 y que
pertenezca al grupo1
useradd –u 123 -g grupo1 user1
Crear el usuario user1 indicando el nombre completo y asignándole a
grupo1
useradd -c nombre_completo -g grupo1 user1
Crear el usuario user1 con su nombre completo, asignándole al grupo1
e indicándole que se creará en la carpeta home/user1 y que usará el
interpretete de comandos bash
useradd -c nombre_usuario -g grupo1 -d /home/user1 -s /bin/bash user1
Modificar el usuario user1 cambiandolo al grupo2
usermod -g grupo2 user1
Modificar el identificador de usuario, nombre completo, cambiandolo
al grupo1 y cambiando la ubicación de sus archivos al directorio
home/usuario1
Usermod -u 787 -c nombre_apellido -g grupo1 -d /home/usuario1 -s
/bin/bash user1
CREACIÓN DE UNA CUENTA DE TIPO ADMINISTRADOR
Para crear una cuenta de tipo superusuario existen muchas maneras,
primeramente tenemos que estar logearnos con el usuario root
a. Crear el usuario a través del comando:
useradd admin
Este usuario se crea con un identificador de usuario y un identificador de grupo por
defecto (crea un grupo con el mismo nombre del usuario)
Ingresamos al archivo: vi /etc/passwd
Y modificamos por 0 los identificadores del usuario y grupo.
Luego podemos cambiar contraseña: passwd admin
b. Crear el superusuario a través de una línea de comando:
useradd -u 0 -g 0 -o admin
Permite crear el usuario con un identificador igual a 0, el identificador
del grupo igual a 0 y permite crear el usuario con identificador usuario
(El identificador del root es 0, por tanto se tiene que duplicar).