CentOS 用户管理

Posted 白菜素三鲜丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CentOS 用户管理相关的知识,希望对你有一定的参考价值。

创建用户流程

跟用户创建相关的文件:

  • /etc/login.defs
[root@localhost ~]#  grep -i ^[a-z] /etc/login.defs (只看有效的配置文件)
MAIL_DIR    /var/spool/mail
# 指定创建用户时,默认邮件文件位置

PASS_MAX_DAYS   99999
# 创建用户默认密码最大使用天数

PASS_MIN_DAYS   0
# 创建用户默认密码最小使用天数(0代表无限)

PASS_MIN_LEN    5
# 密码最短位数

PASS_WARN_AGE   7
# 密码过期警告

UID_MIN                  1000
# 普通用户,最小UID是1000

UID_MAX                 60000
# 普通用户,最大UID是60000

SYS_UID_MIN               201
# 系统用户,最小UID是201

SYS_UID_MAX               999
# 系统用户,最大UID是999

GID_MIN                  1000
# 普通用户,最小GID是1000

GID_MAX                 60000
# 普通用户,最大GID是60000

SYS_GID_MIN               201
# 系统用户,最小GID是201

SYS_GID_MAX               999
# 系统用户,最大GID是999

CREATE_HOME yes
# 默认创建用户的家目录

UMASK           077
# UMASK 077 指定用户创建家目录的默认权限

USERGROUPS_ENAB yes
# 创建用户时,如果不用-g指定组,那么会默认创建出该用户的同名组

ENCRYPT_METHOD SHA512
# 用户密码的加密方式 SHA512

## 权限了解
r:读      4
w:写      2
x:执行    1
-:没有权限 0

目录创建默认权限:0777 - umask
文件创建默认权限:0666 - umask
  • /etc/default/useradd
[root@localhost ~]# cat /etc/default/useradd
GROUP=100
# 如果login.defs文件中的USERGROUPS_ENAB yes是no,该行配置才会生效
# 如果创建用户不创建同名组,默认会将该用户加入GID为100的系统组中(users)
HOME=/home
# 指定用户默认创建家目录的位置

INACTIVE=-1
# 用户账户停权 -1永远不过期

EXPIRE=
# 账号终止时间的设置,不设置不终止

SHELL=/bin/bash
# 用户默认创建登录shell

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@localhost ~]# passwd qwe
Changing password for user qwe.
## 修改qwe用户的密码
New password: 
## 新密码
Retype new password:
## 重复新密码
passwd: all authentication tokens updated successfully.
## 所有认证令牌更新成功

## 免交互方式(并不是所有命令都有标准输入、输出)
stdin:标准输入
[root@localhost ~]# echo wsh112233 | passwd --stdin qwe
Changing password for user qwe.
passwd: all authentication tokens updated successfully.

stdout:标准输出
stderr:错误输出

随机密码生成

tee:管道命令
-a:append 追加

# /dev/randow
$RANDOM:随机
echo $RANDOM:生成随机数

[root@localhost ~]#  echo $RANDOM|tee -a /root/qwe.txt |passwd --stdin qwe
Changing password for user qwe.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# cat qwe.txt 
15937

以上是关于CentOS 用户管理的主要内容,如果未能解决你的问题,请参考以下文章

centos用户和组管理

CentOS7系列--1.3CentOS7用户管理

centos6用户和权限管理

Centos7.5-用户管理

Linux用户和组的管理

Linux CentOS 8(用户组的管理实验)