Puede haber fallas de seguridad que resultan del uso descuidado de /tmp
Los usuarios locales malintencionados pueden borrar archivos arbitrarios o incluso ejecutar códigos arbitrarios en su cuenta de usuario, dependiendo de la gravedad del problema. /tmp
La falla es. Una solución que permanece dentro de la char sun_path[104]
límite en los enchufes de dominio de unix (ver /usr/include/sys/un.h
para la definición) es crear un directorio temporal y utilizarlo para el MPI:
$ mktemp -d /tmp/mpi-XXXXXXXX
/tmp/mpi-zUN9SQo6
lo que deja 86 caracteres para el archivo de socorro a utilizar (104 menos uno para el seguimiento NUL
menos 17).
Dependiendo de dónde y cuándo se establezca TMPDIR
otros programas podrían ser fácilmente desbaratados, en particular tmux
o screen
que entonces puede no ser capaz de localizar su enchufe de control. Si es posible, se debe ampliar la costumbre TMPDIR
estableciendo lo más cerca posible de las llamadas MPI, por ejemplo, con una función de shell o un alias a lo largo de las líneas de
alias mpi4py='TMPDIR=$(mktemp -d /tmp/mpi-XXXXXXXX) mpi4py'
Esto crearía un directorio temporal único para cada invocación; los directorios en /tmp
se podan automáticamente. Si se necesita un directorio compartido o más persistente /var/tmp
es típicamente más adecuado
$ mkdir /var/tmp/mympi
y asegúrese de confirmar que el directorio no existía ya en el caso de que un atacante local demasiado inteligente ya haya creado ese directorio (improbable, pero esta es la razón por la que mktemp -d
fue creado). Entonces, en tu perfil de la concha el alias podría parecerse a algo como
alias mpi4py='TMPDIR=/var/tmp/mympi mpi4py'
Esta forma es de nuevo más adecuada si hay un estado compartido necesario entre diferentes invocaciones de comandos MPI.