Debo comenzar diciendo que me considero un usuario competente. Pero hoy tuve la necesidad de automatizar esto y quedé perplejo.Cómo saber si un usuario dado tiene permisos de lectura y/o escritura para una ruta determinada
Supongamos que soy root, y como tal soy capaz de recorrer todo el sistema de archivos pero no puedo ejecutar "sudo" ni "su".
Tengo un usuario determinado y una ruta determinada.
¿Cómo puedo verificar, a través de la CLI, si el usuario podrá leer y/o escribir en la ruta?
Sé que esto suena fácil, pero tenga en cuenta que:
- No estamos ni podemos llegar a ser, al usuario.
- No podemos simplemente confiar en los permisos de directorio final, ya que los permisos más arriba en la ruta pueden estar bloqueando el acceso al directorio final.
- No podemos confiar solamente en los permisos del grupo de directorios, en esta era de grupos heredados.
Supongo que esto no se puede hacer con ningún comando, y primero tendría que reunir todos los grupos de usuarios, recorrer toda la jerarquía de la ruta, verificar los permisos de lectura a lo largo de la ruta y luego lea & escriba para el directorio final. Suena terriblemente caro, sin embargo.
Sus suposiciones parecen válidas desde aquí. No olvide ejecutar permisos para el directorio. – Piskvor
No veo por qué no debería poder 'su' – hop
hop: Cualquiera que sea el motivo, esa es la afirmación del problema. "No se puede usar x" no se puede responder con "luego usar x". Este problema en la vida real se produce si desea que el usuario sepa si el recurso compartido que está creando no sería legible para los usuarios a los que le da acceso. Por ejemplo, al crear una carpeta compartida accesible para invitados (cuyo usuario detrás de escena es, realmente, "nadie") que los invitados no podrán leer ni escribir. – Eduo