一篇文章教你管理系统用户及如何优化方案

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

1)用户存在的意义

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

系统底层安全的3A机制:

身份    account

授权    author

认证    auth

只有有用户身份才能对用户身份进行资源分配和授权,这样才能保证系统资源得到合理分配,从而确保系统稳定

2)用户组存在的意义

用户组是一个逻辑容器

对用户进行归类和统一授权


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

电脑对数字敏感           id

人类对字符串敏感          名称

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

用户就是/etc/passwd文件中的一行字符


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

注意:切换用户后只有在当前的shell中你的用户身份得到切换,如果登陆图形,其他位置仍然使用的是登陆系统的用户身份

 -

##切换用户的同时切换当前用户所在系统的环境

username               

##root -----> commonuser    不需要后者密码

##commonuser -----> root    需要密码

##commonuser -----> commonuser    需要密码

注意:

#在做用户切换时当使用完毕用户身份及时退出,未退出不要直接关闭shell

#不要在一个shell中反复执行su命令

  #这样会导致系统开启多个shell,造成资源浪费

  #还会导致环境错乱


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

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

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

 监控用户建立的命令

watch -n 1 "tail -n 4 /etc/passwd /etc/group;echo =========;ls -l /home "

useradd          username     ##用户建立

useradd -u id  username     ##uid

##0                  表示超级用户

##1-200           系统预留id

##201-999       系统用户

##1000-60000 用户级用户

##/etc/login.defs   记录用户建立的默认规则

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,默认/bin/bash

##/sbin/nologin 非交互式shell,系统账号使用

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

#若不加-r 则只删除用户无法删除用户家目录

groupadd          groupname     ##组建立

groupadd -g id  groupname     ##指定组名称

groupdel           groupname     ##组删除


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

usermod

usermod -l newname username      #更改用户名称
usermod -u newid username        #更改用户id
usermod -g newgroupid username   #更改主组id
usermod -G id username           #更改用户附加组身份
usermod -aG id username          #添加用户附加组身份
usermod -G "" username           #删除用户附加组
usermod -c "word" username       #更改用户说明
usermod -d dir username          #更改家目录指向
usermod -md dir username         #更改家目录指向同时更改家目录名称
usermod -s shell username        #更改默认shell
-L                               #冻结账号
-U                               #解锁

groupmod -g id groupname                #更改用户组id


7.用户认证信息管理

/etc/shadow 文件内容说明

此时更改监控命令为 watch -n 1 tail -n 3 /etc/shadow 

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

密码最后一次被修改时间:从1970年1月1号算起的天数

1)用户名称

passwd -S username                 ##查看密码状态

2)用户加密字符

 #更改密码

passwd username

##只有root可以执行“echo 123 | passwd --stdin username”非交互式修改

passwd

##普通用户改密码,不能指定用户名称,只能修改自己密码

Changing passwd for user username.

Current passwd:                            #输入原始密码

New passwd:                                 #输入新密码(8位以上无序数字+无序字母组合)

Retype new passwd:                     #重复输入

passwd:all authentication tokens updated successfully.

#冻结认证

passwd -l username

冻结账号认证

passwd -u username

解锁账号认证

#密码删除

passwd -d username

#密码使用天数

从1970-1-1算起到今天的时间

passwd -e username

##修改默认使用时间为0,登录用户会被强制修改密码

chage -d 0 username

##账号必须修改密码才能登陆系统

#密码最短有效期

passwd -n 1 username

chage -m 1 username

#在一天内不能修改密码

#密码最长有效期

passwd -x 40 username

chage -M 40 username

##40天内必须更新密码否则会被冻结

#密码过期警告

passwd -w 1 username

chage -W 1 username

#账号过期前1天警告

#认证非活跃天数

passwd -i 2 username

chage -I 2 username

#账号认证最大时间超过后还能用多久

 用命令更改相应参数,监控内容也随之改变

#账号认证到期时间

chage -E "YYYY-MM-DD" username

#到期账号将会被冻结

 chage命令不能更改密码


8.用户权力下放 

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

普通用户授权方式“sudo”

作用:可以使普通用户使用指定的用户身份运行命令

授权方法:

visudo

##此命令作用是编辑/etc/sudoers并提供语法检测

在文件的100行左右,输入:100查找

##代码规范性

username    hostname=(newusername)     [NOPASSWD:] /command, /command1

#westos用户在westos.westos.org主机=(超级用户身份)   执行useradd命令

westos    westos.westos.org=(root)    /usr/sbin/useradd

#westos用户在westos.westos.org主机=(超级用户身份)   免密执行useradd和userdel命令

westos  westos.westos.org=(root)   NOPASSWD: /usr/sbin/useradd, /usr/sbin/userdel

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
学习数据库管理系统是一项复杂而庞大的任务,通过一篇CSDN文章无法全面覆盖所有相关知识。然而,可以通过一篇文章提供一些基本概念和入门指导。 首先,数据库管理系统(DBMS)是一种软件工具,用于管理和组织数据库。它可以提供数据存储、检索、更新和管理的功能。了解DBMS的不同类型和常见的DBMS软件是学习数据库管理系统的第一步。 其次,学习数据库设计是非常重要的。在设计数据库时,需要考虑表格、字段、关系、键等概念。了解关系数据库的范式(如第一范式、第二范式、第三范式等)以及关系代数和SQL查询语言也是必要的。 此外,了解事务处理和并发控制是数据库管理系统学习的重点。事务是指一系列数据库操作的逻辑单元,具有原子性、一致性、隔离性和持久性特性。掌握事务处理的概念和技术,以及处理并发访问数据库时可能发生的问题和解决方案,对于成为数据库管理系统专家至关重要。 最后,学习数据库性能优化和安全管理也是数据库管理系统学习的重要内容。了解如何优化数据库查询、索引设计、缓存策略和数据库分区等,可以提高数据库的性能和响应时间。同时,了解如何保护数据库的安全性、备份和恢复数据也是数据库管理系统学习的重要一环。 综上所述,学习数据库管理系统需要掌握数据库类型和软件、数据库设计、事务处理和并发控制、性能优化以及安全管理等知识。通过阅读CSDN等相关文章可以初步了解这些概念和技术,但需要进一步深入学习和实践才能真正掌握数据库管理系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值