Según mi experiencia, el usuario no privilegiado no puede acceder al socket Unix que no posee sin el conjunto de bits x. ¿Qué hace este bit exactamente? Gracias
linux
permissions
unix-sockets
Владимир Тюхтин
fuente
fuente
0644
significa simplemente leer el permiso para los miembros del grupo y "otros", para que solo el propietario pueda acceder al socket (ya que el permiso de escritura lo controla).0666
, o simplemente0222
porque no se necesita permiso de lectura, sería suficiente para dar acceso a todos. Pero, en lugar de otorgar permisos a todos, buscaría usar grupos para permitir el acceso.Respuestas:
Nada, como puedo ver.
El Linux página del manual de Unix (7) afirma que los permisos del directorio que contiene una toma aplican normalmente (es decir, que necesita
+x
de/foo
conectarse a/foo/sock
, y+w
en/foo
la creación/foo/sock
) y que escribir controles de permisos de conexión a la toma de sí mismo:Aparentemente, algunos otros sistemas se comportan de manera diferente:
unix(4)
en FreeBSD describe requisitos similares. La página de manual de Linux no dijo si el acceso a socket en algunos sistemas también ignora los permisos de directorio .Eliminar el
x
bit del socket parece tener el efecto de dar un error diferente al intentar ejecutar el socket, pero esa no es una gran diferencia práctica:(También probé que, de hecho, solo
w
parece importar el bit para acceder al socket en Debian Linux 4.9.0).¿Quizás los sockets que quisiste decir tenían todos los bits de permiso eliminados del usuario, o quisiste decir el
x
bit en el directorio?fuente