Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5848
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2020-08-06 21:08
文章分类

全部博文(3)

文章存档

2022年(1)

2021年(2)

我的朋友
最近访客

分类: LINUX

2021-05-04 22:40:31

useradd [选项] 登录名

useradd命令行上可以指定参数值,同时useradd存在两个默认配置文件/etc/default/useradd和/etc/login.defs,里面存在useradd创建新用户时的默认操作。useradd在创建新用户时,会更新以下文件:/etc/passwd,/etc/shadow,/etc/group,/etc/gshadow,最后还存在一个隐性的文件/etc/skel:骨架目录。


一、配置文件/etc/default/useradd:

GROUP                       在/etc/login.defs文件USERGROUPS_ENAB字段为no时生效,非常有意思
HOME                        用于创建新用户主目录位置。同时/etc/login.defs文件CREATE_HOME字段对其控制
INACTIVE            active活跃,该字段表示账户过期停权? -1表示永不过期,不启用
EXPIRE             expire到期,表示密码到期天数,比如今天到期,但是EXPIRE=1,那么明天还可以再使用一天
SHELL            新用户使用的shell
CREATE_MAIL_SPOOL         是否使用邮箱,/etc/login.defs文件MIAL_DIR就是邮箱目录
SEKL           该字段时新用户的骨架目录,如同Windows新建用户,C盘Users目录用户文件夹下包含的隐藏文件,应该是用户环境,在每创建一个                                            新用户时,都会将该字段拷贝一份到新用户的主目录下,如果没有这些隐藏文件,则用户无法使用

 

举一个简单的例子一步到位:

修改/etc/default/useradd文件HOME字段,那么以后使用useradd命令创建用户,都会影响主目录位置

用户xie主目录从/home转到/opt目录下,shell从/bin/bash转成了/sbin/nologin



二、配置文件/etc/login.defs

/etc/login.defs文件UID_MIN  、 UID_MAX 、 GID_MIN 、 GID_MAX 分别表示useradd新建用户UID、GID最小和最大的分配范围
SYS_UID_MIN  、SYS_UID_MAX  、 SYS_GID_MIN 、 SYS_GID_MAX 时系统用户的分配范围,useradd使用-r,--system参数创建系统用户


CREATE_HOME是否生成用户主目录(家目录),yes生成,useradd会再次读取/etc/default/useradd文件HOME字段,然后在该字段后路径创建用户的家目录,no,则不会创建家目录


USERGROUPS_ENAB字段,在useradd未使用-g,--gid参数时,该字段值为yes,则useradd创建gid与登录名相同的用户组;no,useradd则会再次读取/etc/default/useradd文件GROUP字段,使用gid为100的组

useradd未使用--gid指定新用户GID,这时候/etc/login.defs文件USERGROUPS_ENAB no,则useradd启用/etc/default/useradd中GROUP字段创建一个gid为100的新用户


/etc/login.defs文件
MAIL_DIR 字段规定新建用户的邮箱路径,如果/etc/default/useradd(规定是否创建邮箱)文件CREATE_MAIL_SPOOL值为yes,则useradd在/var/spool/mail创建用户邮箱

/etc/login.defs最后一个UMASK   077 表示设置掩码,该值与默认权限有关。



三、useradd常用参数结合两个配置文件(所有的参数都优先于配置文件,参数指定了,则配置文件该项目就失效了)

-e, --expiredate          新账户到期停权日期

-f, --inactive            新账户密码到期后,账户彻底被禁用的天数

这两个参数完美配合/etc/default/useradd文件EXPIRE  、 INACTIVE 字段,-e到期日期格式YYYY-MM-DD,2021-04-30(useradd -e 2021-04-30 tel)。如果没有指定-e参数,则useradd使用/etc/default/useradd文件EXPIRE字段值表示到期时间,同样useradd没有指定--inactive参数,则使用/etc/default/useradd文件INACTIVE字段值表示。


 /etc/login.defs文件这四个参数可以对-e和--inactive的补充

PASS_MAX_DAYS                                                        密码最大使用天数
PASS_MIN_DAYS                                                          两次修改密码最小的时间间隔
PASS_MIN_LEN                                                            密码的长度
PASS_WARN_AGE                                                        距离密码到期日提前几天提醒用户,与--inactive密码之后的有效天数,处于两极

命令passwd可以对用户这几个参数进行修改,但是不是修改/etc/login.defs文件里的这几个参数

-e, --expire 参数对应 Password expire, 利用useradd命令可修改
-f, --inactive 参数对应Password inactive 既可以使用passwd --inactive选项修改, 也可以使用useradd --inactive选项修改
PASS_MAX_DAYS  对应  Maximum number of days ....
PASS_MIN_DAYS  对应    Minimum number of days....
PASS_WARN_AGE   对应  Number of days of warning before .....
--maximum间接把expire值给修改

-d,--home-dir      指定新用户的主目录(未指定-d参数,login.defs文件默认允许创建CREATE_HOME  yes,则/etc/default/useradd文件HOME=/home创建主目录)

 -d选项指定新用户家目录位置,如果再次修改新用户家目录一定要使用-m和-d两个参数移动家目录,仅仅usermod -d选项会导致tel2无法找到家目录


-g,--gid          新建用户的主要组(该组一定是事先存在的组)

-G,--groups        新建用户的附加组

-u, --uid          指定用户的uid(该uid一定是事先不存在的,因为uid在linux系统中唯一标识,操作的是uid,其次才是uid对应的登录名)


-k,--skel        指定新建用户的骨架目录。技术厉害的完全可以通过--skel参数配置个性化的新用户环境

-s,--shell        指定用户登录的shell,默认/etc/default/useradd设置登录的shell为/bin/bash

-r,--system        useradd --system创建系统用户,系统用户的uid、gid不同于普通用户,/etc/login.defs文件SYS_UID_MIN等等字段设置,需要配合-m选项创建家目录,如果你需要


-U,--user-group      创建与用户名相同的组

-N,--no-user-group    不创建同名的组



END

阅读(786) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:进程管理--ps、top

给主人留下些什么吧!~~