Linux -- userdel
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 屬性。這必須在 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).
轉載于:https://www.cnblogs.com/IceSword-syy/p/3952514.html
總結
以上是生活随笔為你收集整理的Linux -- userdel的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UVa - 12617 - How La
- 下一篇: f90关系运算符