LIinux系统-5单元-用户管理


前言

  Liunx系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
  用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
  实现用户账号的管理,要完成的工作主要有如下几个方面:

  • 用户的账号添加、删除与修改
  • 用户口令的管理
  • 用户组的管理

一、用户及用户组存在的意义

1. 用户存在的意义

  系统资源是有限的,如何合理分配系统资源? 在这个问题解决时必须要有资源配合

  1. 身份 account
  2. 授权 author
  3. 认证 auth

3A机制,3A机制组成系统中最底层的安全架构

2. 用户组存在的意义

 用户组是一个逻辑容器 ,对一类用户进行归类和统一授权

二、用户及用户组在系统中的存在方式

1. 用户的存在方式

   linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。该文件对所有用户都是可读的  。
2. 用户组存在的方式

  用户分组是Linux系统对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组可以有多个用户,一个用户也可以属于不同的组。
  用户组的所有信息都存放在/etc/group文件中。
在这里插入图片描述

三、用户切换

1.用户查看

whoami     查看当前用户

id   选项   用户名    查看指定用户的id信息

 选项如下:

  • -u    查看用户的用户id

  • -g    查看用户主组id

  • -G    查看用户所有的组的id

  • -n     显示名称

在这里插入图片描述

2.用户切换

su - username      切换用户身份及环境

在这里插入图片描述

  • 如果root ----> commonuser 不需要后者密码
  • commonuser ----> root 需要密码
  • commonuser ----> commonuser 需要密码

gnome-session-quit --force    图形界面上的用户切换

在这里插入图片描述

四、用户涉及到的系统配置文件

/etc/passwd      用户身份信息文件

格式: 用户名称 : 用户密码 用户id :用户主组id : 用户说明:用户家目录 :用户默认shell

在这里插入图片描述
在这里插入图片描述

/etc/group     组身份信息文件

格式:组名称 :组密码 :组id :组的附加成员

在这里插入图片描述

  • /etc/skel/.*     用户环境配置文件模板
  • /etc/shadow     用户认证信息文件
  • /home/username   用户家目录

五、用户和用户组建立及删除

watch命令

watch -n 1 “tail -n 4 /etc/passwd /etc/group;ls -l / home”                监控/etc/passwd后四行和显示/home文件,一秒执行一次

在这里插入图片描述

1. 用户的建立

useradd   用户名      创建用户

useradd   选项  用户名 

常用选项如下:

  • useradd -u id username     指定 id
  • useradd -g id username      指定 主组id
  • useradd -G id username      指定 附加组id
  • useradd -d dir  username      指定 用户家目录
  • useradd -M  username       不创建用户家目录
  • useradd -c word  username      指定 用户说明
  • useradd -s shell  username       指定 用户登录shell

其中uid 的范围是 0到2的16次幂=0-65535

0 表示超级用户
1-200 系统预留id
201-999 系统用户
1000-60000 用户级用户

在这里插入图片描述在这里插入图片描述

2. 用户的删除

userdel   –r  username   用户删除  ( -r 表示删除用户信息及系统配置文件)

在这里插入图片描述
3. 用户组的建立

groupadd  groupname    用户组的建立

groupadd -g id  groupname    建立 指定组id 的用户组

4. 用户组的删除

groupdel  groupname      用户组删除

在这里插入图片描述

六、修改用户和用户组的信息

1. 修改用户信息

 根据实际情况更改用户的有关属性,如用户号、主目录、登录shell等。

usermod 选项 用户名   修改用户信息

常用选项如下:

  • -l   更改用户名称

  • -u    更改用户id

  • -g    更改主组id

  • -G   更改用户附加组身份

  • -aG   添加用户附加组身份

  • -c   更改用户说明

  • -d   更改家目录指向

  • -md   更改家目录指向同时更改家目录名称

  • -s   更改默认shell

  • -L   冻结账号

  • -U   解锁

2. 修改用户组的信息

 修改用户组的信息实际上就是对/etc/group文件的更新,使用groupmod命令。

groupmod  选项  用户组

常用选项有:

  • -g GID      为用户组指定新的组标识号。
  • -o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
  • -n新用户组     将用户组的名字改为新名字

七、用户认证信息管理

/etc/shadow解析:/etc/shadow是用户数数据库,其中的域给出了用户名、加密口令和用户的其他信息。
在这里插入图片描述
格式:

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

  • 账户名称
  • 加密后的密码,如果这一栏的第一个字符为!或者*的话,说明这是一个不能登录的账户,从上面可以看出,ubuntu默认的就不启用root账户。
  • 最近改动密码的日期。
  • 密码不可被变更的天数:设置了这个值,则表示从变更密码的日期算起,多少天内无法再次修改密码,如果是0的话,则没有限制
  • 密码需要重新变更的天数:如果为99999则没有限制
  • 密码过期预警天数
  • 密码过期的宽恕时间:如果在5中设置的日期过后,用户仍然没有修改密码,则该用户还可以继续使用的天数
  • 账号失效日期,过了这个日期账号就无法使用
  • 保留的

举例:

letuknowit:1cPf/cIvr$sCws95uSip2ljTK052DDB.:15400:5:60:7:2:15490:

  • 用户letuknowit最近一次修改密码的日期是2012年3月1日
  • 在2012年3月6日之前不能再改动密码了
  • 在2012-3-1到2012-4-29期间letuknowit需要更改密码
  • 在2012-4-29之前的7天,letuknowit登陆系统的时候,系统会提示letuknowit其密码即将过期
  • 如果letuknowit一直到2012-4-29都没有修改密码,则其仍然可以继续使用该账户2天,2天后该账户将不可用
  • 无论如何,到了2012年5月29日,该账号都将失效

1. 用户口令管理
   用户管理的一项重要的内容就是用户口令的管理。指定和修改用户口令的shell命令是passwd。超级用户可以为自己和其他用户指定口令(为普通用户指定口令,无需原口令),普通用户只能修改自己的口令。

passwd   选项   用户名

常用选项:

  • -l    锁定口令,即禁用账号
  • -u    口令解锁
  • -d    使账号无口令
  • -e    强制改密码
  • -n    最短有效期
  • -x    最长有效期
  • -i    非活跃天数
  • -w    警告天数
  • -f    强迫用户下次登录时修改口令
  • -S   查看密码状态

chage    选项   username

常用选项:

  • -d    设定最后一次修改密码天数为0
  • -m    最短有效期
  • -M    最长有效期
  • -I    非活跃天数
  • -W    警告天数
  • E   “YYYY-MM-DD"   账号到期时间

在这里插入图片描述
在这里插入图片描述

2.超级用户更改密码

passwd   username     修改用户密码(必须使用超级用户身份)

在这里插入图片描述

3. 普通用户更改密码

passwd
在这里插入图片描述

八、用户权力的下放

   在系统中普通用户时无法执行系统管理命令的,如果需要普通用户执行系统管理动作那么需要: root用户来进行授权。

  • 权力配置文件:/etc/sudoers

  • 授权的方法:

用超级用户执行visudo命令进入编辑/etc/sudoers模式

例:

westosadmin   ansible.westos.com=(root)   /usr/sbin/useradd
解释: westosadmin这个用户能在nsible.westos.com这台主机上,以超级用户的身份执行/usr/sbin/useradd

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

被授权的用户使用sudo命令,执行被授权的命令。

sudo 被授权的命令

九、练习总汇

  在系统中完成一下用户操作:

1.建立用户组shengchan,caiwu,jishu并满足以下要求

  • shengchan组id为8000
  • caiwu组id为8001
  • jishu组id为8002

在这里插入图片描述

2.建立westos,linux,lee,westosadmin等用户完成以下要求

  • westos用户的附加组为shengchan和jishu
  • lee的主组为caiwu,附加组为jishu,lee的uid和gid一致
  • linux为系统账号不能直接被操作者使用

useradd -M -s /bin/nologin linux

  • westosadmin用户不属于以上三个部门,但是可以在系统中自由的管理用户

useradd -u 0 -g 0 westosadmin

在这里插入图片描述
在这里插入图片描述

3.备注

  • 以上用户密码均为westos,并要求用户首次登陆强制修改密码

  • 设定以上用户密码必须在30天内进行修改,并在过期前2天发出警告

猜你喜欢

转载自blog.csdn.net/m0_46988935/article/details/109073948