账号安全及应用

news2025/1/12 1:40:19

一、账号安全控制

 1.1系统账号清理

用户设置为无法登陆

锁定账户

删除账户

设定账户密码,本质锁定

锁定配置文件-chattr:

-a 让文件或目录仅供附加用途。只能追加

-i 不得任意更动文件或目录。

1.2密码安全控制

chage

1.3历史命令

history:查看历史命令,默认一千条

history -c    清空历史命令

二、切换用户

2.1用户切换su命令

su命令可以切换用户身份,并且以指定用户的身份执行命令。

pam_rootok.so  root不需要密码

pam_wheel.so   只有wheel组才可以切换

$ su root   切换至root用户

wohami   显示当前登录的用户

2.2查看su命令的操作日志,绝对路径:/var/log/secure

这里可以用less或tail查看,这里推荐tail

2.3用户提权  sudo

命令格式     sudo   [选项]   命令

选项

功能

-V显示版本编号
-l显示出自己的权限
-k将会强制使用者在下一次执行sudo时需要输入密码(无论多久)
-p可以更改问密码的提示语,其中%u会代换为使用者的账号名称,%h会显示主机名称
-u  用户名指定用户的权限
-s执行环境变数中的SHELL所指定的shell

2.3.1编辑配置文件的绝对路径

vim /etc/sudoers

2.3.2配置详解

1.root字段:用户名或UID,%组名或%GID

2.第一个ALL字段:IP地址或主机名,ALL代表任意主机

3.第二个ALL字段:用户字段,用户名或UID,ALL代表任意用户

4.第三个ALL字段:命令字段(绝对路径)可以是,命令名(command name),文件夹里的命令(directory),可以编辑sudoers这个文件(sudoedit),变相变成管理员。

2.3.4sudo 子目录

如果将所有提权都放在配置文件/etc/sudoers下不便于管理,可以通过在/etc/soduers.d/下创建子目录,可以更好地管理sudo的授权规则

三、PAM安全认证流程

PAM提供了灵活和可定制的用户身份验证框架,使系统管理员能够根据需要配置和管理身份验证方式。

3.1PAM相关文件

模块文件目录:/lib64/security/*.so

特定模块相关的设置文件:/etc/security/

man  8  +模块名:查看帮助

3.2PAM工作原理

PAM认证遵循顺序   Service(服务)---PAM(配置文件)---pam_*.so

这里查看su的PAM配置文件做实例,cat  /etc/pam.d/su

3.2.1第一模块类型

1.auth:账号的认证和授权,用户名

2.Account:账户的有效性,与账户管理相关的非认证类的功能,如:用来限制/允许用户对某个服务的访问时间,限制用户的位置(例:root用户只能从控制台登录)

3.Password:用户修改密码时密码复杂度检查机制等功能

4.Session:用户会话期间的控制,如:最多打开的文件数,最多的进程数等

5.-type:表示因为缺失而不能加载的模块将不记录到系统日志,对于那些不总是安装在系统上的模块有用

3.2.2第二模块类型Contrl Flags,PAM验证类型的返回结果

1.required验证失败时依然继续,但返回Fail

2.requisite验证失败则立即结束整个验证过程,返回Fail

3.sufficient验证成功则立即返回,不再继续,否则忽略结果并继续

4.optional不用于验证,只显示信息(通常用于session类型)

3.2.3第三列要调用的功能或参数

PAM验证

3.2.4shell模块

功能检查有效shell
帮助命令格式man pam  shells
案例不允许使用/bin/csh的用户本地登录
模块

pam_shells.so只允许规定的shell类型通过,是在/etc/shells文件中存在的类型通过

四、*limit

ulimit  -a:查看全部内核

vim /etc/sysctl.conf:专门用来修改内核参数的

内核参数:

只读:只用于输出信息

五、grub加密

/etc/grub.d-目录

00_header设置grub默认参数
10_linux系统中存在多个linux版本
20_ppc_terminfo设置tty控制台
30_os_prober设置其他分区中的系统(硬盘中有多个操作系统时设置)
40_custom和41_custom用户自定义的配置

5.1GRUB 2  加密

由于GRUB 2负责引导linux系统,其作为系统中的第一道屏障的安全性非常重要,对GRUB 2进行加密可以实现安全性。

GRUB 2密码支持以下两种格式:

明文密码:密码数据没有经过加密,安全性差

PBKDF2加密密码:密码经过PBKDF2哈希算法进行加密,在文件中存储的是加密后的密码数据,安全性较高。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1623945.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SSL证书安装失败怎么办?

在互联网时代,SSL(Secure Sockets Layer)证书已成为保障网站数据传输安全、提升用户信任度的重要工具。然而,在实际操作过程中,SSL证书的安装并非总能一帆风顺,有时会遇到各种导致安装失败的问题。本文将详…

轻松上手Python Schedule模块,实现高效定时任务

🍀 前言 博客地址: CSDN:https://blog.csdn.net/powerbiubiu 👋 简介 Schedule是Python中的一个轻量级进程调度程序库,用于安排任务以指定的时间间隔定期运行 📖 正文 1 Schedule的介绍 1.1 安装 pip…

详解MySQL C API 相关接口(大白话就是:MySQL的c语言怎么写)

文章目录 1、C API 官方文档2、初始化 MYSQL3、连接 MySQL设置连接字符集(使得客户端编码方式匹配) 4、下发 mysql 指令5、获取 mysql 查询结果(保存起来)获取行与列遍历存储结果 6、释放 MYSQL\_RES 对象7、关闭 MySQL 连接8、总结 1、C API 官方文档 …

CSS中的 5 类常见伪元素详解!

你好,我是云桃桃。 一个希望帮助更多朋友快速入门 WEB 前端的程序媛。 云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合…

【运维自动化-配置平台】如何通过模板创建集群和模块

通过【每天掌握一个功能点】配置平台如何创建业务机拓扑(集群-模块)我们知道了直接创建集群和模块的操作方法,直接创建的方式适合各集群模块都相对独立的场景,那大量的、标准规范的集群模块如何快速创建呢,这里就引入了…

企业实施定制鞋厂ERP软件需要注意哪些问题?

企业实施定制鞋厂ERP软件是个复杂的管理系统工程,为了成功地为企业定制实施ERP软件,需要注意和解决几个关键的问题: . 确立ERP系统实施和定制的决策者;. 做好前期咨询与调研工作;. 做好系统产品或项目迭代规划&#x…

Linux安装Docker的多版本PHP和多版本MySQL共存

1: 先安装docker 安装完后执行,权限设置 sudo usermod -aG docker $USER或者sudo usermod -aG docker kentrl#添加当前用户到Docker用户组中 sudo newgrp docker#更新用户组数据,必须执行否则无效 sudo systemctl restart docker 先看目录结构: 2:按照目录结构挂载磁盘,…

ZDOCK linux 下载(无需安装)、配置、使用

ZDOCK 下载 使用 1. 下载1)教育邮箱提交申请,会收到下载密码2)选择相应的版本3)解压 2. 使用方法Step 1:将pdb文件处理为ZDOCK可接受格式Step 2:DockingStep 3:创建所有预测结构 1. 下载 1&…

Java | Leetcode Java题解之第43题字符串相乘

题目: 题解: class Solution {public String multiply(String num1, String num2) {if (num1.equals("0") || num2.equals("0")) {return "0";}int m num1.length(), n num2.length();int[] ansArr new int[m n];for…

python爬虫学习------scrapy第二部分(第三十天)

🎈🎈作者主页: 喔的嘛呀🎈🎈 🎈🎈所属专栏:python爬虫学习🎈🎈 ✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天…

C# GetField 方法应用实例

目录 关于 C# Type 类 GetField 方法应用 应用举例 心理CT设计题 类设计 DPCT类实现代码 小结 关于 C# Type 类 Type表示类型声明:类类型、接口类型、数组类型、值类型、枚举类型、类型参数、泛型类型定义,以及开放或封闭构造的泛型类型。调用 t…

制造企业看重的OEE,到底是怎么回事?

OEE(Overall Equipment Effectiveness,全局设备效率)是一个用于评估生产设备性能和效率的指标,它通过综合考虑设备的可用率、性能率和良品率等因素,来评估设备的整体表现和生产效果。 其计算公式为: OEE …

好用的在线客服系统PHP源码(开源代码+终身使用+安装教程) 制作第一步

创建一个在线客服系统是一个涉及多个步骤的过程,包括前端界面设计、后端逻辑处理、数据库设计、用户认证、实时通信等多个方面。以下是使用PHP制作在线客服系统的第一步:需求分析和系统设计。演示:ym.fzapp.top 第一步:需求分析 确…

Oceanbase体验之(二)Oceanbase集群的搭建(社区版4.2.2)

资源规划 3台observer CPU:4C及以上 内存:32G及以上 硬盘操作系统500G 存储盘1T及以上 虚拟机可以直接划分,物理机需要提前规划好资源 一、上传oceanbase安装包 登录ocp选择软件包管理 上传Oceanbase软件包(软件包获取路径 官网免费下载社…

双向链表介绍

带头链表⾥的头节点,实际为“哨兵位”,哨兵位节点不存储任何有效元素,只是站在这⾥“放哨的”。哨兵位存在的意义:避免链表出现死循环。 双向链表的结构:数据指向下一个节点的指针指向前一个节点的指针 typedef in…

Postman - 设置变量

场景: 比如你接口都有权限,访问需要每调一个接口都手动放token的值,这个时候就可以搞个全局的变量,只设置一次就可以了 1、设置变量 Environments -> Globals - > 设置key 、value 2、使用变量 {{你得变量名-key}} 3…

[Linux][多线程][四][线程同步][POSIX信号量][环形队列生产者消费者模型][线程池]

目录 1.POSIX信号量1.基本概念2.为什么要有信号量? --> 提高效率3.信号量的PV操作4.PV操作必须是原子操作5.申请信号量失败被挂起等待6.理解信号量大致结构 2.信号量函数1.初始化2.销毁3.等待信号量 -- 申请信号量 --> P()4.发布信号量 -- 释放信号量 --> V() 3.基于…

LeetCode 2739. 总行驶距离

题目链接https://leetcode.cn/problems/total-distance-traveled/?envTypedaily-question&envId2024-04-25 简单题,看代码思考一下即可理解 class Solution {public int distanceTraveled(int mainTank, int additionalTank) {int res 0;while (mainTank >…

探索直播+电商系统中台架构:连接消费者与商品的智能纽带

随着直播电商的崛起,电商行业进入了全新的智能时代。直播形式的互动性和即时性为消费者提供了全新的购物体验,而电商平台则为商品的展示、销售和配送提供了强大的支持。在这一背景下,直播电商系统中台架构成为了连接消费者与商品的智能纽带&a…

模块化 手写实现webpack

模块化 common.js 的导入导出方法: require \ export 和 module.exports export 和 module.export nodejs 内存1.4G -> 2.8G cjs ESModule 主要区别: require属于动态类型:加载执行 同步 esmodul是静态类型:引入时并不会真的去…