########1.用户存在的意义##########
在系统中有多个用户,每个用户都可以编写自己的文件,系统也会限制普通用户的权力,让普通用户不会作出对系统或其他用户有危害的操作。
########2.组存在的一意义##########
如果说区分用户是限制权力,那么分组就是为了给其他用户分享权力,让他可以做部分超过他本身权力的操作。
#######3.用户的查看########
1.查看当前用户
whoami ##查看当前用户
2.系统中用户的查看
id ##查看指定用户id信息
id
-u ##查看用户的uid
-g ##查看用户的gid
-G ##查看用户所在的所有组的id
-n ##显示名字而不显示id数字
用户切换
gome-session-quit --force ##注销当前用户
在用其他用户登陆
su - 用户名称
su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要密码,平级用户切换切换也需要密码,在输入密码时,系统为了保护隐私,是不显示密码的。
注意:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户,因为虽然你切换了用户,但之前用户还在后台运行。用exit命令退出
用户在系统中的存储方式
/etc/passwd #用户信息文件; 用户名称:密码:uid:gid:家目录:默认shell
#默认shell,指定有哪些可以查看系统中/etc/shells文件
uid #相当于身份证号
gid #组id,相当于户口本上的号
/etc/group #用户组信息文件; 组的名字:组密码:组id:组成员
man 5 group #查看组信息
/etc/shadows #认证信息文件
/etc/skel/.* #默认开启shell的配置,用户的骨文件
/etc/username #用户的家目录
#####用户管理 #####
###用户信息监控命令,监控/etc/passwd(用户信息文件)和/etc/group(用户组信息文件)的后三行和根下home的文件属性,每1秒更新一次
watch -n1 "tail -n 3 /etc/passwd /etc/group;ls -l /home"
###用户组的建立
groupadd westos #建立用户组
groupadd -g 6666 westos #建立指定gid的组(建立的组必须之前没有,否则不能新建)
groupdel westos #删除用户组
###用户建立
用户信息监控命令watch -n1 "tail -n 3 /etc/passwd /etc/group;ls -l /home"
useradd westos #建立用户,建立用户时,读取/etc/login.defs文件内容,确定规则
usersdd -u 8888 westos ##指定用户uid
usersdd -g 21 westos ##指定用户初始组id,“21用户组必须是存在的”
useradd -G 21 westos ##指定用户的附加组id,“21用户组必须是存在的”
useradd -c "hello" westos ##指定用户说明
useradd -d /home/lee westos ##指定用户的家目录
useradd -s /bin/sh westos ##指定用户的默认shell
userdel westos #删除用户但没有删除调该用户的配置文件
userdel -r westos #删除用户并删除用户的配置文件(如果一开始没有用-r删除,然后又想删除配置文件用-r,会给你提示找不到该删除
的文件,此时再建立相同名字的用户,又会给你提示已经存在。此时你再用含有-r的命令删除就可以删除了;或者直接用rm命令删除配置文
件,不 用像之前那么麻烦)。
新建一个用户tom,指定他的uid,gid,附加组,用户说明,指定家目录和默认shell
###更改用户信息
usermod westos代表用户名,不是一定要写westos,这得看你新建用户名是啥。
usermod -aG 72 westos ##添加附加组
usermod -G 21 westos ##更换附加组
usermod -l 新名称 westos ##更改用户的名称
usermod -u 6666 westos ##更改用户uid
usermod -g 21 westos ##更改用户的初始组
usermod -G “” westos ##删除用户组所有的附加组身份
usermod -c “hahaha” westos ##指定用户说明文字
usermod -d /home/lee westos ##更改用户家目录的指向(路径,靠它找到目录位置)
usermod -md /home/lee westos ##更改用户家目录(更改家目录的名字)
usermod -s /bin/sh westos ##更改用户的shell shell可以随便改,但如果不是改到系统内有的shell的话就不能用
与上图作对比
###怎么看系统中有哪些shell
cat /etc/shells
监控密码改动指令
watch -n 1 "tail -n 3 /etc/shadow ; echo =======; passwd -S westos"
###用户密码
passwd westos ##更改westos密码
passwd -l westos ##在用户密码前加入!!(锁住)
passwd -u westos ##给用户密码解锁(消去!)
在设置密码后系统会以特殊加密方式把密码显示出来,如图tom:后的一长串符号直至:结束,如果把密码锁住,密码前面就会显示!!
解锁
####用户密码信息###
注意:做这个实验的时候也要监控 watch -n 1 tail -n 3 /etc/shadow
/etc/shadow这个文件是记录用户的认证信息
例如:westos:!!:17895:0:99999:7: : : ###一共有9项内容(此文件一共有9列)
[1] [2] [3] [4] [5] [6][7][8] [9]
(1)westos ###用户名称
(2)!! ###用户密码
用户的加密字符串,默认用的加密方式为sha512对称加密
如果加密字符串前出现“!”,则该用户的帐号被冻结
(3)17895 ###用户密码最后一次被修改的时间,此时间的计算是从1970-1-1日起累计的总时间天数
(4)0 ###用户密码最短有效期限(用户在这个数字天数之内不能修改密码)如果此位有设定数字,那么在此数字范围内的天数内是不能更改
用户的密码的
(5)99999 ###用户密码最长有效期限
(6)7 ###密码警告期限
(7) ###用户的非活跃天数
(8) ###用户到期日(到期之后就不能用了)
(9) ###用户自定义列,目前没有启用
passwd -S 用户名 ###查看用户密码信息
用户密码:
passwd 用户名 ###更改用户的密码
passwd -l 用户名 ###在用户密码前加入“!!”
passwd -u 用户名 ###
passwd -L 用户名 ###在用户密码前加入“!”
passwd -U 用户名 ###在密码不为空的时候使用
passwd -d 用户名 ###清空用户的密码
注意:普通用户改密码时,要注意以下几点:
(1)必须知道当前用户原始密码
(2)密码不能和帐号名称相似
(3)密码不能是纯数字或者纯字母
(4)密码不能是有序的字母和数字的组合
用户名 密码
密码在/etc/shadow这个文件当中 只有超级用户可以操作
表格 用户名 锁住 使用次数(密码最后一次被更改的时间) 改密码最短时间 改密码最长时间 过期时间前改密码(提前) 帐号的非活跃天数(加的期限) 帐号的到期日(几天)
有9项 弄清楚每一项的含义
!!表示被封锁 改账户不能登陆
watch加引号(有分号时)
解除封锁用 passwd -u 用户名
用户的冻结:-l
用户的解冻:-u
passwd比usermod强度更强
用户密码信息转自其他博客
作者:温柔梦9527
来源:CSDN
原文:https://blog.csdn.net/ymeng9527/article/details/88988201
###权力的下放(让普通用户可以有部分超级用户的权力)
visudo 回车 ##直接到权力控制中心里面(/etc/sudoers)
hostname ##显示主机名字
先切换到普通用户student,尝试新建立一个普通用户yaoyue,发现没有权力,
在外面重新打开一个shell,用超级用户用visudo命令进入 /etc/sudoers 用:100命令到第100行然后编写,
格式为:当前普通用户名 当前主机名字=(root) NOPASSWD:它出错给提示的内容(在新建用户是显示被拒绝新建:/usr/sbin/useradd)
(加NOPASSWD的作用是在sudo时不用密码)
然后再执行新建命令,会发现还是有错,这是因为该命令没有读取到我门刚更改的文件(/etc/sudoers文件)再前面加个sudo让
系统读取刚编辑的文件就可以执行了(sudo useradd yaoyue)
跟着哥有肉吃,快关注哥吧,有不懂的地方可以相互交流哈哈。