Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previaÚltima revisiónAmbos lados, revisión siguiente |
es:slackbook:filesystem_permissions [2019/02/27 02:54 (UTC)] – [chmod, chown, y chgrp] antares_alf | es:slackbook:filesystem_permissions [2019/03/02 21:18 (UTC)] – [Resumen de permisos] rramp |
---|
| Otros | r-x | Todos los demás pueden leer y ejecutar | | | Otros | r-x | Todos los demás pueden leer y ejecutar | |
| |
Los permisos son bastante autoexplicativos, por supuesto, al menos para archivos. Leer, escribir y ejecutar le permite leer un archivo, escribir en él o ejecutarlo. Pero, ¿qué significan estos permisos para los directorios? En pocas palabras, los permisos de lectura otorgan la posibilidad de listar los contenidos del directorio (digamos con ** // ls // **). El permiso de escritura otorga la posibilidad de crear nuevos archivos en el directorio, así como de eliminar todo el directorio, incluso si de otra forma no podría eliminar algunos de los otros archivos que contiene. El permiso de ejecución otorga la posibilidad de ingresar al directorio (por ejemplo, con cd , comando incorporado de ** // bash // **). | Los permisos son bastante autoexplicativos, por supuesto, al menos para archivos. Leer, escribir y ejecutar le permite leer un archivo, escribir en él o ejecutarlo. Pero, ¿qué significan estos permisos para los directorios? En pocas palabras, los permisos de lectura otorgan la posibilidad de listar los contenidos del directorio (digamos con **//ls //**). El permiso de escritura otorga la posibilidad de crear nuevos archivos en el directorio, así como de eliminar todo el directorio, incluso si de otra forma no podría eliminar algunos de los otros archivos que contiene. El permiso de ejecución otorga la posibilidad de ingresar al directorio (por ejemplo, con cd, comando incorporado de **//bash//**). |
| |
| |
| |
| |
Observe los permisos en ** // passwd // **. En lugar de una <key> 'x' </key> en la ranura de ejecución del usuario, tenemos una <key> 's' </key>. Esto nos dice que ** // passwd // ** es un programa SUID, y cuando lo ejecutamos, el proceso se ejecutará como el usuario // "root" // en lugar de como el usuario que realmente lo ejecutó. La razón de esto es evidente tan pronto como usted mira los dos archivos que modifica. Ni '' /etc/passwd '' ni '' /etc/shadow '' son grabables por otra persona que no sea root. Dado que los usuarios necesitan cambiar su información personal, ** // passwd // ** debe ejecutarse como root para modificar esos archivos. | Observe los permisos en **//passwd//**. En lugar de una <key> 'x' </key> en la ranura de ejecución del usuario, tenemos una <key> 's' </key>. Esto nos dice que **//passwd//** es un programa SUID, y cuando lo ejecutamos, el proceso se ejecutará como usuario //"root"// en lugar del usuario que realmente lo ejecutó. La razón de esto es evidente tan pronto como usted mira los dos archivos que modifica. Ni ''/etc/passwd'' ni ''/etc/shadow'' son grabables por otra persona que no sea root. Dado que los usuarios necesitan cambiar su información personal, **//passwd//** debe ejecutarse como root para modificar esos archivos. |
| |
| |
Entonces, ¿qué pasa con el sticky bit? El sticky bit restringe la capacidad de mover o eliminar archivos y solo se establece en directorios. Los usuarios que no son root no pueden mover o eliminar ningún archivo de un directorio con el conjunto de sticky bit a menos que sean los propietarios de ese archivo. Normalmente, cualquier persona que tenga permiso de escritura en el archivo puede hacer esto, pero el sticky bit lo impide para cualquier persona que no sea el propietario (y, por supuesto, root). Echemos un vistazo a un directorio común // "sticky bit" //. | Entonces, ¿qué pasa con el sticky bit? El sticky bit restringe la capacidad de mover o eliminar archivos y solo se establece en directorios. Los usuarios que no son root no pueden mover o eliminar ningún archivo de un directorio con el conjunto de sticky bit a menos que sean los propietarios de ese archivo. Normalmente, cualquier persona que tenga permiso de escritura en el archivo puede hacer esto, pero el sticky bit lo impide para cualquier persona que no sea el propietario (y, por supuesto, root). Echemos un vistazo a un directorio común //"sticky bit"//. |
| |
<code> | <code> |
| |
| |
Naturalmente, al ser un directorio para el almacenamiento de archivos temporales en todo el sistema, '' / tmp '' debe ser legible, grabable y ejecutable por todos y cada uno. Dado que es probable que cualquier usuario tenga un archivo o dos almacenados aquí en cualquier momento, solo tiene sentido evitar que otros usuarios eliminen esos archivos, por lo que se ha establecido el sticky bit. Puede verlo por la presencia de la <key> 't' </key> en lugar de la <key> 'x' </key> en la sección de permisos mundiales. | Naturalmente, al ser un directorio para el almacenamiento de archivos temporales en todo el sistema, ''/tmp'' debe ser legible, grabable y ejecutable por todos y cada uno. Dado que es probable que cualquier usuario tenga un archivo o dos almacenados aquí en cualquier momento, solo tiene sentido evitar que otros usuarios eliminen esos archivos, por lo que se ha establecido el sticky bit. Puede verlo por la presencia de la <key>'t'</key> en lugar de la <key>'x'</key> en la sección de permisos globales. |
| |
** Tabla 10.5. Permisos SUID, SGID y "sticky bit" ** | ** Tabla 10.5. Permisos SUID, SGID y "sticky bit" ** |
|Sticky |1 |t| | |Sticky |1 |t| |
| |
Al utilizar permisos octales, debe especificar un valor octal inicial adicional. Por ejemplo, para recrear el permiso en '' / tmp '', usaríamos 1777. Para recrear esos permisos en '' / usr / bin / passwd '', usaríamos 4711. Esencialmente, en cualquier momento este cuarto octeto principal no está no especificado, ** // chmod // ** asume que su valor es 0. | Al utilizar permisos octales, debe especificar un valor octal inicial adicional. Por ejemplo, para recrear el permiso en ''/tmp'', usaríamos 1777. Para recrear esos permisos en ''/usr/bin/passwd'', usaríamos 4711. Básicamente, toda vez que éste cuarto octeto principal no está especificado, **//chmod//** asume que su valor es 0. |
| |
| |