1.用户管理基础

用户存在的意义:限定权力
用户组存在得意义:开放权力

1.查看当前用户

whoami #查看当前用户

2.系统中用户的查看

id:用户身份的唯一表示

id

-u    ##查看用户uid
-g    #查看用户的初始组gid
-G    #查看用户所在的所有组的id
-n    #查看名字而不显示id数字,需要与其他命令组合使用

示意图:

图片描述
图片描述

3.用户切换

su - 用户名 #-表示用户身份切换时同时切换环境变量:保证所使用的工具都能存在环境变量里,可用相对路径寻找
su - 执行时,高级用户切换到低级用户时,不需要密码;低级用户切换到高级用户需要;平级用户相互切换也需要密码

示意图:

图片描述

注意:

每次su切换到其他用户操作之后,必须退出。然后再次切换到其他用户
ctrl+d=logout 退出当前用户身份
exit=poweroff 关闭身份退出    #错误使用语句su student,必须使用exit

2.用户在系统中的存储方式

1./etc/passwd

用户信息文件:七段

用户名称:密码(保留这一位,但不用):uid:gid(初始组):说明(用户登陆窗口显示):家目录:默认shell

示意图:

图片描述

2./etc/group

用户组信息

组的名字:组密码:组id:组成员

示意图:

图片描述

3./etc/shadows

认证信息文件

用户名称
用户密码
用户密码最后一次被更改的时间
密码最短有效期:时间内不能修改密码
密码最长有效期:时间内必须更改一次
密码警告期限
密码非活跃期限:帐号被冻结前
密码到期日:帐号存在,
用户自定义位置,目前没有启用
修改shadow时,不会修改/etc/passwd的内容
!!用户     #用户不能修改密码
! pass -l westos    #解锁westos
!! usermod -U westos

示意图:

图片描述

  • /etc/skel/.*

用户的骨文件,默认开启shell的配置

  • /home/username

用户的家目录

3.用户信息管理

1.用户删除

userdel

userdel student    #删除用户student但不删除用户的配置文件    
userdel -r student    #删除用户student及其所有配置文件

2.用户建立

用户信息监控命令

watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home' #以1秒重复后面的命令,home下面会有用户家目录(“;”表示多条命令可在一行,存在先后顺序)
-->打开另一个shell
-->useradd username
-->显示会变化

示意图:

图片描述

注意:

超级用户id 0
普通用户id >&=1000

3.新建用户

建立用户时,读取/etc/login.defs 文件内容确定规则

useradd

建立一个用户时,也会创建一个组,组id和用户gid相同
使用以下语句时,需要先删除用户才能进行下一个参数修改
usersdd -u uID/8888 username       #指定用户的UID为8888
useradd -g gID/21 用户名            #指定用户初始组id ,‘21’用户组必须存在
useradd -G GID/21 用户名            #添加到附加组“21”(初始组也存在),“21”用户组必须存在&id 用户名    #查看用户ID
useradd -c "hello" 用户名           #添加说明“hello”
usedadd -d /home/lee 用户名        #修改家目录/home/lee
useradd -s /bin/sh 用户名           #指定用户的默认shell

注意:

初始组和附加组都需要存在

4.新建用户组

groupadd

groupadd -g 888 组名    #建立用户组并指定组的id(不能是已经存在的组id)
groupdel 组名           #删除用户组

5.修改用户信息

usermod

usermod -l     新名称        westos #更改用户名称为新名称 
usermod -u     6666          westos #更改用户uid
usermod -g     21            westos #更改用户初始组
usermod -G     1000          westos #更改进附加组组id=1000
usermod -aG     72           westos #添加附加组id=72
usermod -G     “”            westos #删除所有附加组
usermod -c     “family”      westos #指定用户说明文字
usermod -d     /home/sheen   westos #更改用户家目录的指向,不会更改家目录名字
usermod -md    /home/sheen   westos #更改用户家目录+指向
usermod -s     /bin/sh       westos #修改用户默认的shell
userond -L     westos                #锁定用户后,普通用户之间不能交互
usermod -U     westos                #解锁用户

示意图:

图片描述
图片描述

添加密码-->passwd westos-->log out

usermod -s /usr/sbin/nologin westos ##退出系统重新登陆时,系统拒绝被westos访问,不能登入

示意图:

图片描述

4.用户认证管理

密码是认证信息的一部分
/etc/shadow #认证信息文件
此文件一共有九个参数(参数以冒号结束)

1.用户名称

2.用户密码

passwd westos #更改用户密码

passwd -l westos     #用户密码前加入“!!”
passwd -u westos
usermod -L westos    #用户密码前加入“!”
usermod -U westos
passwd -d westos     #清空用户密码

示意图:

图片描述

注意:

普通用户改密码时
1.必须知道账户原始密码
2.密码不能和帐号名称相似
3.密码不能是纯数字或纯字母
4.密码不能是有序的字母和数字的组合

普通用户不能相互修改密码
!! #用户不能修改密码

注意密码是否锁定,锁定时需要先解锁,才能修改密码

3.用户密码最后一次被更改的时间

最近一次密码被修改的时间

passwd -e westos    #会改变用户最后一次更改密码时间为0,强制修改密码后,才能进系统,只执行一次
chage -d 0 westos    #两个命令功能类似

4.密码最短有效期

这段时间内不能修改密码

    passwd -n 1 westos    #用户在一天之内不能修改密码
    chage -m 1 westos     #类似

5.密码最长有效期:

这段时间内密码必须更改一次

    passwd -x 30 westos    #设定用户30天内必须改密码
    chage -M 30 westos    #类似

6.密码警告期限

密码失效前的提醒天数

    passwd -w 2 westos    #密码过期前两天有警告输出
    chage -W 2 westos    #类似

7.密码非活跃期限

帐号被冻结的时间,最小为0

    passwd -i 1 westos     #密码过期后仍可登录系统的天数2天
    chage -I 1 westos    #类似

8.密码到期日

超过限定时间,用户会被冻结

    chage -E 2018-11-11 westos    #用户会在2018-11-11会被冻结

9.用户自定义位置,目前没有启用

示意图:

图片描述
图片描述
图片描述

5.用户授权管理

/etc/sudoers #用户授权配置文件

1.授权配置命令

visudo #与vim不同,在修改文件内容时会有语法报错,

2.规范操作

在文件100行左右添加:
普通用户 主机名称=(转换成的新用户身份) 命令1, 命令2, ...
普通用户 主机名称=(转换成的新用户身份) NOPASSWD: 命令

示例:

westos  desktop0.example.com=(root) /usr/sbin/useradd, /user/sbin/userdel    #执行命令不需要密码
westos  desktop0.example.com=(root) NOPASS: /usr/sbin/useradd, /user/sbin/userdel    #免密执行
su - westos
sudo useradd hello #修改sudo文件需要加路径,调用命令时不用
hostname           #查看本机名称

示意图:

图片描述
图片描述


SheenStar
168 声望26 粉丝

祝你坚强


下一篇 »
vim管理