標籤:io 使用 ar for 檔案 資料 sp log on
USERDEL(8) 系統管理命令 USERDEL(8)
名稱
userdel - 刪除使用者賬戶和相關檔案
大綱
userdel [選項] 登入
描述
userdel is a low level utility for removing users. On Debian, administrators should usually use deluser(8) instead.
userdel 修改系統賬戶檔案,刪除與使用者名稱 LOGIN 相關的所以項目。給出的使用者名稱必須存在。
選項
userdel 可以使用的選項有:
-f, --force
此選項強制移除使用者賬戶,甚至使用者仍然在登入狀態。它也強制 userdel
刪除使用者的主目錄和郵箱,即使其它使用者也使用同一個主目錄或郵箱不屬於指定的使用者。如果 /etc/login.defs 中的 USERGROUPS_ENAB 定義為
yes,並且如果有一個和使用者同名的組,也會刪除此組,即使它仍然是別的使用者的主組。
注意:此選項危險,可能會破壞系統的穩定性。
-h, --help
現實協助資訊並退出。
-r, --remove
使用者主目錄中的檔案將隨使用者主目錄和使用者郵箱一起刪除。在其它檔案系統中的檔案必須手動搜尋並刪除。
郵箱在 login.defs 檔案中的 MAIL_DIR 變數中定義。
-R, --rootCHROOT_DIR
Apply changes in the CHROOT_DIR directory and use the configuration files from the CHROOT_DIR directory.
-Z, --selinux-user
移除使用者登入的所有 SELinux 使用者映射。
設定檔
在 /etc/login.defs 中有如下組態變數,可以用來更改此工具的行為:
MAIL_DIR (string)
郵箱目錄。修改或刪除使用者賬戶時需要處理郵箱,如果沒有指定,將使用編譯時間指定的預設值。
MAIL_FILE (string)
定義使用者郵箱檔案的位置(相對於主目錄)。
MAIL_DIR and MAIL_FILE 變數由 useradd,usermod 和 userdel 用於建立、移動或刪除使用者郵箱。
MAX_MEMBERS_PER_GROUP (number)
每個組條目的最大成員數。達到最大值時,在 /etc/group 開始一個新條目(行)(使用同樣的名稱,同樣的密碼,同樣的 GID)。
預設值是 0,意味著組中的成員數沒有限制。
此功能(分割組)允許限制組檔案中的行長度。這對於確保 NIS 組的行比長於 1024 字元。
如果要強制這個限制,可以使用 25。
注意:分割組可能不受所有工具的支援(甚至在 Shadow 工具集中)。您不應該使用這個變數,除非真的需要。
USERDEL_CMD (string)
如果定義了,這是刪除賬戶時執行的命令。它應該移除所有屬於此使用者的的 at/cron/print 等作業(作為第一個參數傳遞)。
這個指令碼的傳回值並不被帶到賬戶中去。
這是一個樣本指令碼,它移除使用者的 cron、at 和 print 作業:
#! /bin/sh
# 檢查需要的參數
if [ $# != 1 ]; then
echo "Usage: $0 username"
exit 1
fi
# 移除 cron 作業
crontab -r -u $1
# 移除 at 作業
# 注意這將移除所有屬於同一個 UID 的作業
# 即使此 ID 由多個使用者名稱共用
AT_SPOOL_DIR=/var/spool/cron/atjobs
find $AT_SPOOL_DIR -name "[^.]*" -type f -user $1 -delete \;
# 移除 print 作業
lprm $1
# 全部完成
exit 0
USERGROUPS_ENAB (boolean)
如果設定為 yes,如果組中沒有成員了,userdel 將移除此使用者組,useradd 建立使用者時,也會建立一個同名的預設組。
檔案
/etc/group
組賬戶資訊。
/etc/login.defs
Shadow 密碼套件配置。
/etc/passwd
使用者賬戶資訊。
/etc/shadow
安全使用者賬戶資訊。
退出值
userdel 命令使用如下值退出:
0
成功
1
無法更新密碼檔案
2
無效的命令文法
6
指定的使用者不存在
8
使用者已經登入
10
無法更新群組檔案
12
無法刪除主目錄
CAVEATS
如果某賬戶有正在啟動並執行進程,userdel 不會允許此賬戶。此時,您可能必須要殺死那寫進程或者鎖定使用者的密碼和賬戶,並稍後再刪除賬戶。-f
選項可以強制此刪除賬戶。
您應該手動檢查所以檔案系統,以確保沒有遺留此使用者的檔案。
您不能在 NIS 用戶端上移除任何 NIS 屬性。這必須在 Server for NIS上執行。
如果在 /etc/login.defs 中 USERGROUPS_ENAB 設定為 yes, userdel 將刪除同名組。為了避免損壞 passwd 和 group 資料庫,userdel
將會檢查這個主是否被別的使用者用作主組,如果有,將只發出警告並不刪除此組。-f 選項可以強制移除此組。
參見
chfn(1), chsh(1), passwd(1), login.defs(5), gpasswd(8), groupadd(8), groupdel(8), groupmod(8), useradd(8), usermod(8).
Linux -- userdel