专栏首页C/C++基础Linux 命令(128)—— useradd 命令

Linux 命令(128)—— useradd 命令

1.命令简介

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

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

2.命令格式

useradd [options] LOGIN
useradd -D
useradd -D [options]

3.选项说明

-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

4.常用示例

(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

参考文献

[1] useradd(8) manual [2] 博客园.Linux命令之useradd

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Shell反引号、$()和${}的区别

    反引号和$()的作用相同,用于命令替换(command substitution),即完成引用的命令的执行,将其结果替换出来,与变量替换差不多。比如:

    Dabelv
  • Shell特殊字符

    shell既是类Unix操作系统的命令解析器,用于解释执行用户输入的一连串命令,它类似于DOS下的command和后来Windows的cmd.exe。同时she...

    Dabelv
  • C++IO流简介

    输入输出(IO)是指计算机同任何外部设备之间的数据传递。常见的输入输出设备有文件、键盘、打印机、屏幕等。数据可以按记录(或称数据块)的方式传递,也可以 流的方式...

    Dabelv
  • 垂直社区产品如何集合相同属性的用户【社区类APP探讨①】

    基于所在的项目腾讯手游宝是一个游戏社区产品,为了能够给日常的设计工作带来一些灵感和启发,从11月初起,我每周以不同的主题对目前的一些社区类产品进行了一些分析和思...

    腾讯大讲堂
  • Java创建父级文件夹

    試毅-思伟
  • 放yy直播点赞动画

    最近在做直播相关的东西,这个动画是IOS先撸出来的,后来android这边要模仿,大部分直播应用都有很炫酷的点赞动画,所以也没什么好稀奇的。如果有现成的轮子了,...

    xiangzhihong
  • 高级软件工程师 2016-9月更新

    高级软件工程师 下面的面试题不分语言,适用于所有编程语言,更多偏向设计。 设计一个分类功能 该功用于行政区域划分,商品分类,等等 例如中国->广东-深圳 ......

    netkiller old
  • 这可能是全球发展最快的移动互联网公司

    当下移动互联网发展有两个趋势:一是下乡,二是出海。很多巨头也早已将目标投向这两个市场开始谋划新的互联网版图。

    曾响铃
  • 响铃:母婴社区进入竞争深水区,富媒体会是下一个风向标?

    围绕母婴概念相关的互联网创业已经持续多年,其势头不但不减,竞争反而趋向激烈。而在母婴行业的内部,也存在着一些风口性质的业务。例如母婴富媒体化,3月29日,知名母...

    曾响铃
  • 工厂模式

    工厂模式 目录 何为工厂模式 工厂方法与抽象工厂 如何在Java EE中通过@Producers与@Inject注解实现工厂模式 如何创建自定义注解以及通过@Q...

    Zephery

扫码关注云+社区

领取腾讯云代金券