¿Puede explicar brevemente los conceptos principales y las herramientas de línea de comandos utilizados para administrar los permisos de archivos?
command-line
permissions
chmod
guillermooo
fuente
fuente
chown guillermooo
no debería ser estochown guillermooo filename
?Permisos de archivo
Ubuntu ha heredado el concepto de permisos de Unix cuando para archivos o directorios hay tres tareas que podemos permitir o denegar:
( Recorrer un directorio significa esencialmente usarlo como parte del nombre de una ruta. Consulte https://unix.stackexchange.com/a/13891 o https://unix.stackexchange.com/questions/21251 para obtener más explicaciones).
Además, tenemos tres casos sobre a quién otorgamos un permiso:
Ahora para obtener la combinación de estos ordenados, usamos un sistema binario donde cada bit define un permiso. Esto se puede mostrar mejor en la siguiente tabla
Ahora si queremos por ejemplo
a) el propietario de un archivo (= usuario) tiene r ead, w rito, y e x ecute permiso,
b) Grupo concedió el archivo r ead y e x permisos ecute, y
c) todos los demás sólo deben tener r acceso EAD.
Entonces el permiso de archivo resultante será:
Para obtener esto en los números octales, por ejemplo. para el
chmod
comando o cuando tenemos que entender un mensaje de error, necesitamos completar la tabla anterior de la siguiente manera:Cada número de permiso debe agregarse para resumir para un usuario (4 + 2 + 1 = 7), grupo (4 + 0 + 1 = 5) y otros (4 + 0 + 0 = 4). El número resultante es:
Ahora tenemos dos opciones para cambiar los bits de permiso con
chmod
:o mucho más simple con
Ambos comandos harán lo mismo.
Si queremos que los archivos sean ejecutables como programas, tendremos que cambiar este permiso.
Tenga en cuenta que también tendremos que cambiar el permiso del directorio en el que puede estar este ejecutable. Solo si ambos, el archivo y el bit ejecutable del directorio están configurados, se nos permitirá ejecutar este archivo como un programa.
Al copiar un archivo en nuestro hogar, perderá sus permisos, que serán reemplazados por nuestros propios permisos predeterminados (a menos que copiemos usando opciones avanzadas, por ejemplo, una opción de archivo).
También tenga en cuenta que el archivo puede heredar su permiso de su punto de montaje, resp. Opciones de montaje. Esto es importante cuando se montan unidades formateadas de Windows que no admiten permisos de Unix.
Usuarios y grupos
Pronto nos damos cuenta de que esto era solo la mitad de la historia. También tenemos que ordenar las pertenencias. Para hacer esto, cada archivo o carpeta tiene un propietario definido y una membresía de grupo definida.
Cada vez que creamos un archivo, seremos el propietario de un archivo, y el grupo del archivo también seremos nosotros. Con
ls -l
podemos ver los permisos, la propiedad y el grupo como se ve en el siguiente resultado de ejemplo:Si no somos el propietario del archivo, recibiremos un
Permission denied
error. Solo root puede cambiar esto para todos los archivos. Es por eso que tenemos que usarlosudo
al editar permisos de archivos que no son nuestros. Hay dos comandos integrados para hacerlochown
para usuarios ychgrp
grupos.Para cambiar la propiedad de un archivo de cualquiera a otro,
takkat
podemos emitir este comando:Para cambiar el grupo de un archivo a
takkat
emitimosLea las páginas de manual de los comandos para obtener más detalles y opciones. También hay esta guía más elaborada y recomendada para leer más:
También encuentre algunas preguntas relacionadas aquí:
fuente