Los permisos se pueden revocar mediante sustracción. La siguiente tabla muestra cómo puede eliminar los permisos relevantes.
Permiso | Revocar permiso |
leer | restar 4 |
escribir | restar 2 |
ejecutar | restar 1 |
| |
Ejemplo :
- Establecer
read
(añadir 4) para user
, read
(añadir 4) y execute
(añadir 1) para el grupo, y solo execute
(añadir 1) para otros.
chmod 451 file-name
Así es como realizamos el cálculo:
Tenga en cuenta que esto es lo mismo que r--r-x--x
.
- Eliminar
execution
derechos de other
y group
.
Para eliminar la ejecución de other
y group
, reste 1 de la parte de ejecución de los últimos 2 octetos.
- Asignar
read
, write
y execute
a user
, read
y execute
a group
y solo read
a otros.
Esto sería lo mismo que rwxr-xr--
.
Cómo cambiar la propiedad usando el chown
Comando
A continuación, aprenderemos cómo cambiar la propiedad de un archivo. Puede cambiar la propiedad de un archivo o carpeta usando el chown
dominio. En algunos casos, cambiar la propiedad requiere sudo
permisos.
Sintaxis de chown
:
chown user filename
Cómo cambiar la propiedad del usuario con chown
Transfiramos la propiedad al usuario zaira
al usuario news
.
chown news mymotd.sh
Comando para cambiar la propiedad:sudo chown news mymotd.sh
Salida:
Cómo cambiar la propiedad del usuario y del grupo simultáneamente
También podemos usar chown
para cambiar de usuario y grupo simultáneamente.
chown user:group filename
Cómo cambiar la propiedad del directorio
Puede cambiar la propiedad de forma recursiva para los contenidos de un directorio. El siguiente ejemplo cambia la propiedad de /opt/script
carpeta para permitir al usuario admin
.
chown -R admin /opt/script
Cómo cambiar la propiedad del grupo
En caso de que solo necesitemos cambiar el propietario del grupo, podemos usar chown
precediendo el nombre del grupo por dos puntos :
chown :admins /opt/script
Ejercicio guiado de permisos de Linux
Hasta ahora hemos explorado los permisos, las propiedades y los métodos para cambiarlos. Ahora reforzaremos nuestro aprendizaje con un ejercicio guiado.
Objetivo :Para crear grupos y asignar permisos relevantes a sus miembros. Verifica el acceso accediendo desde usuarios no autorizados.
Tarea :Cree un grupo llamado dev-team
y agréguele dos miembros (John y Bob). Crea una carpeta /home/dev-team
y cambie la propiedad al grupo dev-team
. Verifique que ambos usuarios en el dev-team
el grupo ha leído y escribir acceso a la carpeta.
Crear otro grupo project-manager
y agrega un usuario Fatima
lo. Verifique si la carpeta /home/dev-team
es accesible por Fatima
.
Visualización del problema
Podemos visualizar el problema así:
Paso 1:Cambiar a usuario root.
Cambie a usuario raíz para que tengamos los derechos para crear nuevos usuarios y grupos.
Mostrar pista
Usa el sudo
comando con bandera i
.
Si tiene la contraseña raíz, también puede iniciar sesión con ella.
Mostrar solución
Introduce sudo -i
para cambiar al usuario root.
Introduce whoami
para saber si eres el usuario root:
Si no tiene root
acceda, use los comandos agregando sudo
.
Paso 2:Cree un grupo dev-team
Mostrar pista
Usa el groupadd
comando.
Sintaxis:groupadd group-name
Mostrar solución
Introduce groupadd dev-team
para crear el dev-team
grupo
Verificar:cat /etc/group | grep dev-team
Paso 3:Cree dos nuevos usuarios John y Bob y agréguelos al dev-team
grupo
Mostrar pista
Utilice el comando useradd
.
useradd
crea un nuevo usuario y lo agrega al grupo especificado.
Sintaxis:useradd -G groupname username
Donde -G
especifica el grupo.
Mostrar solución
useradd -G dev-team John
useradd -G dev-team Bob
Verificar:cat /etc/group | grep dev-team
Paso 4:Proporcione contraseñas para los usuarios John y Bob
Mostrar pista
Usa el comando passwd
passwd
crea una contraseña para los usuarios.
Sintaxis:passwd username
Mostrar solución
passwd John
passwd Bob
Paso 5:Cree un directorio en /home y asígnele el nombre dev-team
Mostrar pista
Usa el comando mkdir
mkdir
crea un directorio.
Sintaxis:mkdir directory-name
Mostrar solución
mkdir /home/dev-team
Verificar:
Paso 6:cambie la propiedad del grupo de la carpeta dev-team
para agrupar dev-team
Mostrar pista
Usa el comando chown
Sintaxis:chown :group-name folder
Mostrar solución
chown :dev-team /home/dev-team/
Paso 7:Asegúrese de que los permisos de la carpeta dev-team
permitir que los miembros del grupo creen y eliminen archivos.
Mostrar pista
Usa el comando chmod
Los permisos de escritura permiten a los usuarios y grupos crear y eliminar archivos.
Sintaxis:chmod permissions folder
Mostrar solución
chmod g+w /home/dev-team/
Paso 8:Asegúrese de que 'otros' no tengan acceso a los archivos de dev-team
carpeta.
Mostrar pista
Usa el comando chmod
Elimine los permisos de lectura, escritura y ejecución de 'otros' si existen.
Sintaxis:chmod permissions folder
Mostrar solución
chmod o-rx dev-team
Paso 9:Salga de la root
sesión y cambiar a John
Mostrar pista
Usa el comando exit
para cerrar la sesión del usuario root.
Usa su
para cambiar de usuario.
Sintaxis:su - user
Para confirmar el usuario actual, use el comando whoami
.
Mostrar solución
exit
su - John
Verificar con el comando whoami
.
Paso 10:navegue a la carpeta:/home/dev-team
Mostrar pista
Usa el comando cd
para cambiar de carpeta.
Sintaxis:cd /path/to/folder
Confirme la ruta actual con pwd
.
Mostrar solución
cd /home/dev-team
Paso 11:Cree un archivo vacío en la carpeta:/home/dev-team
Mostrar pista
Usa el comando touch
para crear un archivo vacío.
Sintaxis:touch filename
Mostrar solución
touch john-file.txt
Verificar:ls -lrt
Paso 12:cambie la propiedad del grupo del archivo creado a dev-team
y verificar.
Mostrar pista
Usa el comando chown
para cambiar la propiedad.
Sintaxis:chown :group file-name
Mostrar solución
chown :dev-team john-file.txt
Una vez que se modifica la propiedad del grupo, todos los miembros del grupo pueden acceder a este archivo.
Verificar ls -lrt
Paso 13:Salga del shell y cambie al usuario Bob's
Mostrar pista
Usa el comando exit
para salir de la terminal.
Usa su
para cambiar de usuario.
Sintaxis:su - user
Para confirmar el usuario actual, use el comando whoami
.
Mostrar solución
exit
su - Bob
Verifica el usuario actual con el comando whoami
.
Paso 14:Vaya a la ruta /home/dev-team
Mostrar pista
Usa el comando cd
para cambiar de carpeta.
Sintaxis:cd /path/to/folder
Confirme la ruta actual con pwd
.
Mostrar solución
cd /home/dev-team
Paso 15:Descubra Bob's
privilegios para acceder a john-file.txt
Mostrar pista
Usa el comando ls -l
para lista larga.
Sintaxis:ls -l | grep file-name
¿El grupo tiene rw-
permisos?
Mostrar solución
ls -l | grep john-file.txt
Paso 16:Modifique el archivo john-file.txt
mientras está conectado como Bob's
Mostrar pista
Usa el comando echo
para agregar algo de texto al archivo.
Sintaxis:echo "Some text" >>file-name
Esto redirigiría el texto citado al final del archivo.
Mostrar solución
echo "This is Bob's comment" > john-file.txt
Si todos los permisos están configurados correctamente, Bob's
se le permitiría editar y guardar este archivo. De lo contrario, obtendrías un error como este:Permission denied
.
Verifique cat john-file.txt
Paso 17:Crea otro grupo project-manager
y asigna un miembro Fatima
a eso
Mostrar pista
Usa el comando groupadd
para agregar un nuevo grupo.
Sintaxis:groupadd group-name
Crea un nuevo usuario con el comando useradd
.
Usa la bandera -G
para asignarle un usuario.
Mostrar solución groupadd project-manager
useradd -G project-manager Fatima
passwd Fatima
Paso 18:Vaya a la carpeta /home/dev-team
y verifica si Fatima
puede acceder a ella
Mostrar pista
Usa cd
para navegar a /home/dev-team
.
Mostrar solución
cd /home/dev-team
.
Obtenemos este error:
Esto se debe a que, others
no tiene ningún acceso a la carpeta dev-team
.
Si recordamos, a continuación se encuentran los derechos del dev-team
carpeta.
Resumiendo
Los permisos y las propiedades son conceptos útiles para reforzar la seguridad en los sistemas operativos multiusuario. Espero que haya podido obtener más información sobre cómo cambiar los permisos y las propiedades.
¿Cuál es tu cosa favorita que aprendiste de este tutorial? ¡Házmelo saber en Twitter!
También puedes leer mis otras publicaciones aquí.
Gracias a Tom Mondloch por su ayuda con el ejercicio guiado.