Tmp
防止 /tmp 中的目錄被刪除
我經常使用
/tmp
我的 Linux 機器上的目錄來儲存臨時文件(例如,來自希望我先下載它的站點的 PDF 等),並且我經常使用我的使用者名創建一個目錄。但是在每次啟動時,它(包括所有文件)都會被刪除。現在我知道我可以把它放進去/var/tmp
,但我想刪除它的所有內容,但要保留目錄本身。所以:tmp |- me # this should stay | |- foo1 # this should be deleted... | |- bar1 # ...and this as well |- other stuff...
有沒有辦法做到這一點?也許有權限或特殊配置?
一種解決方案是使用
@reboot
cron 作業:@reboot mkdir -p "/tmp/$USER"
將此添加到您的 crontab 中,
crontab -e
可以使其在機器啟動時執行。或者,使用
mkdir -p "/tmp/$USER"
在你的 shell 的啟動文件中。
在任何一種情況下,您可能還想使用
TMPDIR=/tmp/$USER export TMPDIR
如果您想將該目錄用作預設臨時目錄,請在 shell 的啟動文件中。
我用
pam-tmpdir
這個:它在登錄時創建一個使用者私有的臨時目錄。要設置它,請添加session optional pam_tmpdir.so
到適當的 PAM 服務;在基於 Debian 的系統上,安裝
libpam-tmpdir
軟體包將為您提供此功能,或者您可以將行添加到/etc/pam.d/common-session
. 下次登錄時,您會在下面找到一個/tmp/user
帶有您的使用者 ID 的目錄,並TMP
進行TMPDIR
適當的設置。