Я наткнулся на эту страницу: http://www.wlug.org.nz/PerUserTempDirs
Предлагаем создать / заменить несколько скриптов; последний шаг более запутанный:
Теперь, когда у вас есть это на месте, вызовите следующий сценарий вместо login (1):
#!/bin/sh
mkdir -m 700 /tmp-safe/user/"$1" /tmp/"$1"
chown "$1": /tmp-safe/user/"$1" /tmp/"$1"
mount --bind /tmp-safe/user/"$1" /tmp/"$1" || exit 1
exec /bin/login "$@"
Поскольку пользователи входят в систему с помощью ssh, я «думаю», что / bin / login никогда не выполняется. Какой сценарий я должен изменить, чтобы иметь возможность повторно смонтировать / tmp для пользователя?
Лучше использовать pam_mktemp. Это создаст каталог для каждого пользователя в / tmp, когда пользователь входит в систему через любую службу pam, и обновит TMP и TMPDIR, чтобы использовать это. Это зависит от программ, написанных так, чтобы не использовать / tmp.
Проблема с pam_mktemp в том, что есть много программ с жестко запрограммированными /tmp
, и они не учитывают переменную TMPDIR.
Для этого можно использовать функцию "Пространства имен" в последних ядрах, как описано в сообщение в блоге разработчика Gentoo.