• linux基础命令--userdel 删除用户帐户和相关文件


    描述

    • userdel命令用于删除用户帐户和相关文件
    • userdel命令修改系统账户文件,删除所有涉及用户的信息,指定的用户(LOGIN)必须存在。

    语法

    • userdel [options] LOGIN

    选项列表

    选项(常用的已加粗) 说明
    -f, --force

    强制删除用户账户,即使用户处于登录状态。它强制删除用户家目录和邮件池(一般在/var/spool/mail/目录下),即使其他用户家目录和指定的用户家目录同名或指定的用户没有邮件池

    如果在/etc/login.defs中将USERGROUPS_ENAB定义为yes,并且存在与删除的用户同名的组,那么这个组也会被删除,即使它是另一个用户的主组。

    注意:该选项很危险,可能会导致系统处于不一致的情况,谨慎使用。

    -r, --remove

    删除用户的家目录和邮件池(文件),包括它们自身。必须搜索和手动删除其他文件系统下的相关文件

    -R, --root CHROOT_DIR 指定在CHROOT_DIR(改变后的根目录)下更改生效以及使用CHROOT_DIR目录下的配置文件
    -Z, --selinux-user 删除用户登录的任何SELinux用户映射

    说明

    • 应该先手动检查所有的文件系统,确保没有任何文件仍然属于该用户。
    • 不能删除NIS客户端上的任何NIS属性,这必须在NIS服务器上执行。
    • 如果正在运行属于该账户的进程,userdel将不会允许删除该账户;此时,你需要先kill该进程或锁定用户的口令(或账户),然后再删除账户;当前也可以使用-f选项强制删除。
    • 如果/etc/login.defs的USERGROUPS_ENAB设置为yes, userdel将删除与用户同名的组。为了避免口令和组数据库中的不一致,userdel会检查该组不会作为另一个用户的主组,否则只会警告而不会删除组。-f选项可以强制删除该组

    实例

    • 分别使用-f和-r选项测试删除共享的主组。

    [root@pople ~]# ls -la /home/test/ /var/mail/test /var/spool/mail/test 
    -rw-rw---- 1 test mail  0 Apr 10 13:05 /var/mail/test
    -rw-rw---- 1 test mail  0 Apr 10 13:05 /var/spool/mail/test
    
    /home/test/:
    total 16
    drwx------  2 test test  83 Apr 10 18:53 .
    drwxr-xr-x. 5 root root  41 Apr 10 13:05 ..
    -rw-------  1 test test  41 Apr 10 18:53 .bash_history
    -rw-r--r--  1 test test  18 Oct 31 01:07 .bash_logout
    -rw-r--r--  1 test test 193 Oct 31 01:07 .bash_profile
    -rw-r--r--  1 test test 231 Oct 31 01:07 .bashrc
    [root@pople ~]# useradd -g test test_userdel                                    # 添加一个新用户,设置它的初始主组为用户test的主组
    [root@pople ~]# id test && id test_userdel                       # 共享一个用户组:test
    uid=1002(test) gid=1002(test) groups=1002(test)
    uid=1003(test_userdel) gid=1002(test) groups=1002(test)
    [root@pople ~]# userdel -r test                              # 删除用户test,提示不能删除组test,因为该组也是另一个用户的主组,但除用户组之外的信息都已经删除了。
    userdel: group test is the primary group of another user and is not removed.
    [root@pople ~]# tail -2 /etc/passwd && tail -2 /etc/group               # 可以发现test组还存在,用户test已删除。
    tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    test_userdel:x:1003:1002::/home/test_userdel:/bin/bash
    tss:x:59:
    test:x:1002:
    [root@pople ~]# useradd -g test test                           # 恢复用户test,进行下一步测试。
    [root@pople ~]# id test && id test_userdel                               # 对比两用户信息。
    uid=1004(test) gid=1002(test) groups=1002(test)
    uid=1003(test_userdel) gid=1002(test) groups=1002(test)
    [root@pople ~]# userdel -f test                                        # 可以看到跟使用-r选项不同的是使用-f选项没有报任何异常,强制性删除。
    [root@pople ~]# tail -2 /etc/passwd && tail -2 /etc/group              # 所有有关用户test的信息已删除,包括其主组,即使该组是另一个用户的主组。
    tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
    test_userdel:x:1003:1002::/home/test_userdel:/bin/bash
    stapdev:x:158:
    tss:x:59:
    [root@pople ~]# id test_userdel                              # 可以发现/etc/group文件里已经没有组test文件的信息,用户test_userdel的gid是不存在的,无效的。
    uid=1003(test_userdel) gid=1002 groups=1002
    [root@pople ~]# su - test_userdel
    /usr/bin/id: cannot find name for group ID 1002                                 # 切换到该用户下提示没有找到用户的gid对应的组名
    [test_userdel@pople ~]$ touch a.txt                                             # 但是依旧能创建一个文件,不过文件的属组是不存在的。
    [test_userdel@pople ~]$ ls -l a.txt 
    -rw-r--r-- 1 test_userdel 1002 0 Apr 15 15:36 a.txt
    

    总结:删除一个用户账户,应该确保没有任何文件仍然属于该账户,而且应谨慎使用-f选项,手动检查用户组不被其他用户当作主组来使用,否则会导致组信息异常。

  • 相关阅读:
    & 【04】 Spring中Xml属性配置的解析过程
    设计模式之模板方法设计模式
    MySQL高性能索引创建策略
    oracle用户创建及权限设置
    【已解决】关于SQL2008 “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了‘阻止保存要求重新创建表的更改’” 解决方案
    ObjectStateManager 不包含具有对“Model”类型的对象的引用的 ObjectStateEntry
    【推荐活动】脚本娃娃同城会——上海站(20130112)
    【原创】对于访问IIS元数据库失败的解决(续)
    【原创】win7 plsql里查询出来的中文信息,复制粘贴的时候出现乱码(以前从没遇到过,第一次啊)
    oracle删除用户命令和部分命令
  • 原文地址:https://www.cnblogs.com/yuelaoban/p/10710798.html
Copyright © 2020-2023  润新知