Tmp

防止 /tmp 中的目錄被刪除

  • April 7, 2019

我經常使用/tmp我的 Linux 機器上的目錄來儲存臨時文件(例如,來自希望我先下載它的站點的 PDF 等),並且我經常使用我的使用者名創建一個目錄。但是在每次啟動時,它(包括所有文件)都會被刪除。現在我知道我可以把它放進去/var/tmp,但我想刪除它的所有內容,但要保留目錄本身。所以:

tmp
|- me # this should stay
|  |- foo1 # this should be deleted...
|  |- bar1 # ...and this as well
|- other stuff...

有沒有辦法做到這一點?也許有權限或特殊配置?

一種解決方案是使用@rebootcron 作業:

@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適當的設置。

引用自:https://unix.stackexchange.com/questions/511029