Linux系统中的用户管理

1.用户及用户组存在的意义

(1)用户存在的意义

系统资源是有限的,如何合理分配系统资源?

在这个问题解决时,必须要有多个资源分配,以下就是常见的3a机制

<1> 身份 acount

<2> 授权 author

<3> 认证 auth

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

(2)用户组存在的意义

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

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

人与电脑的敏感性有所差异

人类对字符串敏感                    名称

电脑对数字敏感                         id

id -------- 名称,必须要记录到文件当中的用户才能存在

而用户就是/etc/passwd文件中的一行字符,用户组的存在方式是/etc/group文件中的一行字符

3.用户切换

(1)用户查看

whoami                         查看当前用户

id                                  查看用户的id信息

id -u                              查看用户的用户id

id -g                              查看用户的主组id

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

id -n                              显示名称

用户id的范围:0-65535

0:表示Linux超级用户的id

1-999:表示Linux系统自用id

1000-65535:表示用户级id

以上id设定规则都被记录在/etc/login.defs中

(2)用户切换

su - username                         

-                      切换用户环境
注:1.如果root ----> commonuser 不需要后者密码
       commonuser ----> root  需要密码
       commonuser1 ----> commonuser2 需要密码
2.在做用户切换时当使用完毕用户身份需要及时退出,不要在一个shell中反复执行su命令,否则会导致环境错乱

4.用户涉及到的系统配置文件

/etc/passwd                                    用户身份信息文件
基本格式: 用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell
/etc/group                                       组身份信息文件
基本格式: 组名称:组密码:组id:组的附加成员
/etc/skel/.*                                       用户环境配置文件模板
/etc/shadow                                    用户认证信息文件
/home/username                            用户家目录
/var/spool/mail/username               用户邮箱文件

5.用户和用户组建立及删除

若要观察用户的建立过程中的变化,我们需要监控用户的建立,需执行以下命令

watch -n 1 'date;tail -n 3 /etc/passwd -n 3 /etc/group;ls -l /home' 运行结果如下图所示

useradd  username              建立用户

userdel -r username             删除用户        -r   删除用户的系统配置文件

useradd -u xxx username     建立id为xxx的用户

useradd -g xxx username     建立主组id为xxx的用户

 

useradd -G xxx username     建立附加组id为xxx的用户

 

useradd -d dir   username     指定用户家目录

useradd -M       username     建立用户时不建立家目录

 

useradd -c word username    指定用户说明

 

groupadd         groupname            用户组的建立

 

groupadd -g id groupname            指定组名称

 

groupdel           groupname           用户组的删除

 6.用户和用户组的信息管理

usermod  -l xxx username           更改用户名称

 

usermod -u xxx username           更改用户id

 

usermod  -g xxx username           更改用户主组id

 

usermod  -G xxx username          更改用户附加组id

 

usermod  -aG xxx username        添加用户附加组身份 

 

usermod  -c xxx username            更改用户说明

 

usermod  -d xxx username            更改用户家目录指向

 

usermod  -md xxx username         更改用户家目录指向同时更改家目录名称   

7.用户认证信息管理

若要观察在对用户认证信息管理的过程中的变化,需要执行以下命令来监控其行为

watch -n 1 tail -3 /etc/shadow

/etc/shadow                 文件内容说明 

用户名称:用户密码的加密字符:用户密码最后一次被修改的时间:密码最短有效期:密码最长有效期:密码过期前警告期:账号非活跃期:账号到期时间:用户自定义(未使用)

(1)用户名称

passwd -S westos                    查看westos用户的密码状态

(2)用户加密字符 

<1> 更改密码

passwd lee                     root用户修改lee用户的密码                            
passwd                           普通用户改密码
Changing password for user lee.
Current password:                 输入原始密码
New password:                      输入新密码(8位以上无序数字+无序字母组合)
Retype new password:          重复输入
passwd: all authentication tokens updated successfully. 出现以上字样可确定密码修改完毕

:只有root用户下才可以通过执行 “echo 123 | passwd --stdin lee”命令修改密码

<2> 冻结认证

passwd  -l amy         冻结账号认证

passwd -u amy         解锁账号认证

<3> 密码删除

passwd -d amy         

<4> 密码使用天数

注:是从1970-1-1算其到今天的时间

passwd -e  amy  =  chage -d 0 amy                     修改默认使用时间为0

 

<5> 密码最短有效期

passwd -n 1 amy=  chage -m 1 amy                    amy在1天内不能修改密码

 

<6>密码最长有效期

passwd -x 40 amy=  chage -M 40 amy                 40天内amy用户必须更新密码否则会被冻结

 

<7> 密码过期警告

passwd -w 3 amy=  chage -W 3 amy                     账号过期前3天进行警告

 

<8>认证非活跃天数

passwd -i 2 amy=  chage -I 2 amy                          账号认证最大时间超过后还能用多久

 

<9>账号认证到期时间

chage -E “2023-05-11”                                            账号到2023-5-11这天账号会被冻结

<10>未启用功能

8.用户权力下放

原理:在系统中,普通用户无法执行系统管理命令,若需要普通用户执行系统管理的动作,那么需要root用户给普通用户进行授权,作用是可以使普通用户使用指定的用户身份运行命令

授权方法:使用“sudo”命令
visudo                            此命令作用是编辑/etc/sudoers并提供语法检测
在文件的100行左右按以下格式输入命令
username hostname=(newusername) [NOPASSWD:] /command, /command1

(1)amy linux.westos.com=(root) /usr/sbin/useradd 

表示amy用户在linux.wesots.com主机=(用超级用户身份) 执行useradd命令

(2)westos linux.wesots.com = (root) NOPASSWD: /usr/sbin/useradd, /usr/sbin/userdel

表示westos用户在linux.wesots.com 使用超级用户免密执行useradd 和 userdel命令

 上图为编辑过程,下图为检验全力是否成功下放的操作

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值