Linux—系统安全及应用

目录

一、账号安全控制

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.mzph.cn/pingmian/37205.shtml

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

相关文章

①常用API----Math

public static int abs(int a) // 返回参数的绝对值 public static double ceil(double a) // 返回大于或等于参数的最小整数 public static double floor(double a) // 返回小于或等于参数的最大整数 public static int round(f…

ETAS工具导入DEXT生成Dcm及Dem模块(一)

文章目录 前言Cfggen之前的修改ECU关联DcmDslConnectionDiagnostic ProtocolDiagnostic Ecu Instance PropsCommonContributionSetEvent修改communication channel总结前言 诊断模块开发一般是先设计诊断数据库,OEM会释放对应的诊断数据库,如.odx文件或.cdd文件。如果OEM没有…

如何修复Power BI【View usage metrics report】指标报表数据源更新问题?

故事背景 有朋友留言询问:通过我之前写的 想知道Power BI用户访问报告的次数?快来学习! 这篇文章,了解了如何查看Power BI用户访问报告的详情。 但是最近由于创建【View usage metrics report】指标报表的小伙伴离职了&#x…

【干货】一文讲清楚社群裂变的主要模式和SOP流程

一、社群裂变的主要模式 社群裂变是一种依赖于现有成员的推广以吸引新成员的增长策略。以下是几种主要的社群裂变模式: 老带新裂变 定义:通过老用户带动新用户,同时给予某一方或双方奖励的一种裂变形式。 示例:任务宝活动&…

公交车载视频监控系统概述

引言 随着城市交通的不断发展,公交车作为城市公共交通的重要组成部分,其安全性和管理效率越来越受到关注。为了提升公交车运营的安全性和管理效率,基于索迪迈视频监控管理平台,结合3G/4G网络技术,我们构建了一套公交车…

三星DRAM、NAND,“又双叒叕”带头涨价了

据韩国媒体《每日经济新闻》报道,三星电子计划在第三季度上调服务器DRAM和企业级NAND闪存的价格,涨幅预计在15%-20%,主要受人工智能(AI)需求激增的推动。这一举措有望提振公司下半年业绩。 据《经济日报》报道援引业内消息,由于厂…

jupyter安装及使用

引言 之前安装了anaconda,然后conda的环境管理里面就有jupyter,但是我一直没用过。 但是我用过colab,从使用体验上来说,非常相似,这次给服务器装了一个jupyter,然后我本地连接远程的来用,还挺…

【教程】几种不同的RBF神经网络

本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com 目录 一、经典RBF神经网络1.1.经典径向基神经网络是什么1.2.经典径向基神经网络-代码与示例 二、广义回归神经网络GRNN2.1.广义回归神经网络是什么2.2.广义回归神经网络是什么-代码与示例 三、概率…

知识图谱综述

什么是知识图谱 4月 24, 2024 119 这是一个基于这个优秀而全面的知识图谱教程的教程。 来源:Aidan et al., Knowledge Graphs, https://arxiv.org/pdf/2003.02320.pdf 一、说明 在我们周围的现实世界中,物体和它们之…

仿真CAN报文发送的CRC校验算法(附CAPL代码)

文章目录 前言一、为什么CAN报文有CRC?二、怎么确定是否需要做CRC校验?三、CAPL代码实现CRC算法 前言 关于CRC校验的基本理论、算法实现网上已经有很多介绍文章,本文不再赘述。只是记录在项目测试中真正开发CRC算法并进行测试的一些体会。 …

43.SO_BACKLOG

属于ServerSocketChannel参数 SO_BACKLOG 设置的过小,高峰期有很多连接来了,就会被拒绝,报拒绝连接错误。 控制全连接队列的大小,可以容下适量连接。所以SO_BACKLOG设置的要大一些。 serverBootstrap.option(ChannelOption.SO_B…

深度解析百数多标签技术:让数据处理更加精准与高效

百数的多标签功能允许用户在单个表单或应用中创建多个独立的标签页,每个标签页可以包含不同的字段和数据。这有助于清晰组织和管理表单内容,使数据结构更加分明。用户可以根据需要添加、删除或重新排序标签,轻松管理复杂数据,提高…

Swagger与RESTful API

1. Swagger简介 在现代软件开发中,RESTful API已成为应用程序间通信的一个标准。这种架构风格通过使用标准的HTTP方法来执行网络上的操作,简化了不同系统之间的交互。API(应用程序编程接口)允许不同的软件系统以一种预定义的方式…

【内网安全】组策略同步-不出网隧道上线-TCP转ICMP

目录 域控-防火墙-组策略对象同步演示1、打开组策略管理,新建一个GPO连接 取名fhq(防火墙)2、编辑fhq并设置防火墙状态3、命令:gpupdate/force 更新策略4、域控主机新增规则5、域内用户主机更新规则 域控-防火墙-组策略不出网上线演示 ICMP协议上线&…

NAND闪存原厂铠侠加速推上市,预计10月完成IPO

NAND闪存原厂铠侠Kioxia拟趁着半导体市场回暖及企业财务状况显著提升的契机,加速推进其上市进程。 据报道,公司计划最快于8月底提交IPO申请,目标是在2024年10月末于东京证券交易所完成首次公开募股。此番上市动作不仅反映出市场复苏迹象&…

探索未来的AI革命:GPT-5的即将登场

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

动手学深度学习(Pytorch版)代码实践 -计算机视觉-40目标检测和边界框

40目标检测和边界框 import torch from PIL import Image import matplotlib.pylab as plt from d2l import torch as d2lplt.figure(catdog) img Image.open(../limuPytorch/images/catdog.jpg) plt.imshow(img) plt.show()# 边界框 #save def box_corner_to_center(boxes):…

【Matlab】-- 飞蛾扑火优化算法

文章目录 文章目录 01 飞蛾扑火算法介绍02 飞蛾扑火算法伪代码03 基于Matlab的部分飞蛾扑火MFO算法04 参考文献 01 飞蛾扑火算法介绍 飞蛾扑火算法(Moth-Flame Optimization,MFO)是一种基于自然界飞蛾行为的群体智能优化算法。该算法由 Sey…

center()方法——字符串居中填充

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 字符串对象的center()方法用于将字符串填充至指定长度,并将原字符串居中输出。center()方法的语法格式如下: str.…

校园圈子小程序系统搭建需求和需要哪些功能?APP小程序H5前后端源码交付

功能:小程序授权登陆,支持app双端,小程序,h5,pc端,手机号登陆,发帖,建圈子、发活动。可置顶推荐帖子,关注、粉 丝、点赞等。可作为圈子贴吧、小红书、校园社区、表白墙、…