(1)用户存在的意义
用户操作者在系统中的身份标识
是逻辑概念、用户的集合
用户的存在是为了限制权限
组的存在是为了归类用户便于管理权限
用户组是一个逻辑容器,对用户进行归类和统一授权
(2)用户及用户组在系统中的存在方式
电脑对数字敏感 id
人类对字符串敏感 名称
Id <------->名称 必须要记录到文件当中用户才能存在
用户就是/etc/passwd文件中的一行字符
用户组存在的方式就是/etc/group文件中的一行字符
(3)用户切换
用户查看
Whomai 查看当前用户
id 查看用户id信息
id -u 查看用户的用户id
id -g 查看用户主组id
id -G 查看用户所有的组的id
id -n 显示名称
用户id范围:(ID设定规则都被记录在/etc/login. defs)
0-655351
- Linux超级用户ID
1-999 Liunx系统自用ID
1000-65535: 用户级ID
用户切换
su-username
- 切换用户环境
username 如果root ----> commonuser 不需要后者密码
commonuser, -- - - > root 需要密码
commonuser --> commonuser 需要密码
注意:在做用户切换时当使用完毕用户身份及时退出
不要在一个shell中反复执行su命令(如果重复执行会导致环境错乱)
(4)用户涉及到的系统配置文件
/etc/passwd 用户身份信息文件
用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户shell
/etc/group 组身份信息文件
组名称:组密码:组id:组的附加成员
/etc/skel/.* 用户环境配置文件模板
/etc/ shadow 用户认证信息文件
/home/username 用户家目录
/var/spool/mail/username 用户邮箱文件
(5)用户和用户组建立及删除
监控用户建立的命令
watch -n 1 "tail -n 4 /etc/passwd /etc/group;echo ======;ls -l /home"
useradd 用户名 用户建立
useradd -u 用户id 用户名
uid 2**16=0-65535
0 表示超级用户
1-200 系统预留id
201-999 系统用户
1000- 60000 用户级用户
/etc/login.defs 记录用户建立的默认规则
useradd -g 主组id 用户名
useradd -G 附加组id 用户名 附加组id
useradd -d dir 用户名 指定用户家目录
useradd -M 用户名 建立用户时不建立家目录
useradd -c 该用户说明 用户名 指定用户说明
useradd -s shell 用户名 指定用shell
userdel –r 用户名 用户删除 (-r删除用户的系统配置文件)
groupadd 组名 建立组
groupadd –g 组的id 组名 指定组的id和名称
groupdel 组名 组删除
(6)用户和用户组的信息管理
usermod
usermod –l 目标用户名 现用户名 更改用户名称
usermod -u 目标用户id 用户名 更改用户id
uesrmod –g 目标主组id 用户名 更改主组id
usermod –G 目标附加组id 用户名 更改用户附加组身份
usermod –aG 目标附加组id 用户名 添加用户附加组身份
usermod –c “用户说明” 用户名 更改用户说明
usermod –d 目标家目录指向 用户名 更改家目录指向
usermod -md 目标家目录 用户名 更改家目录指向同时更改家目录名称
usermod –s 目标shell 用户名 更改默认shell
groupmod –g 目标用户组id 用户名 更改用户组id
(7)用户认证信息管理
/etc/shadow 文件内容说明
用户名称:用户密码的加密字符:用户密码最后- -次被修改时间:密码最短有效期:密码最长有效期:密码过期前警告期:账号非活跃期:账号到期时间:用户自定义(未使用)
1.用户名称
passwd -S 用户名 查看密码状态
2.用户加密字符
更改密码
passwd 用户名 只有root可以执行"echo 123 | passwd --stdin lee"
passwd 普通用户改密码
Changing password for user 用户名
Current password : 输入原始密码
New password: 输入新密码(8位以上无序数字+无序字母组合)
Retype new password: 重复输入
passwd: all authentication tokens updated successfully.
冻结认证
passwd -l 用户名 冻结账号认证
passwd -u 用户名 解锁账号认证
密码删除
passwd -d 用户名
密码使用天数
从1970-1- 1算其到今天的时间
passwd -e 用户名 修改默认使用时间为0
chage –d 0 用户名 账号必须改密码才能登陆系统
密码最短有效期
passwd -n 1 用户名 lee在1天内不能改密码
chage -m 1 用户名
密码最长有效期.
passwd –x 30 用户名 40天内该用户必须更新密码否则会被冻结
chage -M 50用户名
密码过期警告
passwd -w 2 用户名 账号过期前警告时间.
chage -W 1 用户名
认证非活跃天数
passwd -i 2 用户名 账号认证最大时间超过后还能用多久
chage -I 5 用户名
账号认证到期时间
chage -E “"2020-05-11" 用户名 到2020-5- 11这天账号会被冻结未启用功能
(8) 用户权利下放
在系统中普通用户时无法执行系统管理命令的如果需要普通用户执行系统管理动作那么需要root用户来进行授权
普通用户授权方式“sudo”
作用:可以使普通用户使用指定的用户身份运行命令
授权方法:
visudo 此命合作用是编辑/etc/ sudoers并提供语法检测
hostnamectl 查看主机名
在文件的100行左右(代码规范性)
username hostname= ( newusername ) [NOPASSWD:] /command/command1
lee用户在westos_student50.westos.org = (用超级用户身份) 执行useradd命令
lee westos_student50.westos.org=( root) [NOPASSWD:] /usr/sbin/useradd
lee用户
在westos_student50.westos.org使用超户 免密 执行useradd和userdel
Lee westos_student50.westos.org = (root) NOPASSWD: /usr/sbin/useradd, /usr/
sbin/userdel