linux 系统用户的管理

1.什么是用户

用户是操作者在系统中的身份
用户是系统最底层的安全机制的一部分
用户在系统中以字符和文件的形式存在

2.linux 系统组存在的意义

  • 用户组是用户的延伸,可以得到身份,共享用户的权力
  • 相当于我是我自己,但我还属于我的家庭,我和我的家庭就组成了初始用户组
  • 在学校,我属于自己的班级的一员,我和我的班里的同学就组成了附加用户组
  • 组的存在是为了共享权力,组和用户是两个不同的机制

组的分类:

初始组用户刚刚建立就加入的组
附加组用户后期加入的组

3.怎样查看linux系统用户

(1)查看当前正在使用的用户

whoami     查看当前用户

(2)查看系统中用户的信息:

id查看正在使用的用户的所有id信息
id -u查看用户的uid
id -g查看用户的gid
id -G查看用户所在的所用组id
id -n显示名字而不显示id字数

eg:
在这里插入图片描述
(3)切换用户:

gnome-session-quit-force  ## 注销当前用户,用其他用户登陆

su - 用户名称(前提是该用户在系统当中存在)
在这里插入图片描述
注意:

  1. su - 中 “ - ”表示在用户切换是同时切换当前用户的环境
  2. su - 执行时高级用户切换到低级用户不需要密码,高级用户到低级用户需要密码,平及用户之间的切换因为需要密码
  3. 每次su - 切换到其他用户操作后,必须先退出在当前用户,在切换,即su -,否则容易造成用户使用资源紊乱。

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

用户在系统中的存在方式也是文件,对用户的管理就是对文件的管理

(1)用户信息文件: /etc/passwd
说明:用户信息文件里面存储了用户的一些基本信息
包括的内容:用户名称,用户密码,uid,gid,说明,家目录,默认shell
在这里插入图片描述

用户名称用户自己的名字
用户密码用户自己密码
uid用户自己的身份证号
gid用户所属组的id
说明系统默认的shell有哪些,可以查看/etc/shells文件
家目录打开shell默认所在的目录
默认shell默认和系统对话shell类型

(2)用户组信息文件:/etc/group 文件
说明:用户组信息文件里面存储了用户所属组(用户组)的一些基本信息
包括的内容:组的名字,组的密码,组的id,组的成员在这里插入图片描述
(3)认证信息文件:/etc/shadow
说明:认证信息文件里面包括了一些认证信息,比如每个用户登陆时的密码
包括的内容:用户名称,用户密码,密码已经使用时间,密码最短有效期,密码最长有效期,密码到期前警告,密码非活跃天数,密码到期日等
在这里插入图片描述
(4)默认开启shell的配置,用户的骨文件:/etc/skel/.*
说明:骨文件里面存储了默认用户和系统对话工具的 相关信息

(5)用户的家目录:/home/username
注意:家目录指的是该用户建立的所属目录

5.用户组的管理(用户组管理命令)

groupadd 用户组名字建立用户组
gropupadd -g 6666 用户组名字建立用户组并指定用户组的id
groupdel 用户组名字删除用户组

(1)动态监控每一条命令作用后的状态采用watch命令

eg:watch -n  1 "tail -n  3   /etc/passwd     /etc/group;  ls  -l  /home/"

(2)用户组的建立:groupadd
groupadd 用户名
在这里插入图片描述
groupdel 用户名
在这里插入图片描述
groupadd -g uid 用户组名字 ##建立用户组并指定用户组id
在这里插入图片描述

6.用户的管理

  1. 用户的建立
useradd用户名建立用户时,读取/etc/login.defsa文件内容确定规则
useradd -u 6666 用户名建立用户的同时指定用户id
useradd -g 21 用户名建立用户的同时指定用户uid,21用户组必须存在
useradd -G 21 用户名指定用户的附加组id,“21用户组必须存在”
useradd -c “xxxx” 用户名指定用户的说明
useradd -d /home/lee 用户名指定用户的家目录
useradd -s /bin/sh 用户名指定用户的默认shell

在这里插入图片描述

2.用户的删除

userdel
userdel student		##删除用户但不删除用户的配置文件
userdel -r student	##删除用户并删除用户的配置文件

在这里插入图片描述
在这里插入图片描述
用户信息监控命令

watch -n 1 “tail -n 3 /etc/passwd /etc/group;ls -l /home”	

useradd -u 8888 westos ##指定用户uid建立用户
在这里插入图片描述

useradd -g 21 xixi ##指定用户gid建立用户,组id必须是存在的,如不存在可以先建立组
在这里插入图片描述
useradd -G 8888 haha ##指定用户附加组id建立用户,附加组id必须存在
在这里插入图片描述

useradd -c “hello linux” westos ##指定用户的说明建立用户
在这里插入图片描述
useradd -d /home/lee lee ##指定用户家目录建立用户
在这里插入图片描述
useradd -s /bin/sh zas ##指定用户的默认shell
在这里插入图片描述

groupadd			        ##建立用户组
groupadd -g 888 westos		##建立用户组并指定用户组的id
groupdel			        ##删除用户组

7.直接更改用户信息

useraddmod -l 新名称用户名称
usermod -u uid 用户名更改用户uid
usermod -g gid 用户名更改用户初始组
usermod -G gid 用户名更改用户附加组,可以接组名,也可以接id
usermod -aG gid 用户名添加用户的附加组
usermod -G “ ” 用户名删除用户所有附加组的身份
usermod -c “xxx” 用户名指定用户说明文字
usermod -d /home/lee 用户名更改用户家目录的指向
usermod -md /home/lee 用户名更改用户家目录
usermod -s /bin/bash更改用户的bash

(1)usermod -l 新名称 用户名称 ##更改用户的名称
在这里插入图片描述

usermod -u 6677 用户名称 ##更改用户的uid
在这里插入图片描述

usermod -g 21 用户名称 ##更改用户的初始组
在这里插入图片描述
usermod -G 8888 用户名称 ##更改用户的附加组
在这里插入图片描述
usermod -aG 72 用户名称 ##添加用户的附加组
在这里插入图片描述
usermod -G “” 用户名称 ##删除用户的所有附加组的身份
在这里插入图片描述
usermod -c “hhhh” 用户名称 ##更改用户的说明文字,也可以指定为“”即删除说明
在这里插入图片描述
usermod -d /home/lee 用户名称 更改用户家目录的指向(不改变家目录名字,只改变家目指向)
在这里插入图片描述
usermod -md /home/lee 用户名称 (更改用户家目录名称及指向)

usermod -s /bin/sh 用户名称 ##更改用户的shell
在这里插入图片描述

8.用户信息认证

/etc/shadow 这个文件记录用户的认证信息
例如:
【1】【2】【3】【4】【5】【6】【7】【8】【9】
westos: !!! : 17895 : 0 : 99999 : 7 : : : ##共有9项内容(此文件一共有9列)

1】westos  用户名称
【2!!!  用户密码:用户的加密字符串,默认用的加密方式为sha512对称加密,如果加密字符串前出现“!”那么用户被冻结
【317895 用户密码最后一次被更改的时间
此时间计算是从1970-1-1开始计算的累计天数
【40 用户密码最短有效期限(用户在这个天数之内不能修改密码)
【599999用户密码最长效期限,用户必须再此有效期内更新密码,如果超时会被冻结
【7】用户的非活跃天数,即:密码在最长有效期过后仍然可以使用的天数
【8】用户到期日,默认为空,表示帐号一定会被冻结的时间点,此时间计算是从1970-1-1开始计算的累计天数
【9】用户自定义列,目前没有启用

在这里插入图片描述
(1)passwd -S 用户名 ##查看用户密码信息
在这里插入图片描述
(2)用户密码

passwd		用户名称		##更改westos密码
passwd  -l	用户名称		##在用户名称前加入“!!”,锁定用户密码
passwd  -u	用户名称		##解锁用户密码
usermod -L	用户名称		##在用户名称前加入“!”
usermod -U	用户名称		##在密码不为空时使用
passwd  -d	用户名称		##清空用户密码

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

监控watch -n 1 " tail -n 3 /etc/shadow "

passwd 用户名称 ##更改westos密码

在这里插入图片描述
passwd -l 用户名称 ##在用户名称前加入“!!”,锁定用户密码
在这里插入图片描述passwd -u 用户名称 ##解锁用户密码

在这里插入图片描述usermod -L 用户名称 ##在用户名称前加入“!”
在这里插入图片描述usermod -U 用户名称 ##在密码不为空时使用
在这里插入图片描述passwd -d 用户名称 ##清空用户密码
在这里插入图片描述
!!表示被封锁,该账户不能登陆
passwd 比usermod强度更强

9.密码管理

(1)用户密码最后一次被更改的时间

passwd -e	用户名称		##会改变用户最后一次更改密码时间为0,用户在登陆时会被强制更改密码
chage  -d 0 	用户名称		##两个命令作用类似

在这里插入图片描述(2)用户密码最短有效期

passwd -n 20 用户名称		##用户在20天之内必须修改密码
chage  -m 40 用户名称		##用户在40天之内必须修改密码

在这里插入图片描述
(3)用户密码最长有效期

passwd -x 20 用户名称		##用户在20天之内必须修改密码
chage  -M 40 用户名称		##用户在40天之内必须修改密码

在这里插入图片描述
(4)密码警告期限

passwd -w 2  用户名称		##密码过期两天有警告输出
chage  -W 2 用户名称		##密码过期两天有警告输出

在这里插入图片描述

(5)用户非活跃天数

passwd -i 1  用户名称		##密码过期后仍可登陆系统的天数
chage  -I 1  用户名称		##密码过期后仍可登陆系统的天数

在这里插入图片描述

(6)用户到期日

chage -E 2019-11-11 用户名称	##用户在2019-11-11日会被冻结

在这里插入图片描述

(7)用户自定义列,目前没有启用

10. 用户授权

(1)什么是用户授权?
超级用户把部分权力给普通用户的过程,叫用户授权。

(2)权力下放文件为 /etc/sudoers

此文件可以用vim直接编辑,但是不提供语法检测
也可使用visudo编辑此文件,visudo命令提供语法检测文件

(3)怎样使一个普通用户拥有新建用户的权力?
步骤一: 新建普通用户: useradd westos(westos为用户名)
步骤二:打开文件visudo 或者(/etc/sudoers)
步骤三:
在100行左右
添加 用户 主机名称 = (得到的用户身份) 命令

westos  localhost = (root) NOPASSWD :/usr/sbin/useradd

查看主机名称:可用hostname命令
步骤五:
测试一定要加sudo
切换成westos ,输入sudo useradd ll ,然后id ll,即可看到用户
在这里插入图片描述在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值