Mogą wystąpić wady bezpieczeństwa wynikające z nieostrożnego korzystania z/tmp ; złośliwi użytkownicy lokalni mogą być w stanie usunąć dowolne pliki lub nawet uruchomić dowolny kod na koncie użytkownika, w zależności od tego, jak /tmppoważna jest wada. Rozwiązaniem, które pozostaje w char sun_path[104] granicach gniazd domeny unix (patrz /usr/include/sys/un.hdefinicja), jest utworzenie katalogu tymczasowego i użycie go dla MPI:
$ mktemp -d /tmp/mpi-XXXXXXXX
/tmp/mpi-zUN9SQo6
co pozostawia 86 znaków do użycia przez plik gniazda (104 minus jeden dla końcowego NULminus 17).
W zależności od tego, gdzie i kiedy ustawisz, TMPDIRinne programy mogą być łatwo pomieszane, szczególnie tmuxlub screenże wtedy może nie być w stanie zlokalizować ich gniazda sterującego. Jeśli to możliwe, ustaw niestandardowe TMPDIRustawienie jak najbliżej wywołań MPI, np. Za pomocą funkcji powłoki lub aliasu wzdłuż linii
alias mpi4py='TMPDIR=$(mktemp -d /tmp/mpi-XXXXXXXX) mpi4py'
Stworzyłoby to unikalny katalog tymczasowy dla każdego wywołania; katalogi w /tmpsą przycinane automatycznie. Jeśli potrzebny /var/tmpjest współużytkowany lub bardziej trwały katalog, zwykle jest bardziej odpowiedni
$ mkdir /var/tmp/mympi
i upewnij się, że katalog jeszcze nie istniał w przypadku, gdy zbyt sprytny lokalny atakujący już utworzył ten katalog (mało prawdopodobne, ale właśnie dlatego mktemp -dzostał utworzony). Następnie w profilu powłoki alias może wyglądać mniej więcej tak
alias mpi4py='TMPDIR=/var/tmp/mympi mpi4py'
Ta forma jest ponownie bardziej odpowiednia, jeśli istnieje potrzeba współdzielenia różnych wywołań komend MPI.