Linux用户管理
用户 组 密码管理 工具
linux账号分类
用户账号 2^32 4294967296
超级用户 root (0)
普通用户:
系统用户 1-499
真实用户 500-60000
UID userID 用户识别号 相当于身份证号
组账号
超级用户组 0
系统组 1-499
用户自定义组 500-60000
GID groupID 组识别号
用户 /etc/passwd /etc/shadow
组 /etc/group /etc/gshadow
账号的内容
/etc/passwd
root : X : 0 : 0 : root : /root : /bin/bash
用户名 密码 UID GID 描述信息 用户家目录 shell类型
用户名:32个字符 大小写字母 _-数字
密码:存放用户的密码 X代表密码映射到/etc/shadow文件, 为空代表没有设置密码
用户识别号:32位长度 0-(2^32)
组识别号:
描述信息:简介
用户家目录:用户家目录的位置
shell类型:用户能使用何种命令,以及各式 /bin/bash /bin/csh /bin/dash等 交互式shell
/sbin/nologin 禁止登陆 非交互式shell
/bin/false 禁止登陆 -----------
组账号的内容
/etc/group
root : x : 0 :
组名称 组密码 GID 组成员(次要组成员)
组:主要组--用户账号管理文件GID位定义的 次要组
管理命令
用户 组
添加 useradd groupadd
更改 usermod groupmod
删除 userdel groupdel
设置密码 passwd gpasswd
useradd 添加用户
语法:useradd 参数|选项 用户名(要创建的用户名)
u 指定uid
g 指定主要群组
G 指定次要群组
d 指定用户的家目录
s 指定shell类型
c 指定描述信息
p 指定加密后的密码(不常用(几乎不用))
m|M m=建立家目录 M=不建立家目录
n 取消建立私有群组
r 指定用户身份为系统用户
usermod修改用户
语法:usermod 参数|选项 用户名
-l 修改用户名(登录名修改,家目录未修改,组未修改)
-L 锁定账户
-U 解锁账户
其余参数同useradd参数
userdel删除用户
语法:userdel 参数|选项 用户名
-r 删除所有数据 家目录 邮箱
groupadd添加组
语法:groupadd 参数|选项 组名(要创建的组名)
-g 指定组识别号
-r 指定系统组
-f 强制执行(慎用)
groupmod修改组
语法:groupmod 参数|选项 组名
-g 改组识别号
-n 改组名
groupdel 删除组
语法:groupdel 组名
passwd 给用户添加密码
语法:passwd 用户名(只有root能给其他用户设置密码)直接执行passwd 是给当前用户设置密码
passwd -l 用户名 锁定账号
passwd -S 用户名 显示密码状态
****** passwd --stdin 从键盘之外的位置读入内容,作为密码
gpasswd 给组添加密码(一般不用,语法同上)
加密算法
哈西算法 单向 输入长度不固定,输出长度固定;输入改变,输出改变,输入不变,输出不变
########不可逆的。
密码保存文件
/etc/shadow(用户)
username:password:last_change:min_days:max_days:warning:inactive:expire:disabled
eg:root:#¥#¥%#¥%:17300:0:99999:7::
username:用户名
password:加密后的密码
last_change:最后一次修改时间 1970年1月1日开始计算
min_days:密码修改最小天数
max_days:-----------大---
warning:密码过期前的警告期限
inactive:密码过期后锁定天数
expire:过期时间
disabled:是否锁定
/etc/gshadow(组)
groupname : passwd : admin : members
组名 密码 组长 组成员
chage修改用户的密码相关参数
语法:chage 参数|选项 用户名
-m 指定密码修改的最小天数
-M ----------------大---
-d 指定密码最后修改日期
-E 是指密码过期日期
-W 设置密码过期前的警告时间
-I 密码过期后锁定的天数
-l 查看用户的相关密码信息
m|M|W 只能是天数
设置组长(次要组)
gpasswd -A username groupname 设置组长
gpasswd -a username groupname 添加用户到组
gpasswd -d username groupname 从组删除一个用户