创建用户流程

得意犹堪夸世俗,诏黄新湿字如鸦。这篇文章主要讲述创建用户流程相关的知识,希望能为你提供帮助。
跟用户创建相关的文件:
/etc/login.defs?
0 ? 21:31:30 root@jinnan,10.0.0.101:~ # grep -i ^[a-z] /etc/login.defs

MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
UID_MIN                   1000
UID_MAX                 60000
SYS_UID_MIN               201
SYS_UID_MAX               999
GID_MIN                   1000
GID_MAX                 60000
SYS_GID_MIN               201
SYS_GID_MAX               999
CREATE_HOME yes
UMASK           077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512

#指定创建用户时,默认邮件文件位置
MAIL_DIR /var/spool/mail
# 创建用户默认密码最大使用天数
PASS_MAX_DAYS 99999
# 创建用户默认密码最小使用天数(0代表无限)
PASS_MIN_DAYS 0
# 密码最短位数
PASS_MIN_LEN 5
# 密码过期警告
PASS_WARN_AGE 7
# 普通用户,最小UID是1000
UID_MIN 1000
# 普通用户,最大UID是60000
UID_MAX 60000
# 系统用户,最小UID是201
SYS_UID_MIN 201
# 系统用户,最大UID是999
SYS_UID_MAX 999
# 普通用户,最小GID是1000
GID_MIN 1000
# 普通用户,最大GID是60000
GID_MAX 60000
# 系统用户,最小GID是201
SYS_GID_MIN 201
# 系统用户,最大GID是999
SYS_GID_MAX 999
# 默认创建用户的家目录
CREATE_HOME yes
# UMASK 077 指定用户创建家目录的默认权限
UMASK 077
# 创建用户时,如果不用-g指定组,那么会默认创建出该用户的同名组
USERGROUPS_ENAB yes
# 用户密码的加密方式 SHA512
ENCRYPT_METHOD SHA512

## 权限了解
r:读 4
w:写 2
x:执行 1
-:没有权限 0
目录创建默认权限:0777 - umask   #:0777-0022=0755
文件创建默认权限:0666 - umask   #:0666-0022=0644

#(脚本判断)如果 当前用户UID大于199 并且 用户的用户名和用户的组名相同 那么
if [ $UID -gt 199 ] & & [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then
umask是002
umask 002
否则
else
umask是022
umask 022

【创建用户流程】0 ? 21:43:19 root@jinnan,10.0.0.101:~ # cat ?/etc/default/useradd?
# 如果login.defs文件中的USERGROUPS_ENAB yes是no,该行配置才会生效
# 如果创建用户不创建同名组,默认会将该用户加入GID为100的系统组中(users)
GROUP=100
#指定用户默认创建家目录位置
HOME=/home
#用户账户停权,-1永远不过期
INACTIVE=-1
#账号终止时间设置,不设置代表不终止
EXPIRE=
#用户默认创建登录shell
SHELL=/bin/bash
#该目录下存放的是,用户的环境变量初始配置文件
SKEL=/etc/skel
#创建用户的同时,创建该用户的邮箱文件
CREATE_MAIL_SPOOL=yes
## 用户创建的流程:
1.执行useradd 命令 + 用户名
2.查看执行命令是否有选项
3.读取/etc/login.defs文件
4.读取/etc/default/useradd文件
5.如果没有-M则创建家目录
6.根据配置文件中的 SKEL=/etc/skel 将skel下面的环境变量文件拷贝到家目录下
7.用户信息记录到/etc/passwd文件中
8.用户密码信息记录到/etc/shadow文件中
9.用户组信息记录到/etc/group文件中
10.用户组密码信息记录到/etc/gshadow文件中
?用户的密码设置?
passwd:给用户设置密码
#语法
passwd   [用户名]
注意:如果不加用户名,则修改当前登录用户的密码,只有root用户能在passwd命令后加用户名
#(root超级管理员)
#修改其他用户密码
0 ? 21:51:26 root@jinnan,10.0.0.101:~ # passwd tangli
##修改tangli用户的密码
Changing password for user tangli.
##新密码
New password:
BAD PASSWORD: The password is a palindrome
##重复新密码
Retype new password:
##所有认证令牌更新成功
passwd: all authentication tokens updated successfully.

## 免交互方式
stdin:标准输入
stdout:标准输出
stderr:错误输出

0 ? 21:51:46 root@jinnan,10.0.0.101:~ # echo 123jin |passwd --stdin tangli
Changing password for user tangli.
passwd: all authentication tokens updated successfully.
?随机密码生成?
tee:管道命令
-a:append 追加
0 ? 21:54:54 root@jinnan,10.0.0.101:~ # echo $RANDOM|tee -a
/root/tangli|passwd --stdin tangli
Changing password for user tangli.
passwd: all authentication tokens updated successfully.
0 ? 21:57:48 root@jinnan,10.0.0.101:~ # cat /root/tangli
246

    推荐阅读