Linux系统中用户管理

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

1 用户存在的意义 :系统资源是有限的, 如何合理分配系统资源 ? 在这个问题解决时必须要有连个资源配合
1. 身份 account
2. 授权 author
3. 认证 auth
3A 机制 3A 机制组成系统中最底层的安全架构
2 ) 用户组存在意义 :用户组是一个逻辑容器 ,对用户进行归类和统一授权

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

电脑对数字敏感 id          人类对字符串敏感 名称
id <-------> 名称        必须要记录到文件当中用户才能存在
用户就是 / etc / passwd 文件中的一行字符
用户组存在的方式就是 / etc / group 文件中的一行字符

3.用户切换 

1 ) 用户查看
* whomai ## 查看当前用户
* id ## 查看用户 id 信息

 

- u ## 查看用户的用户 id
- g ## 查看用户主组 id
- G ## 查看用户所有的组的 id
- n ## 显示名称
用户 id 范围 0 - 65535
0 :                         Linux超级用户 ID
1 - 999 :              Liunx系统自用 ID
1000 - 65535 :   用户级ID
ID 设定规则都被记录在 / etc / login.defs
2 ) 用户切换
su - username
-
# 切换用户环境 
username ## 如果 root ----> commonuser
不需要后者密码
##commonuser ----> root
需要密码
##commonuser ----> commonuser
需要密码
# 注意 在做用户切换时当使用完毕用户身份及时退出
# 不要在一个 shell 中反复执行 su 命令 # 在一个 shell 中反复执行 su 命令会导致环境错乱

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

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

# 用户名称 : 用户密码 : 用户 id 用户主组 id : 用户说明 用户家目录 用户默认 shell
/ etc / group                              ##组身份信息文件
                                              # 组名称 组密码 id 组的附加成员

/ etc / skel /.*                               ##用户环境配置文件模板

/ etc / shadow                           ##用户认证信息文件
/ home / username                   ##用户家目录
/ var / spool / mail / username      ## 用户邮箱文件

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

监控用户建立的命令
echo:显示一个分隔符
watch - n 1 "tail - n 4 / etc / passwd / etc / group;echo ======= ;ls - l / home"

useradd username ## 用户建立

 

- u id username ##uid
2 ** 16 = 0 - 65535
## 0                        表示超级用户
## 1 - 200                 系统预留id
## 201 - 999             系统用户
## 1000 - 60000       用户级用户
## / etc / login.defs  记录用户建立的默认规则
- g id username ## 主组 id
- G id username ## 附加组 id
- d dir username ## 指定用户家目录
- M username ## 建立用户时不建立家目录
- c word username ## 指定用户说明
- s shell username ## 指定用 shell
userdel username用户删除
userdel -r username 删除用户身份以及用户在 系统中的资源(家目录)
groupadd groupname ## 组建立
- g id groupname ## 指定组名称
groupdel groupname ## 组删除

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

usermod
- l # 更改用户名称

- u # 更改用户 id

每次试验删掉建立的用户

-g 更改主组id(组必须存在)

- G # 更改用户附加组身份
- aG # 添加用户附加组身份
- c # 更改用户说明
- d # 更改家目录指向 - md # 更改家目录指向同时更改家目录名称
- s # 更改默认 shell
- L # 冻结账号
- U # 解锁
groupmod - g ## 更改用户组 id

7.用户认证信息管理 

#
# / etc / shadow 文件内容说明
#
# 用户名称 : 用户密码的加密字符 : 用户密码最后一次被修改时间 : 密码最短有效期 : 密码最长有效期 : 密码过期前警告期 :
账号非活跃期 : 账号到期时间 : 用户自定义 未使用
#
# 1. 用户名称
passwd - S lee ## 查看密码状态
# 2. 用户加密字符
# 更改密码 `
passwd lee ## 只有 root 可以执行 “echo 123 | passwd -- stdin lee”
passwd
## 普通用户改密码
Changing password for user lee.
Current password : # 输入原始密码
New password : ## 输入新密码 8 位以上无序数字 + 无序字母组合
Retype new password : ## 重复输入
passwd : all authentication tokens updated successfully.
# 冻结认证
passwd - l lee ## 冻结账号认证
passwd - u lee ## 解锁账号认证
# 密码删除 )
passwd - d lee
# 密码使用天数
* 1970 - 1 - 1 算其到今天的时间
passwd - e lee
## 修改默认使用时间为 0
chage - d 0 lee
## 账号必须改密码才能登陆系统
# 密码最短有效期
passwd - n 1 lee
##lee 1 天内不能改密码
chage - m 1 lee
# 密码最长有效期
passwd - x 40 lee ##40 天内 lee 用户必须更新密码否则会被冻结
chage - M 30 lee
# 密码过期警告
passwd - w 2 lee
## 账号过期前警告时间
chage - W 1 lee
# 认证非活跃天数 passwd - i 2 lee
## 账号认证最大时间超过后还能用多久
chage - I 1 lee
# 账号认证到期时间
chage - E " 2020 - 05 - 11 " ## 2020 - 5 - 11 这天账号会被冻结
# 未启用功能

 8.用户权力下放 

#
# 在系统中普通用户时无法执行系统管理命令的
# 如果需要普通用户执行系统管理动作那么需要
#root 用户来进行授权
普通用户授权方式 “sudo”
作用
可以使普通用户使用指定的用户身份呢运行命令
授权方法
visudo ## 此命令作用是编辑 / etc / sudoers 并提供语法检测
在文件的 100 行左右 ## 代码规范性
username hostname = (newusername) [NOPASSWD : ] / command, / command1
#lee 用户 在 linux.wesots.com 主机 = 用超级用户身份
执行 useradd 命令
lee linux.westos.com = (root) / usr / sbin / useradd
#westos 用户 在 linux.wesots.com 使用超户 免密 执行 useradd userdel
westos linux.wesots.com = (root) NOPASSWD : / usr / sbin / useradd, / usr /
sbin / userdel
测试
su - lee
sudo useradd westostest ## lee 第一次使用 sudo 命令时需要输入 lee 密码
exit # 退出 lee
su - westos
sudo userdel - r westostest ##westos 可以免密执行 userdel 命令
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值