He descubierto que las listas de control de acceso POSIX le permiten a usted, como administrador del sistema, proteger a sus usuarios de lo peor de su propia ignorancia, anulando el permiso regular del sistema de archivos de otro grupo de usuarios, sin mucha oportunidad de romper algo crucial .
Pueden ser especialmente útiles si, por ejemplo, (fi) necesita que los directorios principales sean accesibles mundialmente porque el contenido web debe ser accesible para apache ~/public_html/
. (Aunque con las ACL ahora puede hacer lo contrario, eliminar el acceso para todos y usar una ACL efectiva específica para el usuario de apache).
Sí, un usuario bien informado puede eliminarlos / anularlos nuevamente, son lo suficientemente poco comunes como para que sea poco probable, y aquellos usuarios que generalmente no son los que convenientemente pueden hacerlo chmod -R 777 ~/
, ¿verdad?
Necesita montar el sistema de archivos con la acl
opción de montaje:
mount -o remount,acl /home
En muchas distribuciones, el valor predeterminado es crear grupos de usuarios, cada usuario tiene su grupo primario y he configurado a todos los usuarios en un grupo secundario con el nombre poco imaginativo de users
.
Usar ACL ahora es trivial para evitar que otros usuarios accedan a los directorios de inicio:
Antes de:
chmod 0777 /home/user*
ls -l /home/user*
drwxrwxrwx. 2 user1 user1 4096 Jul 11 15:40 user1
drwxrwxrwx. 2 user2 user2 4096 Jul 11 15:24 user2
Ahora configure los permisos de directorio efectivos para los miembros del users
grupo para 0
no leer, escribir o acceder:
setfacl setfacl -m g:users:0 /home/user*
ls -l
drwxrwxrwx+ 2 user1 user1 4096 Jul 11 15:40 user1
drwxrwxrwx+ 2 user2 user2 4096 Jul 11 15:24 user2
El +
signo denota la presencia de configuraciones de ACL allí. Y el getfacl
puede confirmar que:
getfacl /home/user1
getfacl: Removing leading '/' from absolute path names
# file: home/user1
# owner: user1
# group: user1
user::rwx
group::rwx
group:users:---
mask::rwx
other::rwx
El group:users:---
programa muestra que ese grupo efectivamente no tiene derecho de acceso, a pesar de los permisos regulares para otro serother::rwx
Y probando como usuario1:
[user1@access ~]$ ls -la /home/user2
ls: cannot open directory /home/user2: Permission denied
Una segunda solución común en sistemas compartidos es hacer que el automontador monte los directorios de inicio a pedido en un servidor dedicado al acceso de shell. Eso está lejos de ser una prueba infalible, pero generalmente solo unos pocos usuarios iniciarán sesión simultáneamente, lo que significa que solo los directorios principales de esos usuarios son visibles y accesibles.
chmod files 0777
son estrictamente necesarias, es decir, abordar la causa raíz del problema, en lugar del síntoma de que, al hacerlo, cualquiera puede leer los archivos de cualquier otra persona. Muchas veces, la recomendación de permitir todo el acceso es simplemente una forma económica de evitar llamadas de soporte, o la falta de destreza técnica para poder configurar los permisos correctamente. En casi ningún caso tuve que configurar archivos0777
u otorgar acceso completo a las aplicaciones cuando lo solicité. La educación de los usuarios y / o proveedores ayuda enormemente aquí.