¿En qué directorios puede escribir el usuario "nadie"?

10

¿En qué directorios puede nobodyescribir el usuario en una distribución de Ubuntu estándar y lista para usar?

Ya sé /tmpcuál es drwxrwxrwt, pero ¿hay otros lugares por defecto donde cualquier usuario puede escribir?

anumi
fuente
/var/tmp, para uno.
muru

Respuestas:

16

Ejecutando una verificación en mis listas de sistema:

$ sudo find / -xdev -type d \( \( -user nobody -o -group nogroup \) -o -perm -777 \)
/tmp
/tmp/.X11-unix
/tmp/.ICE-unix
/var/tmp
/var/metrics
/var/spool/samba
/var/crash

De estos, imagino /tmp, /var/tmpy /var/crashestar presente en todas las instalaciones de Ubuntu, ya que están enumerados en el Estándar de Jerarquía del Sistema de Archivos . Los dos directorios dentro /tmpson, creo, directorios basados ​​en sesiones, por lo que pueden ignorarse. No creo /var/spool/sambaque esté presente en un nuevo sistema Ubuntu, que se va /var/metrics. No estoy seguro de para qué sirve ese directorio.

Una nota sobre el findcomando:

  • -xdevexcluye otros sistemas de archivos (para que pueda saltar /proc, /sysmi directorio personal, etc.)
  • -type d restringe la verificación a los directorios
  • \( -user nobody -o -group nogroup \)- o el propietario debería ser nobody, o el groupdebería ser nogroup. Usamos los corchetes para agrupar esta condición, y verificamos la otra posibilidad, que
  • -perm -777- todos tienen todos los permisos, nuevamente unidos usando un OR ( -o). En lugar de -perm -777, uno simplemente podría usar -perm -2como sugiere Random832, para verificar el permiso de escritura a otros.
muru
fuente
Realmente me gustaría tener algunas ideas sobre cómo se forma el comando find;)
heemayl
3
@heemayl Agregué una explicación del findcomando que usé.
muru
1
¿No debería ser -perm -002? De esa manera, no verifica que todos tengan todos los permisos, solo permisos de escritura mundial
Random832
@ Random832 -perm -2agregó uno más a la lista /var/lib/php5, que tiene el modo bastante sorprendente rwx-wx-wt. ¡Buena atrapada!
muru
1
@muru IIRC esto significa que cualquiera puede crear archivos en el directorio y puede abrir archivos que sabe que existen, pero no puede enumerar los contenidos.
Random832