为每个用户创build一个tmp目录

我偶然发现这个网页: http : //www.wlug.org.nz/PerUserTempDirs

build议创build/replace一些脚本; 最后一步更令人困惑:

现在,一旦你有了,调用下面的脚本,而不是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 "$@" 

由于用户用sshlogin,我认为/ bin / login永远不会执行。 我应该修改哪些脚本以便能够为用户重新安装/ tmp?

pam_mktemp的问题是,硬编码/tmp有很多软件,并且不符合TMPDIRvariables。

正如Gentoo开发人员在博客文章中所解释的,最近内核中的“命名空间”function可以用于此目的。

更好的方法是使用pam_mktemp 。 这将在用户通过任何pam服务login时在/ tmp下创build一个per-user目录,并更新TMP和TMPDIR以使用该目录。 这确实依赖于正在编写的程序不承担/ tmp。