用户,组,权限
重点:
/etc/passwd 用户相关信息 /etc/login.defs 设置用户创建时默认相关信息 /etc/defualt/useradd 用户添加时会创建的相关信息设置 /etc/skel 用户家目录下相关隐藏文件 /etc/group 组相关信息 /etc/gshadow 组密码 /etc/shadow 用户密码 /var/spool/mail 用户邮箱记录
用户类别
管理员 0 root
普通用户 1-65535,2^16个
- 1-200 系统中的管理用户
- 系统用户 201-999,专门用来运行后台进程和服务的用户,不允许登陆系统(服务用户)
- 一般用户 1000-60000,后面的很少使用
用户组类别
按照用户类别的分法
- 管理员组 root
- 普通组
常用分法- (主)基本组,用户的默认组
- 附加组 额外组,默认组以外的其他组
用户管理
查看用户信息
/etc/passwd 冒号隔开的七个字段
account 用户名
password 密码,x为密码占位符,目标为/etc/shadow第二个字段
UID 用户ID
GID 基本组ID,额外组信息在/etc/group文件中
CECOS 用户基本信息
HOME DIR 用户家目录,系统用户不允许登陆
shell 用户的默认shell,/etc/shells保存了所有的合法shell
useradd
useradd USERNAME/adduser
-l
-u UID 指定UID
-g GID 指定基本组
-G GID1,GID2,… 指定附加组
-c “注释信息” 指定用户注释信息 chfn
-d /path/to/dir 指定某个目录为用户家目录
-s /shell 指定用户使用的shell
chsh -s
chsh -s修改用户shell
usermod 修改用户相关信息,选项同useradd
-u 修改UID
-g 修改基本组,基本组必须事先存在
-G 这个选项会覆盖之前的附加组,和-a选项配合使用
usermod -a -G 追加附加组
-c 修改用户注释信息
-s 修改用户shell
-l 修改登陆名
userdel
userdel USERNAME
-r 删除用户时删除用户家目录和用户的邮箱
id 查看用户的ID信息,选项同useradd
-u 显示UID
-G 显示GID
-g 显示GID
组管理
groupadd 添加一个组
-n
-g GID
-r 添加系统组
groupdel 删除一个组 (不能删除基本组)
groupmod 修改一个组
-g GID
-n GRPNAME 修改组名
相关文件
/etc/login.defs
用户的相关默认属性
添加用户就是在/etc/passwd、/etc/shadow、/etc/group中添加用户相关信息
默认属性都来自什么地方呢?来自 /etc/default/useradd /etc/skel
/etc/default/useradd
文件格式
GROUP=100 组(在linux当中用户默认组有两种模式公有模式,私有模式当前我们学习的linux是一种私有模式)
HOME=/home 家目录
INACTIVE=-1 密码宽限期限
EXPIRE= 账户过期期限不启用
SHELL=/bin/bash 指定shell
SKEL=/etc/skel 默认文件
CREATE_MAIL_SPOOL=yes 邮件配置
/etc/shadow 冒号隔开的九个字段
account 用户名
password 加密后的密码,格式为
6
6
6???$*
!!或者* 账户锁定 salt
最后一次修改时间 从1970年1月1日到最后一次密码改变的时间所经过的天数
密码最短使用期限 为0表示不限制
密码最长使用期限 密码使用多长时间之后必须要改密码,99999表示可不更改
密码过期警告时间 密码过期前多少天进行警告,提示用户改密码,但是不锁定用户
密码过期宽限期限 密码过期后必须改密码的时间,如果还没改,锁定用户,就只能找网管了
账号过期精确时间 如果为99999,意味着永不过期
保留字段
haha:!!:17432:0:99999:7:::
12/10 12/20 12/19 12/12
最后一次修改 最长 过期警告时间 过期精确时间
用户名-----密码---------|------------|--------------|----------|-----------------|------------|
最短使用期限 过期宽限时间 保留字段
12/17 3
12/23
passwd 修改用户密码
–stdin
echo “redhat” | passwd --stdin USERNAME
-l 锁定用户账号密码
-u 解锁用户账号
-n 指定密码最短使用期限
-x 指定密码最长使用期限
-w 指定警告时间
-i 指定宽限动时间
-d 删除用户密码,在redhat中,空密码用户禁止登陆
chage change age
-d 指定最后一次修改密码日期
-E 过期日期
-I 宽限时间
-m 最短使用期限
-M 最长使用期限
-w 警告时间
gpasswd +用户名设置组密码
-a 添加用户到组
-d 将指定用户移出本组
-M 设置组成员列表
-A 指定管理员(组长)
-r 删除组密码
-R 限制用户登录组,只有组中成员才能加入该组
newgrp
newgrp 登陆一个新组
使用exit退出新组