Debian

不需要的自動啟動 tmpfs 和 lib/systemd/systemd –user 程序用於未登錄使用者

  • July 9, 2021

Debian 11 Bullseye pc,systemd,無顯示管理器,startx用於啟動 X,多使用者。

當我使用使用者登錄時,假設 auser-UID 1000,我在程序列表中看到:

USER     PID %CPU %MEM    VSZ   RSS TTY     STAT START   TIME COMMAND
foo      550  0.0  0.1  15280  8928 ?       Ss   16:18   0:00 /lib/systemd/systemd --user
foo      554  0.0  0.0 166520  2732 ?       S    16:18   0:00 (sd-pam)
auser    657  0.0  0.1  15280  8928 ?       Ss   16:18   0:00 /lib/systemd/systemd --user
auser    658  0.0  0.0 166520  2732 ?       S    16:18   0:00 (sd-pam)

顯然它們與這些掛載(foo-UID 1001)有關:

裁剪mount命令結果:

tmpfs on /run/user/1001 type tmpfs (rw,nosuid,nodev,relatime,size=791080k,nr_inodes=197770,mode=700,uid=1001,gid=1001)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=791080k,nr_inodes=197770,mode=700,uid=1000,gid=1000)

那是在啟動 X 之前,很少有程序,據我所知,沒有任何foo未登錄的程序會自動啟動。

我怎樣才能找到啟動這兩個foo過程的原因?它在啟動時自動發生,日誌中有一個條目:

systemd[542]: pam_unix(systemd-user:session): session opened for user foo(uid=1001) by (uid=0)

系統上還有其他本地使用者,但沒有為他們自動啟動 tmpfs。

我找到了:

sudo loginctl disable-linger foo

顯然在搜尋我在該使用者上啟用了 linger 的其他東西,它正是這樣做的,在啟動時啟動 systemd 使用者實例而不是登錄。

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