Linux—系统安全及应用

news2024/11/24 19:40:33

目录

一、账号安全控制

1、系统账号清理

1.1、将用户账号设置为无法登录

1.2、锁定长期不使用的账号

1.3、删除无用的账号

 1.4、锁定账号文件passwd、shadow

2、密码安全控制

2.1、设置密码有效期

2.1.1、适用于新建用户

2.1.2、适用于已有用户

2.2、强制用户下次登录一定修改密码

3、历史命令限制

3.1、临时清除历史指令

 3.2、开机自清除历史指令

3.3、用户退出清除历史指令

3.4、终端自动注销

3.5、设置记录命令条数

4、切换用户

4.1、su

4.2、su命令的安全隐患

 4.3、禁止用户使用su命令

4.4、添加用户 

二、PAM安全认证

1、PAM概述

2、PAM框架

 3、PAM安全认证流程


一、账号安全控制

1、系统账号清理

1.1、将用户账号设置为无法登录

  • 操作:将用户的Shell设为/sbin/nologin,就能让该用户无法登录

usermod   -s  /sbin/nologin  用户名                         #将非登录用户的shell设为/sbin/nologin

1.2、锁定长期不使用的账号

1、usermod -L  用户名              #锁定用户账号密码

2、usermod -U  用户名              #解锁用户账号密码

3、passwd -S  用户名              #查看用户账号状态

1.3、删除无用的账号

  userdel  -r  用户名                                             #删除用户账号

 1.4、锁定账号文件passwd、shadow

1、chattr +i  /etc/passwd  /etc/shadow #锁定配置文件,所有用户不能修改

2、chattr -i  /etc/passwd  /etc/shadow #解锁配置文件

3、lsattr /etc/passwd  /etc/shadow

2、密码安全控制

2.1、设置密码有效期

2.1.1、适用于新建用户

    vim /etc/login.defs                                                  #在/etc/login.defs配置文件里设置

2.1.2、适用于已有用户

chage     选项      用户名

 使用参数:

2.2、强制用户下次登录一定修改密码

chage  -d  0  用户名                                               #强制用户下次登录一定修改密码

3、历史命令限制

3.1、临时清除历史指令

   history -c                                                            #临时清除历史指令

 3.2、开机自清除历史指令

1、vim   ~/.bashrc

2、echo "  "  > ~/.bash_history

  • 进入vim 编辑界面,输入命令

·

3.3、用户退出清除历史指令

1、vim  ~/.bash_logout

2、echo " "  > ~/.bash_history

  • 进入vim 编辑界面,输入命令

3.4、终端自动注销

1、vim /etc/profile                                                #所有用户生效

2、export TMOUT=60                                         #设置超时时间,用户闲置后注销

 

  •  进入vim 编辑界面,输入命令

3.5、设置记录命令条数

1、vim /etc/profile 

2、export HISTSIZE=20

 

  •  进入vim 编辑界面,输入命令

4、切换用户

4.1、su

  • 用于切换用户身份

su - 目标用户                                        # 将使用目标用户登录Shell环境

su   目标用户                                        #不改变当前工作目录和环境变量设置,不完全切换

4.2、su命令的安全隐患

  • 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险
  • 为了加强su命令的使用控制,可借助于PAM认证模块只允许极个别用户使用su命令进行切换

 4.3、禁止用户使用su命令

vim /etc/pam.d/su

  •  前面加上#(注释)符号就可以了

4.4、添加用户 

gpasswd  -a  用户   组

二、PAM安全认证

1、PAM概述

PAM(Pluggable Authentication Modules,可插拔认证模块)是一种灵活的、可扩展的认证框架,用于在 Linux 和 Unix 系统中管理用户认证。PAM 提供了一种标准化的方法,通过模块化的设计,允许系统管理员在不修改应用程序的情况下,轻松地添加、删除或配置认证机制。它支持多种认证方式,包括密码、指纹、智能卡等,确保系统的安全性和可管理性。

2、PAM框架

1、cd /etc/pam.d

2、vim sshd

①、第一列代表PAM认证模块类型:

  • auth: 对用户身份进行识别,如提示输入密码,判断是否为root。
  • account: 对账号各项属性进行检查,如是否允许登录系统,帐号是否已经过期,是否达到最大用户数等。
  • password: 使用用户信息来更新数据,如修改用户密码。
  • session:定义登录前以及退出后所要进行的会话操作管理,如登录连接信息,用户数据的打开和关闭,挂载文件系统。
     

②、第二列代表PAM控制标记:

  • required:表示需要返回一个成功值,如果返回失败,不会立刻将失败结果返回,而是继续进行同类型的下一验证,所有此类型的模块都执行完成后,再返回失败。
  • requisite:与required类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败。
  • sufficient:如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值。
  • optional: 不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于session类型),
  • include:表示在验证过程中调用其他的PAM配置文件。比如很多应用通过完整调用/etc/pam.d/system-auth(主要负责用户登录系统的认证工作)来实现认证而不需要重新逐一去写配置项。
     

③、第三列代表PAM模块:

  • 默认是在/lib64/security/目录下,如果不在此默认路径下,要填写绝对路径。
  • 同一个模块,可以出现在不同的模块类型中,它在不同的类型中所执行的操作都不相同,这是由于每个模块针对不同的模块类型编制了不同的执行函数。
     

 ④、第四列代表PAM模块的参数:

  • 这个需要根据所使用的模块来添加。
  • 传递给模块的参数。参数可以有多个,之间用空格分隔开
     

 3、PAM安全认证流程

解释: 

  • required 验证失败时仍然继续,但返回Fail
  • requisite验证失败则立即结束整个验证过程,返回Fail
  • sufficient验证成功则立即返回,不再继续,否则忽略结果并继续
  • optional不用于验证,只显示信息(通常用于session类型)

 

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

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

相关文章

Python学习笔记26:进阶篇(十五)常见标准库使用之性能测试cProfile模块学习使用

前言 本文是根据python官方教程中标准库模块的介绍,自己查询资料并整理,编写代码示例做出的学习笔记。 根据模块知识,一次讲解单个或者多个模块的内容。 教程链接:https://docs.python.org/zh-cn/3/tutorial/index.html 本文主要…

Qt—贪吃蛇项目(由0到1实现贪吃蛇项目)

用Qt实现一个贪吃蛇项目 一、项目介绍二、游戏大厅界面实现2.1完成游戏大厅的背景图。2.2创建一个按钮,给它设置样式,并且可以跳转到别的页面 三、难度选择界面实现四、 游戏界面实现五、在文件中写入历史战绩5.1 从文件里提取分数5.2 把贪吃蛇的长度存入…

华为OceanStor磁盘阵列存储恢复出厂设置命令 LUN不处于在线状态,不能执行此操作解决方案

环境 OceanStor S2600T V2老版本 客户现场有一台Oceanstor 2600 V2的存储,因和另一台磁盘扩展框做了跨设备LUN需要进行配置清除,配置结束后需要重新划分存储空间并对接服务器,保证业务能够正常上线!在清除配置回退的过程中&#…

Firefox 编译指南2024 Windows10篇- 编译Firefox(三)

1.引言 在成功获取了Firefox源码之后,下一步就是将这些源码编译成一个可执行的浏览器。编译是开发流程中的关键环节,通过编译,我们可以将源代码转换为可执行的程序,测试其功能,并进行必要的优化和调试。 对于像Firef…

Milvus【部署 01】向量数据库Milvus在Linux环境下的在线+离线安装

向量数据库Milvus在Linux环境下的在线离线安装 1.千问简介2.在线安装2.离线安装 1.千问简介 Milvus 是一款专为处理高维向量数据设计的开源云原生数据库,旨在满足海量向量数据的实时召回需求。它由 Zilliz 公司开发并维护,基于Apache许可证2.0版本发布。…

选择适合你的8款原型设计工具

随着互联网的飞速发展,设计行业逐渐成为近年来的热门职业。设计师们需要的掌握的技能也越来越多,例如海报设计、名片设计、产品设计、网页设计等。产品原型设计就是产品设计中非常重要的一个阶段,主要目的是帮助用户更容易了解产品设计的思路…

YouTube广告投放指南:如何投放 YouTube视频广告

在海外广告投放中,YOutube是重要的渠道之一。这篇文章Maskfog将为你介绍Youtube广告类型以及广告投放流程,继续看下去! YouTube 视频广告的类型 1.信息流视频广告 信息流视频广告显示在 YouTube 主页、搜索结果页面上,并作为 Yo…

【pytorch10】统计属性

常见统计属性 norm(范数)mean,sumprodmax,min,argmin,argmaxkthvalue,topk kthvalue求第几个的位置和第几个的值 topk求top几的这样的一个数值 norm范数 这里的norm表达的是范数的意思,norma…

wait/notify 的原理

目录 一、wait/notify 的原理 二、虚假唤醒(错误唤醒) 三、使用 wait/notify 的正确姿势 一、wait/notify 的原理 1. owner 线程发现有条件不满足,调用 wait() 进入 Monitor 的 WaitSet 等待,切换为 Waiting 状态 2. 问题&…

老生常谈问题之什么是缓存穿透、缓存击穿、缓存雪崩?举个例子你就彻底懂了!!

老生常谈问题之什么是缓存穿透、缓存击穿、缓存雪崩?举个例子你就彻底懂了!! 缓存穿透发生场景解决方案 缓存击穿解决方案 缓存雪崩发生场景解决方案 总结三者区分三者原因三者解决方案 想象一下,你开了一家便利店,店里…

Springboot Mybatis 多数据源配置以及使用

在Spring Boot中配置MyBatis的多数据源是一个常见需求,尤其是在需要连接多个数据库时,下面是详细的步骤指南。 引入依赖 首先,在你的pom.xml文件中添加Spring Boot、MyBatis和数据库连接的相关依赖。例如,如果你使用的是MySQL数…

Boosted Trees 介绍

Boosted Trees 介绍 文章目录 Boosted Trees 介绍监督学习要素模型和参数目标函数:训练损失 正则化为什么介绍一般原则? 决策树集成Tree BoostingAdditive TrainingModel ComplexityThe Structure ScoreLearn the tree structure 关于 XGBoost 的最后话…

Kotlin vs Java:深入解析两者之间的最新差异与优劣(全面指南)

文章目录 1. 概述2. 语法简洁性3. 空安全4. 扩展函数5. 协程6. 数据类7. 智能类型转换8. 默认参数与命名参数9. 无 checked exceptions10. 单例模式总结 🎉欢迎来到Java学习路线专栏~探索Java中的静态变量与实例变量 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒🍹✨…

某麦网自动刷新抢票脚本——手机端(高级版)

某麦网自动刷新抢票脚本——电脑端 小白操作-抵制黄牛–需要更好用更高级关注获取 如何用Python自动抢大麦网演出票? 在数字化时代,购票已经成为我们生活的一部分,无论是音乐会、话剧、体育赛事还是各种展览,抢票几乎成了一项“…

【隐私计算】对SIMD编码的粗浅理解

首先需要知道,同态加密是在多项式上进行的,基于RLEW的整体流程如下: 将单个数编码到一个N阶(N项)多项式中,多项式系数的利用率极低。而在神经网络中,我们需要计算的东西往往是一个很大的矩阵/te…

使用 nvm 管理 Node 版本及 pnpm 安装

文章目录 GithubWindows 环境Mac/Linux 使用脚本进行安装或更新Mac/Linux 环境变量nvm 常用命令npm 常用命令npm 安装 pnpmNode 历史版本 Github https://github.com/nvm-sh/nvm Windows 环境 https://nvm.uihtm.com/nvm.html Mac/Linux 使用脚本进行安装或更新 curl -o- …

可用的微信小程序抓包方式(Charles + bp)

扫码领资料 获网安教程 前言 接到对公司小程序进行渗透的任务,尝试了网上几种对小程序抓包的方式(BurpProxifier、Burp安卓模拟器等)都无法完成抓包,可能已经失效,结合不同的文章尝试了bpCharles,成功抓包…

支持内嵌H5页面,谈谈微信小程序的应用场景

目录 一、微信小程序介绍二、什么是内嵌H5页面三、小程序内嵌H5页面的如何交互四、微信小程序的应用场景 一、微信小程序介绍 微信小程序是一种基于微信平台的轻量级应用,它无需下载安装,用户只需通过微信扫一扫或搜索即可快速打开使用。与传统的APP相比…

新火种AI|苹果要将苹果智能做成AI时代的APP Store?

作者:一号 编辑:美美 苹果还是想要自己做AI时代的“APP Store”。 自从去年开始落了队,苹果现在AI上开始高歌猛进。今年WWDC上展示的AI产品和与OpenAI的合作只是开始。有消息称,苹果正与Meta等AI巨头展开深入合作,这…

二、安装虚拟机

本篇来源:山海同行 本篇地址:https://shanhaigo.cn/courseDetail/1805875642621952000 本篇资源:以整理到-山海同行 一、官网下载centos7 1. 进入CentOS 官方网站 官方网站:https://www.centos.org/download/ 2. 选择iso 点击下…