CentOS 用户管理

归志宁无五亩园,读书本意在元元。这篇文章主要讲述CentOS 用户管理相关的知识,希望能为你提供帮助。
创建用户流程【CentOS 用户管理】跟用户创建相关的文件:

  • /etc/login.defs
[root@localhost ~]#grep -i ^[a-z] /etc/login.defs (只看有效的配置文件) MAIL_DIR/var/spool/mail # 指定创建用户时,默认邮件文件位置PASS_MAX_DAYS99999 # 创建用户默认密码最大使用天数PASS_MIN_DAYS0 # 创建用户默认密码最小使用天数(0代表无限)PASS_MIN_LEN5 # 密码最短位数PASS_WARN_AGE7 # 密码过期警告UID_MIN1000 # 普通用户,最小UID是1000UID_MAX60000 # 普通用户,最大UID是60000SYS_UID_MIN201 # 系统用户,最小UID是201SYS_UID_MAX999 # 系统用户,最大UID是999GID_MIN1000 # 普通用户,最小GID是1000GID_MAX60000 # 普通用户,最大GID是60000SYS_GID_MIN201 # 系统用户,最小GID是201SYS_GID_MAX999 # 系统用户,最大GID是999CREATE_HOME yes # 默认创建用户的家目录UMASK077 # 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 # 用户默认创建登录shellSKEL=/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


    推荐阅读