什么是用户?
用户是操作者在系统中的身份,是系统最底层的安全机制的一部分
用户在系统中以字符和文件的形式存在
普通用户家目录为 /home/ 超级用户家目录为 /root/
####用户管理命令###
1.用户的查看
(1)查看当前用户 whoami ##查看当前用户
(2)系统中用户的查看
id ##查看指定用户id信息
id
-u ##查看用户的uid
-g ##查看用户的gid
-G ##查看用户所在的所有组的id
-n ##显示名字而不显示id数字
2.用户切换
su - 用户名称
su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要
【 注意:每次su切换到其他用户操作之后必须exit退出,然后再次切换到其他用户】
3.用户在系统中的存储方式
/etc/passwd
用户信息文件
用户名称:密码:uid:gid:说明:家目录:默认shell
/etc/group
用户组信息文件
组的名字:组密码:组id:组成员
/etc/shadows
认证信息文件
/etc/skel/.*
默认开启shell的配置,用户的骨文件
/home/username
用户的家目录
4.用户的删除
userdel student ##删除用户但是不删除用户的配置文件
userdel -r student ##删除用户并删除系统文件
5.用户建立
用户信息监控命令
watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;ls -l /home'
##加 “ ” 表示监视后面所有的命令。如果没有 “ ” 只会监控 “;” 之前的一个命令
##在watch后面跟 -n 1 表示一秒监控一次
##watch 监控
##命令中的 “ ;” 表示先执行分号之前的命令,然后执行分号之后的。
(1)useradd ##建立用户的,建立用户时,读取/etc/login.defs 文件内容确定规则
【 普通用户id1000以后,超级用户id在200之前 】
useradd -u 8888 student ##指定用户的uid
useradd -g 21 student ##指定用户的初始组id,“前提是,21用户组必须是存在的”
useradd -c 'haha' student ##指定用户的说明
useradd -G 21 student ##指定用户的附加组id,“前提是,21用户组必须是存在的”
useradd -d /home/wf student ##指定用户的家目录
useradd -s /bin/sh student ##指定用户的默认shell
userdel ##用户删除
【 注意:每要更改一个默认的值时,都应该先userdel一下用户 】
(2)groupadd ##建立用户组
groupadd -g 21 student ##建立用户组并且指定用户组的初始组id
groupdel ##删除用户组
【附加知识点:ctrl+ail+f2] [init 3]关闭图形 [init 5]开启图形
(3)用户信息更改 usermod
usermod -l 新名称 student ##更改用户新名称
usermod -u 6666 student ##更改用户uid
usermod -g 21 student ##更改用户的初始id
usermod -G 21 student ##更改用户的附加组
(如果本身有一个附加组,那么用-G会把原来那个附加组更改)
usermod -aG 72 student ##添加用户的附加组,如果本身有附加组时,会在后面追加一个新的附加组
usermod -G “” student ##删除用户所有附加组
usermod -c "haha" student ##更改用户的说明文字
usermod -d /home/wf student ##更改用户家目录的指向
usermod -md /home/wf student ##更改用户家目录
usermod -s /bin/sh student ##更改用户的shell
usermod -L student ##冻结用户
usermod -U student ##解锁用户
6.用户密码设置 passwd student [密码是不显示的,安全]
####用户认证信息管理###
【 附加知识点:[kill -9 程序编号 结束(程序标号)进程] 】
认证信息文件
/etc/shadows ##记录用户认证信息
用户名称:
用户密码:
passwd student
passwd -l student ##在用户密码前加入“!!”,类似于冻结
passwd -u student ##解锁密码
passwd -d student ##清空student密码
usermod -L student ##在用户密码前加入“!”
usermod -U student ##解锁用户
用户密码最后一次被更改的时间:
passwd -e student ##会改变用户最后一次更改密码
的时间为0,用户在登陆时会被强制更改密码
chage -d 0 student ##两个命令功能相似
密码最短有效期:
passwd -n 1 student ##student用户在一天之内不
##能更改密码
change -m 1 student
密码最长有效期:
passwd -x 30 student ##student在30天内必须更改
## 密码
change -M 40 student
密码警告期限:
passwd -w 2 student ##密码过期前两天有警告输出
change -W 2 student
密码非活跃期限:
passwd -i 1 student
##密码过期后仍可登录系统的天数
change -I 1 student
密码到期日:
chage -E 2018-11-11 student ##student用户在2018-11-11会被冻结
用户自定义列,不能被操作。
####用户授权###
用户授权配置文件 /etc/sudoers
授权配置命令:visudo 这个语法 会有语法的报错和vim相比
hostname 查看主机(本机)名
1)规范操作:文件100行左右
普通用户 主机名称=(转换成新的用户身份) 命令1,命令2,... ##执行命令要密码
普通用户 主机名称=(转换成新的用户身份) NOPASSWD:命令 ##免密执行命令
示例:
student 主机名称=(root) /usr/sbin/useradd
student 主机名称=(root) NOPASSWD:/usr/sbin/useradd,/usr/sbin/userdel
普通用户因为被授权可以被调用,调用方式:sudo useradd hello