Linux系统中的用户管理

Linux系统中的用户管理

  1. 用户及用户组存在的意义
    用户是操作者在系统中身份标识
    用户组,组是逻辑概念,是用户的集合
    用户的存在为了限制权限
    组的存在为了归类用户方便管理权限
  2. 用户在系统中的存储方式
    用户在系统中就是文件中的字符串
    每个字符映射了该用户所用到的系统资源
  3. 深入分析用户涉及到的配置文件及内容
/etc/passwd用户信息库
/etc/group组信息库
/home/用户同名目录默认用户家目录
/etc/skel/所有文件用户环境配置文件模板
/etc/shadow用户认证信息
/etc/gshadow组认证信息
  1. 用户信息查看
id查看指定用户信息
id -u查看用户uid
id -g查看用户gid
id -G查看用户所在的所有组id
id -n显示名字而不显示id
id -a显示用户所有id信息

示例

[root@localhost ~]# id student
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
[root@localhost ~]# id -u student
1000
[root@localhost ~]# id -g student
1000
[root@localhost ~]# id -G student
1000 10
[root@localhost ~]# id -a student
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
[root@localhost ~]# id -Gn student
student wheel
  1. 用户身份的切换方式及环境变量
    图形中的注销命令
gnome-session-quit ##注销当前用户 --force 强制注销不提示

用户切换

su只切换用户身份,不切换用户环境
su -切换用户身份以及用户环境

注意:每次su切换到其他用户操作后必须退出,然后再次切换到其他用户,执行时高级用户切换到低级用户时不需要密码,低级用户切换到高级用户需要,平级用户之间切换也需要密码。

用户和用户组的建立及删除

useradd用于建立用户,建立用户时读取/etc/login.defs文件内容确定规则
userdel -r删除关于用户的一切
useradd -u指定用户的uid
useradd -g指定用户的初始gid
useradd -G指定用户的附加组
useradd -c指定用户的说明
useradd -d指定用户的家目录,默认为/home/username
useradd -s指定用户默认的shell
useradd -M建立用户时不建立用户的家目录

groupadd 和groupdel用于用户组的建立和删除
groupadd -g 指定建立用用户组的组id

示例:该示例使用命令 watch -n 1 ‘tail -n 3 /etc/passwd /etc/group ; ls -l /home’ 进行实验结果的观察

[root@localhost ~]# useradd -u 1234 ahtl
[root@localhost ~]# userdel -r ahtl
[root@localhost ~]# groupadd -g 1111 ahtm
[root@localhost ~]# useradd -g 1111 ahtm
[root@localhost ~]# useradd -G 72 ahtt
[root@localhost ~]# id ahtt
uid=1002(ahtt) gid=1002(ahtt) groups=1002(ahtt),72(tcpdump)

在这里插入图片描述

  1. 用户及用户组的信息管理
    groupmod -g 更改组的id
usermod更改用户的信息
usermod -l修改用户名称
usermod -u修改用户uid
usermod -g修改用户gid
usermod -aG指定用户附加组
usermod -c修改用户说明
usermod -d更改家目录指向
usermod -md修改用户家目录,默认为/home/username
usermod -s修改shell的类型 #/sbin/nologin 不能登录
  1. 用户认证文件的内容分析
    /etc/shadow #用户认证信息文件
    示例 qwer:!!:18174:0:99999:7:::
    [1][2][3][4][5][6][7][8][9]
    【1】用户名称
    【2】用户密码
    【3】密码最近一次修改距离1970.1.1时间
    【4】密码最短有效期
    【5】密码最长有效期
    【6】密码到期前警告
    【7】密码非活跃天数
    【8】密码到期日
    【9】用户自定义列,目前没有启用

  2. 用户认证管理

passwd可以管理用户的密码也可以管理密码的属性,但不是所有属性都能去修改
passwd -e + username密码已经使用时间修改成0,用户在登录时会被强制改密码
passwd -n 1 +username设置最短有效期为1天,用户在1天之内不能修改密码
passwd -x 30 +username设置最长有效期设置为30天,30天内必须改密码
passwd -l +username对账号进行冻结,会将/etc/shadow第二列前面加上!使密码失效
passwd -u +username对用户密码进行解锁
passwd -S +username对账号密码进行查看
passwd -w +username设置密码的提前警告期
passwd -i +username设置密码的非活跃天数
passwd -d +username删除用户密码
[root@localhost ~]# passwd -e qwer
Expiring password for user qwer.
passwd: Success
[root@localhost ~]# tail -n 1 /etc/shadow
qwer:!!:0:0:99999:7:::
[root@localhost ~]# passwd -n 1 qwer
Adjusting aging data for user qwer.
passwd: Success
[root@localhost ~]# tail -n 1 /etc/shadow
qwer:!!:0:1:99999:7:::
[root@localhost ~]# passwd -x 30 qwer
Adjusting aging data for user qwer.
passwd: Success
[root@localhost ~]# tail -n 1 /etc/shadow
qwer:!!:0:1:30:7:::
[root@localhost ~]# passwd -S qwer
qwer LK 1969-12-31 1 30 7 -1 (Password locked.)
[root@localhost ~]# passwd -w 5 qwer
Adjusting aging data for user qwer.
passwd: Success
[root@localhost ~]# passwd -i 5 qwer
Adjusting aging data for user qwer.
passwd: Success
[root@localhost ~]# passwd -d qwer
Removing password for user qwer.
passwd: Success

注意:
普通用户修改密码时
(1)必须知道用户的原始密码
(2)密码不能和帐号名称相似
(3)密码不能是有序的数字或者有序的纯字母
(4)密码如果是纯数字或者字母的话需要>8

chage可以修改密码的所有属性,但是不能修改密码
-l列出该帐号
-d后接天数,修改密码最后一次被修改时间
-E后接日期,修改shadow的第八字段(帐号失效日期),格式:YYYY-MM-DD
-I后接天数,修改shadw的第七字段(密码失效日期)
-m后接天数,修改shadow的第四字段(密码最短保留天数)
-M后接天数,修改shadow的第五字段(密码多久需要进行更改)
-W后接天数,修改shadow的第六字段(密码过期的警告日期)
[root@localhost ~]# chage -l qwer 
Last password change					: Oct 07, 2019
Password expires					: Nov 06, 2019
Password inactive					: Nov 11, 2019
Account expires						: never
Minimum number of days between password change		: 1
Maximum number of days between password change		: 30
Number of days of warning before password expires	: 5
[root@localhost ~]# chage -d 0 qwer
[root@localhost ~]# chage -E "2019-11-11" qwer
[root@localhost ~]# chage -m 5 qwer
[root@localhost ~]# chage -M 30 qwer
[root@localhost ~]# chage -W 10 qwer
[root@localhost ~]# chage -l qwer
Last password change					: password must be changed
Password expires					: password must be changed
Password inactive					: password must be changed
Account expires						: Nov 11, 2019
Minimum number of days between password change		: 5
Maximum number of days between password change		: 30
Number of days of warning before password expires	: 10
  1. 用户权力下放
    权力下放文件为/etc/sudoers,此文件可以用vim直接编辑,但是不提供语法检测,也可以直接用visudo编辑此文件,visudo是提供语法检测的。

sudo能把某些超级权限针对性的下放,并且不需要普通用户知道root密码,所以sudo相对于权限无限制性的su来说,还是比较安全的。
流程:当前用户切换到root,然后以root身份执行命令,执行完毕后,直接退回当前用户,而这些的前提是要通过sudo的配置文件/etc/sudoers进行授权。如果用vim来编辑这个文件的话,不提供语法的检测,所以我们使用visudo,提供语法的检测。visudo 100行左右(行业规范)。

[root@localhost ~]# visudo
在这里插入图片描述

[root@localhost ~]# su - qwer 
[qwer@localhost ~]$ sudo useradd test
sudo: Account or password is expired, reset your password and try again
New password: 
Retype new password: 
[qwer@localhost ~]$ id test
uid=1003(test) gid=1003(test) groups=1003(test)
[qwer@localhost ~]$ sudo userdel test
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值