用户管理&用户授权

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/daidadeguaiguai/article/details/102398755

#######1.用户的查看########
1)查看当前用户
whoami ##查看当前用户
如:在这里插入图片描述
2)系统中用户的查看
id 用户名 ##查看指定用户id信息
id -u 用户名 ##查看用户的uid
id -g 用户名 ##查看用户的gid
id -G 用户名 ##查看用户所在的所有组的id
id -n 用户名 ##显示名字而不显示id数字
如:查看用户名为student的相关信息:在这里插入图片描述######用户的切换######
gnome-session-quit --force ##注销当前用户再用其他用户登陆
切换用户的命令是su,su是(switch user)切换用户的缩写。通过su命令,可以从普通用户切换到root用户,也可以从root用户切换到普通用户。
注意:从普通用户切换到root用户需要密码(该 密码是普通用户的密码),从root用户切换到普通用户不需要密码。
su - 用户名称
su - 中 “-” 表示在用户身份切换时同时切换当前用户的环境,如果没有“-”则表示只是切换用户身份,不切换但前用户环境。
su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要密码。
注意:每次su切换到其他用户操作之后必须退出,然后才能再次切换到其他用户,使用su切换用户时,加-表示既加载shell的配置信息,也加载了系统环境的配置。
不加-表示只切换shell的配置。
pkill -9 用户名 ##强制结束(-9)
注意:用户切换需要先按exit退出才可以切换
如:用su - 用户名从超级用户切换到普通用户,不需要密码,并且可以看见用户的环境和身份都切换了:
在这里插入图片描述
在这里插入图片描述
再切换回超级用户是需要密码的:
在这里插入图片描述
在这里插入图片描述
但是,如果不加“-”会发现切换过程中只是切换用户身份,并未切换环境:
在这里插入图片描述
再切换回超级用户,发现还是需要密码:
在这里插入图片描述
在这里插入图片描述
发现输入密码后,仅仅只是身份切换了,环境并未切换。

######用户在系统中的存储方式######
/etc/passwd ##表示用户信息文件
用户名称:密码:uid:gid:说明:家目录:默认shell
“说明:默认shell的指定有那些可以查看系统中/etc/shells文件”
/etc/group ##表示用户组信息文件
组的名字:组密码:组id:组成员
如:显示用户和用户组文件的倒数三行:
在这里插入图片描述
/etc/shadows ##表示认证信息文件

/etc/skel/.* ##表示默认开启shell的配置,用户的骨文件

/home/username ##表示用户的家目录

如:
在这里插入图片描述

/etc/bashrc ###指的是shell配置
如:
在这里插入图片描述
/etc/profile ###指的是系统环境配置
如:
在这里插入图片描述
######用户管理命令#####
1)用户建立
用户信息监控命令
watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;ls -l /home’ ##可以进入监控模式,‘’中间的内容是根据想要监控的位置进行变化的。
watch -n 时间 命令 ##表示多长时间命令执行一次,若是多条命令组合,则格式应为“命名”
在这里插入图片描述
在这里插入图片描述
进入监控页面后,按【ctrl+c】退出
useradd ##建立用户,建立用户时,读取/etc/login.defs 文件内容确定规则
在这里插入图片描述
useradd -u 8888 用户名 ##新建用户并指定用户uid
在这里插入图片描述
useradd -g 21 用户名 ##新建用户并指定用户初始组id,“21用户组必须是存在的”
在这里插入图片描述
useradd -G 21 用户名 ##新建用户并指定用户的附加组id “21用户组必须存在”
在这里插入图片描述
useradd -c “hello” 用户名 ##新建用户并指定用户的说明
在这里插入图片描述
useradd -d /home/lee 用户名 ##新建用户并指定用户的家目录
在这里插入图片描述
useradd -s /bin/sh 用户名 ##新建用户并指定用户的默认shell
在这里插入图片描述

2)用户的删除:userdel
userdel 用户名		##删除用户但不删除用户的配置文件

在这里插入图片描述
会发现westos用户的配置文件还在,并未删除,但此用户其实已经不存在了。查一下:
在这里插入图片描述
userdel -r 用户名 ##删除用户并删除用户的配置文件
在这里插入图片描述
发现hehe用户已经被彻底删除。
3)用户组建立:groupadd
groupadd ##建立用户组
在这里插入图片描述
groupadd -g 888 用户名 ##建立用户组并指定用户组的id
在这里插入图片描述
4)用户组删除:groupdel
groupdel 用户名 ##删除用户组
在这里插入图片描述
5)更改用户信息:usermod
usermod -l 新名称 用户名 ##更改用户的名称
在这里插入图片描述
usermod -u 6666 用户名 ##更改用户uid
在这里插入图片描述
usermod -g 21 用户名 ##更改用户的初始组
在这里插入图片描述
在这里插入图片描述
下面更改用户信息相关命令的示范就不一一给出了。
usermod -G 21 用户名 ##更改用户的附加组
usermod -aG 72 用户名 ##添加用户的附加组
usermod -G “” 用户名 ##删除用户所有附加组的身份
usermod -c “hahahah” 用户名 ##指定用户说明文字
usermod -d /home/lee 用户名 ##更改用户家目录的指向
usermod -md /home/lee 用户名 ##更改用户家目录
usermod -s /bin/sh 用户名 ##更改用户的shell
usermod -L 用户名 ##冻结用户
usermod -U 用户名 ##解锁用户

####### 用户认证信息 #######
/etc/shadow ##记录用户认证信息
比如:westos:!!:17895:0:99999: 7: : :
[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 用户名 ##启用已被停止的账户
usermod -L 用户名 ##在用户密码前加入“!”,冻结帐号
usermod -U 用户名 ##在密码不为空时使用,解冻帐号
passwd -d 用户名 ##清空该用户密码

注意:
普通用户改密码时
1.必须知道当前用户原始密码
2.密码不能和帐号名称相似
3.密码不能是有序的数字或有序纯字母
4.密码如果是纯数字或字母个数要>8
超级用户没有这些限制。

##用户密码最后一次被更改的时间##
passwd -e westos ##会改变用户最后一次更改密码时间为0.
##用户在登陆时会被强制更改密码
chage -d 0 westos ##两个命令功能类似
在这里插入图片描述

#用户密码最短有效期#
passwd -n 1 westos ##westos用户在1天之内不能修改密码
chage -m 1 westos
在这里插入图片描述
#用户密码最长有效期#
passwd -x 30 westos ##设定westos在30天内必须改密码
chage -M 40 westos
#密码警告期限#
passwd -w 2 westos ##密码过期前两天有警告输出
chage -W 2 westos
在这里插入图片描述
#用户非活跃天数#
passwd -i 1 westos ##密码过期后仍可登陆系统的天数
chage -I 1 westos
#用户到期日#
chage -E 2018-11-11 westos ##westos用户在2018-11-11日会被冻结
#用户自定义列,目前没有启用#

###用户权限下放###sudo
1.权力下放文件为/etc/sudoers, 此文件可以用vim直接编辑,但是不提供语法检测,也可以使用visudo编辑此文件,visudo命令是提供语法检测的。

2.下放方式
在/etc/sudoers文件92行左右,添加如下字段
在这里插入图片描述

此处可以用hostname查看主机名称。
在这里插入图片描述
用which useradd 可以查看useradd所在的文件。

此处添加的信息格式如下:
用户 主机名称=(得到的用户身份) 命令
kiosk hostname=(root) /usr/sbin/useradd ##在使用root权力的时候需要输入密码
kiosk hostname=(root) NOPASSWD:/usr/sbin/useradd ##在使用root权力的时候不需要输入密码
比如:
tom localhost=(root) /usr/sbin/useradd ##tom用户可以在localhost主机以root用户身份执行useradd命令
tom localhost=(root) NOPASSWD: /usr/sbin/useradd ##tom用户可以在localhost主机以root用户身份免密执行useradd
3.测试方式
su - kiosk
sudo useradd tom
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/daidadeguaiguai/article/details/102398755