1,系统中为什么要有用户?
用户是系统的底层安全设定的一部份,用来限制权力,组是用来共享权力的
2,用户存在的形态?
系统中的数据和配置文件
3,用户配置文件
/etc/passwd 用户的配置文件
用户名称:密码:用户id:组id :用户说明:家目录:默认用户所使用的shell
/ect/group 用户组信息
组名称:组密码:组id:附加组成员
/hom/username 用户家目录
/etc/skel.* 用户骨文件(用户环境配置文件,在用户建立时会自动被复制)
vim .bash_logout 用户环境配置
4,用户的查看
whoami 查看当前用户名
id username 查看用户的id
id -u (+n显示名称) username 查看用户的uid
id -g username 查看用户的gid(初始组id)
id -G username 查看用户所在的所有组的id
-n 以名称显示信息,不单独使用
5,建立用户及删除
查看用户建立的信息
[root@localhost ~]# watch -n 1 'tail -n 4 /etc/passwd /etc/group;echo===;ls -l /home/'
建立用户:
useradd username 使用默认规则建立用户
useradd -u 1000 username 指定用户的uid
useradd -g 6666 username 指定初始组
useradd -G 25 username 指定用户的附加组
useradd -c "用户说明文字" username 指定说名文字
useradd -d /home/username username 指定家目录
cat /etc/shells 查看用户可用shell
useradd -s /bin/bush username 指定用户的shell
删除用户:
userdel username 删除用户身份
userdel -r username 删除用户身份及用户家目录
6,组的建立及删除
建立组
groupadd groupname 创建组
groupadd -g 6666 groupname 创建组并指定组id
删除组
groupdel groupname 删除组
7,用户的管理
usermod -l linux username 更改用户名
usermod -u 1002 username 更改uid
usermod -g 1001 username 更改初始组
usermod -G 1004 username 更改附加组
usermod -aG 1003 username 增加附加组
usermod -c "assd" username 更改用户说明
usermod -d 目录 username 更改用户家目录
usermod -md 目录 username 更改用户家目录并重命名
usermod -s shell username 更改用户shell
8,用户的切换
su - username 高级用户切换到低级用户不需要密码
低级用户切换到高级用户或者切换到平级用户需要root密码
“*4注意*”
1.用户切换后及时退出在切换到下一个用户
2. su - 表示切换用户身份及用户环境
9,用户的信息认证
/etc/shadow 中存放着用户的认证信息
查看最后一行信息:
一次存放的是:
用户名称:
用户密码:
passwd username 只有超级用户可以执行
passwd 普通用户修改自己的密码
passwd -d username 清空密码
usermod -L username 冻结帐号
usermod -U username 解锁
passwd -l username 冻结帐号(锁两次)
passwd -u username 解锁(解两/一次)
密码最后一次被修改的时间: 当此位数字为0时用户在登陆时会强制改密码
chage -d 0 westos
passwd -e westos
密码最短有效期:
chage -m 1 westos
passwd -n 3 westos
密码最长有效期:
chage -M 30 westos
passwd -x 40 westos
密码过期警告:(密码还有几天过期)
chage -W 2 westosexit
passwd -w 2 westos
密码非活跃期:
chage -I 2 westos
passwd -i 0 westos
帐号到期日:
chage -E "2018-11-11" westos
未设定用户自定义
10,用户权力下放
1.配置文件
/etc/sudoers
2.配置命令
visudo 此命令提供与法检测
用户名 主机名=(执行程序身份)命令 执行命令时需要用户验证
linux11 dns-server.example.com=(root) /usr/sbin/useradd
用户名 主机名=(执行程序身份) NOPASSWD: 命令1,命令2 不需要验证
linux11 /usr/sbin/useradd , /usr/sbin/userael
测试
su - linux11
sudo useradd hello