首页 > 技术文章 > Linux用户和组管理命令-用户创建useradd

bpzblog 2020-07-12 21:45 原文

用户管理命令

  • useradd
  • usermod
  • userdel
    组帐号维护命令
  • groupadd
  • groupmod
  • groupdel

用户创建

useradd 命令可以创建新的Linux用户

格式:

useradd [options] LOGIN

常见选项:

-u UID
-o 配合-u 选项,不检查UID的唯一性
-g GID 指明用户所属基本组,可为组名,也可以GID
-c "COMMENT“ 用户的注释信息
-d HOME_DIR 以指定的路径(不存在)为家目录
-s SHELL 指明用户的默认shell程序,可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...] 为用户指明附加组,组须事先存在
-N 不创建私用组做主组,使用users组做主组
-r 创建系统用户 CentOS 6之前: ID<500,CentOS 7以后: ID<1000
-m 创建家目录,用于系统用户
-M 不创建家目录,用于非系统用户

使用useradd创建用户时,如果不指定参数,系统会自动创建和用户名相同的用户组,并将其设定为创建用户的主组,同时创建同名家目录。

范例:

  • 使用-r选项,创建系统用户,给系统和应用程序用的,既不会创建家目录也不会创建对应的其他乱七八糟的东西,比如邮件目录。
  • 使用-u选项,指定用户ID,可以保证多个主机上同名用户ID相同,方便写脚本
  • 使用-g选项,指定主组
  • 使用-G选项,指定一个或多个夫家族
  • 使用-s选项,指定shell,/sbin/nologin 禁止登录
  • 使用-d选项,指定一个与众不同的家目录,不加则自动生成同名家目录
  • 使用-c选项,指定用户添加的注释,方便查看,体现再/etc/passwd中的某个字段
[22:44:25 root@C8[ ~]#useradd -r -u 211 -G mail -s /sbin/nologin -d /var/www -c "Apahce211" apahce
[22:45:16 root@C8[ ~]#cat /etc/passwd | grep apache
apache:x:988:984:Apache Httpd:/var/www:/sbin/nologin
[22:45:38 root@C8[ ~]#cat /etc/passwd | grep apahce
apahce:x:211:211:Apahce211:/var/www:/sbin/nologin

1用户名:2密码(x):3UID:4GID:5描述:6家目录:7用户Shell类型

useradd默认值定义

useradd 命令默认值设定由/etc/default/useradd定义
当我们用useradd不加任何选项进行用户添加时,生成的用户属性有哪些默认值

[root@centos8 ~]#cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1 #对应/etc/shadow文件第7列,即用户密码过期的宽限期,默认值-1为不限制
EXPIRE= #对应/etc/shadow文件第8列,即用户帐号的有效期,默认值为空即为永久有效
SHELL=/bin/bash
SKEL=/etc/skel #新建账号的模板文件夹
CREATE_MAIL_SPOOL=yes #是否默认创建邮箱,如果是yes则在/var/spool/mail中创建

显示或更改默认设置

useradd -D
useradd –D -s SHELL
useradd –D –b BASE_DIR
useradd –D –g GROUP

新建用户的相关文件

  • /etc/default/useradd ##用户创建时默认配置
  • /etc/skel/* ##用户创建家目录模板文件
  • /etc/login.defs ##用户登录策略

批量创建用户

newusers passwd 格式文件
格式文件的文件格式和/etc/passwd的格式相同

test211:x:1000:1000::/home/test211:/bin/bash
test985:x:1001:1001::/home/test985:/bin/bash

批量修改用户口令

echo username:passwd | chpasswd

推荐阅读