Socket Unix
Un socket de dominio UNIX (UDS) o socket IPC (socket de comunicación interprocesos) es un socket virtual, similar a un socket de Internet que se utiliza en los…
Un socket de dominio UNIX (UDS) o socket IPC (socket de comunicación interprocesos) es un socket virtual, similar a un socket de Internet que se utiliza en los sistemas operativos POSIX para comunicación entre procesos. Estas conexiones aparecen como flujos de bytes, al igual que las conexiones de red, pero todos los datos se mantienen dentro de la computadora local.
Los Sockets de dominio UNIX utilizan el sistema de archivos como su dirección de espacio de nombres, es decir, son vistos por los procesos como archivos de un sistema de archivos. Esto permite que dos procesos distintos referencien y abran el mismo socket con el fin de comunicarse. Sin embargo, la comunicación real (el intercambio de datos) no utiliza el sistema de ficheros, sino buffers de memoria del núcleo.
Además del envío de datos, los procesos pueden enviar descriptores de archivos a una conexión de socket de dominio UNIX mediante las llamadas del sistema sendmsg() y recvmsg(). Esto permite que los procesos de envío concedan al proceso de recepción acceso a un descriptor de archivo para el cual el proceso de recepción no tiene acceso.[1] Esto puede ser utilizado para implementar un formulario rudimentario de seguridad basada en capacidades.[2] Por ejemplo, esto le permite al analizador del antivirus ClamAV ejecutar un demonio sin privilegios en Linux o BSD, aunque puede enviar cualquier archivo al socket del demonio.
Un ejemplo simple para crear un socket es cuando se desea multiplexar conexiones SSH por una sola conexión TCP:
nano ~/.ssh/config
Host *
ControlMaster auto
ControlPath ~/.ssh/multiplex/%r@%h:%p
ControlPersist 1
La directiva “ControlMaster” debe establecerse a “auto” para activar el multiplexado siempre y cuando sea posible. La directiva “ControlPath” establecerá el camino del socket de control. La primera sesión establecida creará dicho socket y las sesiones subsecuentes serán capaces de encontrarlo ya que está etiquetado por nombre de usuario, host y puerto.
Al establecer la directiva “ControlPersist” a “1” permitirá que la conexión inicial esté en segundo plano. El número 1, indica que la conexión TCP debe terminar automáticamente un segundo después que la conexión SSH es cerrada.
Referencias
- ↑ «Archive of the "Postfix Discussions" mailing list». 30 de septiembre de 2000. Archivado desde el original el 18 de mayo de 2013. Consultado el 29 de septiembre de 2014.
- ↑ «"Secure Programming for Linux and Unix HOWTO", Section 3.4 "Sockets and Network Connections"». dwheeler.com. David A. Wheeler. 22 de agosto de 2004. Consultado el 29 de septiembre de 2014.
Enlaces externos
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.