userdel: user xxx is currently used by process xxx 已解決

第一種方法:

說明有進程正在使用這個用戶(就是以該用戶的身份運行), 把對應的進程殺了再刪:

ps -u username | awk '{print $1}' | grep -vi pid | xargs kill -9 && deluser username

另一種方法 :

userdel -r -f XXXname 加參數-f暴力刪除成功

原因:

utmp是一個文件,除了utmp程序你不能編輯這個文件,刪掉他的話,當前登陸信息都會丟失。這個文件在每次機器reboot起來後都會重新創建。

知識延展:

/var/run/utmp

該日誌文件記錄有關當前登錄的每個用戶的信息。因此這個文件會隨着用戶登錄和註銷系統而不斷變化,它只保留當時聯機的用戶記錄,不會爲用戶保留永久的記錄。系統中需要查詢當前用戶狀態的程序,如 who、w、users、finger等就需要訪問這個文件。該日誌文件並不能包括所有精確的信息,因爲某些突發錯誤會終止用戶登錄會話,而系統沒有及時更新 utmp記錄,因此該日誌文件的記錄不是百分之百值得信賴的。

(/var/log/wtmp、/var/log/utmp、/var/log/lastlog)是日誌子系統的關鍵文件,都記錄了用戶登錄的情況。這些文件的所有記錄都包含了時間戳。這些文件是按二進制保存的,故不能用less、cat之類的命令直接查看這些文件,而是需要使用相關命令通過這些文件而查看。其中,utmp和wtmp文件的數據結構是一樣的,而lastlog文件則使用另外的數據結構,關於它們的具體的數據結構可以使用man命令查詢。

每次有一個用戶登錄時,login程序在文件lastlog中查看用戶的UID。如果存在,則把用戶上次登錄、註銷時間和主機名寫到標準輸出中,然後login程序在lastlog中記錄新的登錄時間,打開utmp文件並插入用戶的utmp記錄。該記錄一直用到用戶登錄退出時刪除。utmp文件被各種命令使用,包括who、w、users和finger。

下一步,login程序打開文件wtmp附加用戶的utmp記錄。當用戶登錄退出時,具有更新時間戳的同一utmp記錄附加到文件中。wtmp文件被程序last使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章