您的位置 首页 科技

每天一个 Linux 命令(88): userdel 和 useradd 命令

一、userdel userdel(user delete) 命令是系统管理员命令,用于删除用户账户和相关文件。


一、userdel

userdel(user delete) 命令是系统管理员命令,用于删除用户账户和相关文件。

其实 userdel 命令实际上是修改了系统的用户账号文件 /etc/passwd、/etc/shadow 以及 /etc/group 文件,这与 Linux 系统“一切操作皆文件”的思想正好吻合。

值得注意的是,如果有该要删除用户相关的进程正在运行,userdel 命令通常不会删除一个用户账号。如果确实必须要删除,可以先终止用户进程,然后再执行userdel命令进行删除。但是 userdel 命令也提供了一个面对该种情况的参数,即 -f 选项。

userdel [options] LOGIN

若不加选项,则仅删除用户帐号,而不删除相关文件。

-f, –force

强制删除用户,即使用户当前已登录

-h, — help

显示帮助信息并推出

-r, –remove

删除用户的同时删除与用户相关的所有文件,比如删除主目录和邮件池

-R, –root CHROOT_DIR

在 CHROOT_DIR 目录中应用更改并使用 CHROOT_DIR 目录中的配置文件

-Z, –selinux-user

为用户删除所有的 SELinux 用户映射

(1)删除用户,但不删除其家目录及文件。

userdel tom

(2)删除用户,删除主目录和邮件池。

userdel -r tom

请不要轻易用 -r 选项,它会删除用户的同时删除用户所有的文件和目录,切记如果用户目录下有重要的文件,在删除前请备份。

(3)强制删除用户。

userdel -f tom

二、useradd

useradd 是系统管理员命令,用来创建新用户或更新创建新用户时的默认信息。

如果在创建用户时没有指定密码的话,用户的默认密码是不可用的。所以 useradd 一般与 passwd 命令成对使用,在创建用户后给用户设置密码。

useradd [options] LOGIN

useradd -D

useradd -D [options]

-b, –base-dir BASE_DIR

新账户的主目录的基目录

-c, –comment COMMENT

新账户的备注信息,备注信息保存在 /etc/passwd 的备注栏中

-d, –home-dir HOME_DIR

新账户的主目录

-D, –defaults

显示或更改默认的 useradd 配置

-e, –expiredate EXPIRE_DATE

新账户的过期日期,日期格式为 YYYY-MM-DD。如果未指定,useradd 将使用在 /etc/default/useradd 中指定的到期日期 EXPIRE,或默认情况下使用空字符串(无过期)

-f, –inactive INACTIVE

指定在密码过期后多少天即关闭该账号。如果为 0 账号立即被停用;如果为 -1 则账号一直可用。默认值为 -1

-g, –gid GROUP

指定用户所属的主组。主组必须已经存在

-G, –groups GROUPS

指定用户所属的附加组,多个组使用逗号分隔

-h, — help

显示帮助信息并推出

-k, –skel SKEL_DIR

指定用户的骨架目录。与选项 -m (或 –create-home)联用,骨架目录包含要复制到用户主目录中的文件和目录

-K, –key KEY=VALUE

不使用 /etc/login.defs 中的默认值(UID_MIN、UID_MAX、UMASK、PASS_MAX_DAYS 等)

-l, –no-log-init

不要将此用户添加到最近登录和登录失败数据库

-m, –create-home

创建用户的家目录。useradd 默认会创建 home 目录,除非 /etc/login.defs 中的 CREATE_HOME 设置为no

-M, –no-create-home

不创建用户的主目录。即使 /etc/login.defs 中的 CREATE_HOME 设置为 yes

-N, –no-user-group

不创建同名的组

-o, –non-unique

允许使用重复的 UID 创建用户

-p, –password PASSWORD

设置账户密码,注意是使用 crypt(3) 加密后的用户密码,不是密码的明文。默认是用户密码不可用。推荐使用 passwd 命令给用户设置密码

-r, –system

创建一个系统账户

-R, –root CHROOT_DIR

设置根目录。在 Linux 系统中,系统默认的根目录是 /

-s, –shell SHELL

新账户的登录 Shell

-u, –uid UID

新账户的用户 ID

-U, –user-group

创建与用户同名的组,并将用户添加到此组中。为默认动作,除非 /etc/login.defs 中 USERGROUPS_ENAB 被设置为 no 或显示使用选项 -N, –no-user-group

-Z, –selinux-user SEUSER

为 SELinux 用户映射使用指定 SEUSER

(1)添加新用户。

useradd dablelv

默认在创建用户时的同时会创建一个同名的用户主组和在 /home 目录下同名的家目录,除非在配置文件 /etc/login.defs 中 USERGROUPS_ENAB 和 CREATE_HOME 被设置为 no。

(2)添加新用户时,显示指明家目录和所属的主组。

useradd -d /home/dablelvH -g root dablelv

添加用户成功后,我们可以使用 id 命令查看用户 dablelv 的用户 ID、主组和附加组。

id dablelv

uid=1000(dablelv) gid=0(root) groups=0(root)

(3)添加新用户后,并使用 passwd 给用户设置密码。

useradd dablelv

passwd dablelv

(4)添加用户,并给用户设置有效期。

useradd -e 2020-12-31 dablelv

(5)使用 useradd -D 查看创建新用户时的默认信息,或直接 cat /etc/default/useradd。

useradd -D

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

(6)修改创建新用户时的默认信息。

useradd -D -f 0

#查看是否修改成功

useradd -D | grep INACTIVE

INACTIVE=0

原文地址:

免责声明:本站旨在传递信息,不代表有传资讯的观点和立场。本站遵循行业规范,如转载您的文章未标注版权,请联系我们(QQ:78799268)改正。本站的原创文章,转载请注明出处:http://www.luijing.com/tech/163692.html

作者: admin

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

联系我们

在线咨询: QQ交谈

邮箱: email@luijing.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部