Linux用户配置文件,用户管理相关文件,用户管理命令
18-用户配置文件
用户信息文件
/etc/passwd
存放用户信息
man 5 /etc/passwd 查看配置信息帮助
早起Linux密码是放在etc/passwd下的,但是每个用户都可以看自己的信息,所以密码暴露在所有用户下,不安全,之后的Linux将密码放在/etc/shadow
每一行代表一个用户
-
第一字段:用户名称 root
-
第二字段:密码标志 x:0:0
- x表示有密码
- 如果没有x表示没有密码,只能本机登录
-
第三字段:UID
-
0 超级用户
-
1-499 系统用户(伪用户)
给系统启动命令来调用的,不可以删
-
500-65535 普通用户
-
-
第四字段:GID 用户初始组id
- 初始组:用户一登录就立刻拥有这个组的相关权限,每个用户的初始组只有一个,一般就是和这个用户的用户名相同的组名作为这个用户的初始组。
- 附加组:指用户可以加入多个其他的用户组,并拥有这些组的权限,附加组可以有多个。
-
第五字段:用户说明
-
第六字段:家目录
- 普通用户:/home/用户名
- 超级用户 /root/
-
第七字段:登录之后的shell
用户密码文件
/etc/shadow
存放用户密码,默认权限000
- 第一字段:用户名
- 第二字段:加密密码
- 加密算法升级为SHA512散列加密算法
- 如果密码位是“!!”或“*”代表没有密码,不能登录
- 禁用用户可以在该用户密码字段加!!或者*
- 第三字段:密码最后一次修改时间
- 使用1970年1月1日作为标准时间,每过一天时间戳加1
- 第四字段:两次密码的修改间隔时间(和第三字段对比)
- 第五字段:密码有效期(和第三字段对比)
- 第六字段:密码修改到期前的警告天数(和第五字段相比)
- 第七字段:密码过期之后的宽限天数
- 0:密码过期后立即失效
- 1:密码永远不会失效
- 第八字段:账号失效时间
- 要用时间戳表示
- 第九字段:保留
组信息文件,组密码文件
/etc/group
/etc/gshadow
组信息文件
- 第一字段:组名
- 第二字段:组密码标志
- 第三字段:GID
- 组中附加用户
组密码文件
-
第一字段:组名
-
第二字段:组密码(不推荐使用)
知道组密码的人可以替代root在组中进行删除或
-
第三字段:组管理员用户名
-
第四字段:组中附加用户
19- 用户管理相关文件
家目录
-
普通用户: /home/用户名
所有者和所属组都是此用户,权限700
将普通用户UID改成0,该用户会变成超级用户,但是家目录不会改变
-
超级用户: /root/
所有者和所属组都是root用户,权限是550
用户的邮箱
/var/spool/mail/用户名/
用户模板目录
/etc/skel/
添加用户的时候会自动在家目录添加该目录下的内容
20- 用户管理命令
useradd
- useradd [选项] 用户名
- -u 手工指定UID
- -d手工指定家目录
- -c手工指定用户说明
- -g手工指定用户初始组
- -G手工指定用户附加组
- -s手工指定用户的登录shell,默认是/bin/bash
用户默认值配置文件
/etc/default/useradd
- GROUP=100 用户默认组
- HOME=/home 用户家目录
- INACTIVE=-1密码过期宽限天数
- EXPIRE= 密码失效时间
- SHELL=/bin/bash 默认shell
- SKEL=/etc/skel 模板目录
- CREATE_MAIL_SP=yes 是否建立邮箱
/etc/login.defs
- PASS_MAX_DAYS 99999 密码有效期
- PASS_MIN_DAYS 0 米面修改间隔
- PASS_MIN_LEN 5 密码最少5位
- PASS_WARN_AGE 7 密码到期警告
- UID_MIN 500 最小和最大UID范围
- GID_MAX 60000
- ENCRYPT_METHOD SHA512 加密模式
passwd
-
passwd [选项] 用户名
-
-S 查询用户的密码状态(只有root可用)
-
-l 暂时锁定用户(只有root可用)
-
-u 解锁用户(只有root可用)
-
–stdin 可以通过管道符输出的数据作为用户的密码
-
usermod change
-
usermod [选项] 用户名 修改用户信息
- -u 修改UID
- -c 修改用户说明信息
- -G 修改用户附加组
- -L 临时锁定用户
- -U 解锁用户锁定
-
change [选项] 用户名 修改用户密码状态
-
-l 列出用户详细密码状态
-
-d 修改密码最后一次更改日期
-
charge -d 0 user1
将密码修改时间改为了0,这样用户一登录就需要修改密码
-
-
-m 两次密码修改间隔
-
-M 密码有效期
-
-W 密码过期警告天数
-
-大写的i 密码过期后宽限的天数
-
-E 账号失效的时间
-
userdel su
-
userdel -r 用户名 删除用户的同时删除用户家目录
-
id 用户名 查看用户id
-
su [选项] 用户名
-
选线只使用“-”代表连带用户的环境变量一起切换
-
-c 仅执行一次命令,而不切换用户身份
su -root -c “useradd user1” 不切换成root,但是执行useradd命令
-
用户组管理
-
groupadd [选项] 组名
- -g 指定GID
-
groupmod [选项] 组名
- -g 改组ID
- -n 改组名
- groupmod -n 新组名 原来组名
-
groupdel 组名 删除组
- 删除用户的初始组用户将不存在
- 删除用户的附加组不影响用户
-
gpasswd 选项 用户 组名 把用户添加或从组中删除
- -a 把用户加入组
- -d 把用户从组中删除