Linux 账号安全管理及应用

一、账号安全控制

1.系统账号清理

1.1 将非登录用户设置为无法登录

usermod -s  /etc/nologin  pkm          #将名为pkm 用户的shell设为/sbin/nologin

用户 pkm 将无法登录

1.2 锁定长期不使用的账号

usermod  -L      用户名              #锁定用户账号密码
usermod  -U      用户名              #解锁用户账号密码

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

1.3 删除无用账号

userdel  -r        用户名              #删除用户    

1.4 锁定账号文件 /etc/passwd 与 /etc/shadow

chattr      +i        /etc/passwd            #锁住文件passwd

chattr      -i         /etc/passwd            #解锁文件passwd

lsattr        /etc/passwd                 #查看文件锁定状态

2.密码安全控制

2.1 密码安全有效期

2.1.1 创建新用户适用

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

2.1.2 适用于已有用户

chage      选项       用户名              

设置账号过期日期

强制用户下次登陆修改密码

3. 历史记录限制

当我们使用history 命令时可以查看到历史使用命令,这非常的不安全

3.1 临时清除历史命令记录

history    -c                  #清除历史命令记录

3.2 登出时自动删除历史命令记录

1.vim   .bash_logout                          

2.rm  -f  $HOME/.bash_history 

3.3 设置历史命令条数

1. vim   /etc/profile

2. export   HISTSIZE= 设定的条数

3.4 设置终端自动注销

1. vim   /etc/profile

2. export   TMOUT=5

4. su 切换用户

4.1 su 命令

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

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

4.2禁止用户使用su命令

默认情况下,任何用户都允许使用 su 命令,从而有机会反复尝试其他用户(如 root) 的登录密码,这样带来了安全风险

将授权使用 su 命令 的用户添加到 wheel 组,修改/etc/pam.d/su 认证配置以启用 pam_wheel 认证

gpasswd    -a   用户名  组名         #将用户添加到组

解开#注释,将pkm加入wheel组之后就可以普通用户之间切换登录

二、PAM 模块认证

Linux-PAM,是linux可插拔认证模块,是一套可定制、 可动态加载的共享库,使本地系统管理员可以随意选择程序的认证方式

PAM使用/etc/pam.d/下的配置文件,来管理对程序的认证方式。应用程序调用相应的PAM配置文件,从而调用本地的认证模块,模块放置在/1ib64/security下,以加载动态库的形式进行认证。比如使用su命令时,系统会提示输入root用户的密码,这就是su命令通过调用PAM模块实现的

1. 查看某个程序是否支持 PAM 模块

ls  /etc/pam.d

2. PAM认证流程:

required: 表示需要返回一个成功值,如果返回失败,不会立刻将失败结果返回,而是继续进行同类型的下一验证,所有此类型的模块都执行完成后,再返回失败。

requisite: 与required类似,但如果此模块返回失败,则立刻返回失败并表示此类型失败。

sufficient: 如果此模块返回成功,则直接向程序返回成功,表示此类成功,如果失败,也不影响这类型的返回值。

optional: 不进行成功与否的返回,一般不用于验证,只是显示信息(通常用于session类型),
 

三、sudo 机制提升权限

普通用户想要使用某些命令但没有权限:

在/etc/sudoers 内进行sudo 设置

visudo   或    vim   /etc/sudoers

1. sudo 语法格式:

用户 主机名=命令程序列表
用户 主机名=(用户)命令程序列表

使用户jqg 在所有(ALL)主机都可使用useradd,userdel命令

创建用户cs:

删除用户cs:

2.多个用户或组设置别名

当使用相同授权的用户较多,或者授权的命令较多时,可以采用集中定义的别名。用户、 主机、命令部分都可以定义为别名(必须为大写)

分别通过关键字User_Alias、Host_Alias、Cmnd_Alias来进行设置
 

切换到cs 使用useradd命令 创建用户wjh

3.启用sudo操作日志
 

sudo日志记录可被管理员查看,在/etc/sudoers 文件中增加“Defaults logfile”设置

用户使用sudo命令 可在/var/log/sudo 查看到使用记录

四、限制更改GRUB 引导参数

通常情况下在系统开机进入GRUB菜单时,按e键可以查看并修改GRUB引导参数,这对服务器是一个极大的威胁
可以为GRUB菜单设置一个密码,只有提供正确的密码才被允许修改引导参数
 

grub2 - setpassword            #直接设置grub密码

在开机时按esc键,e键进行编辑

此时系统提示我们需要输入用户名和密码才能进入编辑:

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

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

相关文章

【C】Structure

参考摘抄学习来自: C 结构体C语言必学知识点 "结构体"详细解析!C 语言之结构体最全面总结C typedef 文章目录 1 定义2 初始化3 结构体大小的计算4 访问结构成员5 结构作为函数参数6 指向结构的指针7 结构体数组8 动态申请结构体 1 定义 它允…

导入的Docker 镜像无名称和标签问题

解决办法 第一种 重命名 docker tag [镜像id] [新镜像名称]:[新镜像标签]第二种 规范导出 docker save -o xxxx.tar [镜像名称]:[镜像标签]使用镜像ID打包的话导致解压的出来的镜像没有名字

RFID电子锁在物流货运智能锁控管理的创新方案

物流货运锁控的现实挑战 易损性:传统锁具易受物理破坏,无法抵御恶意撬锁。 低效率:依赖人工操作,开锁速度慢,影响作业效率。 高成本:钥匙的制作、管理和丢失替换成本高昂。 监控缺陷:缺乏实…

深入理解Java的面向对象编程

1. 什么是面向对象编程(OOP)? 面向对象编程是一种编程范式,它将程序中的数据与操作数据的方法组织为对象。每个对象都可以接收消息、处理数据以及发送消息给其他对象。在Java中,每个对象都是一个类的实例。 2. 核心概…

保障信息资产:ISO 27001信息安全管理体系的重要性

在当今数字化和全球化的时代,信息安全已经成为企业成功和持续发展的关键因素之一。随着信息技术的快速发展和互联网的普及,企业面临着越来越多的信息安全威胁和挑战,如数据泄露、网络攻击、恶意软件等。为了有效应对这些威胁,企业…

智能升级,监控无界——全新安全生产生态算法一体机上线

安全生产生态算法一体机 安全生产生态算法一体机是万物纵横推出的一款AI算法软硬一体生态产品,重点面向安全生产领域,采用BM1684强劲AI芯片,内置安全生产场景所需的多种专用AI算法,面向各场景的人员监控、规范作业、异常检测等应…

实现ubuntu的任务计划反弹shell

1.实验目的 使用Ubuntu定时任务反弹shell 2实验环境 ubuntu:ip地址:192.168.80.133 kali:ip地址:192.168.80.134 3.编写crontab计划任务 在ubuntu的系统中使用crontab -e命令编写计划任务 作用:是将一个交互式的…

Mysql 左关联(LEFT JOIN)

在左关联(LEFT JOIN)操作中,关于大表和小表的连接顺序,通常建议将小表放在前面,大表放在后面。这种安排方式有助于提高查询效率,原因如下: 扫描效率:在SQL查询中,尤其是…

Java 乐观锁与悲观锁

1. 前言 本节内容主要是对 Java 乐观锁与悲观锁进行更加深入的讲解,本节内容更加偏重于对乐观锁的讲解,因为 synchronized 悲观锁对于大部分学习者并不陌生,本节主要内容如下: 乐观锁与悲观锁的概念,之前有所讲解,这里用很小的篇幅进行知识的回顾,巩固;乐观锁与悲观锁…

Vue +Echarts 二维数组获取最大值和最小值以及索引

实现图例效果 获取最大值方法&#xff1a; maxSecond(array) {let max Number.MIN_SAFE_INTEGER;for (let i 0; i < array.length; i) {const secondElement parseInt(array[i][1]);if (secondElement > max) {max secondElement;}}return max;}, 获取最大值索引&…

【高性能服务器】select模型

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 IO多路复用就是复用…

ES 嵌套查询

背景 一个配方由多种原材料组成&#xff0c;需求是根据各种原材料的用量搜索出对应的配方 配方实体类 class Formula {private long id;private String name;private List<Material> materials;}class Material {JsonProperty("material_id")private long m…

认识不-物联网“六域模型”有哪些有什么作用

如下参考源于苏州稳联授权可见认知域-感知域-网络域-应用域-管理域-安全域-物联网六域模型 苏州稳联 (iotrouter.cn) 认识物联网“六域模型”&#xff1a;构成与作用 “六域模型”是一个有效的框架。这个模型通过将物联网划分为六个相互关联的域&#xff0c;帮助我们更好地理…

论文学习_Critical Variable Guided Mutation for Directed Greybox Fuzzing

1. 引言 研究背景:软件漏洞的出现可能会带来严重的安全隐患,因此对程序进行安全测试非常重要。在程序的数千行代码中,新提交的代码更容易引入漏洞,因为这些代码通常是为了功能升级或 bug 修复而添加的。现有的基于覆盖率的模糊测试方法虽然在发现真实世界软件系统中的安全…

【嵌入式——FreeRTOS】事件标志组

【嵌入式——FreeRTOS】事件标志组 简介相关API代码示例 简介 事件是一种实现任务间通信的机制&#xff0c;主要用于实现多任务间的同步&#xff0c;但是事件通信只能是事件类型的通信&#xff0c;无数据传输。与信号量不同的是&#xff0c;事件可以实现一对多&#xff0c;多对…

Citrix替换:不只是功能拉齐,更是性能体验的超越

用户在选择Citrix替换方案时&#xff0c;除了关注架构和功能的全面性&#xff0c;也期待着国产桌面办公方案带来的惊喜。 深信服桌面云不仅在基础能力和功能上做到了全面对标Citrix&#xff0c;还在用户极为重视的安全、可靠性、智能监控与排障、信创生态等方面做到了全面超越…

如何用SRM管理供应商,轻松又高效?

在企业运营的日常里&#xff0c;你是否常常为那些繁杂的供应商信息而头疼&#xff1f;每当项目紧急需要某个物料时&#xff0c;你是否会为了寻找可靠的供应商而焦头烂额&#xff1f;更别提那些层出不穷的交货延期、质量问题&#xff0c;以及难以追踪的合同条款了。这些问题&…

基于AGX ORIN与FPGA K7实现PCIE高速数据通信/Orin与FPGA高速数据传输/XDMA在linux系统使用教程

因最近想学习AGX orin和FPGA实现数据高速通信&#xff0c;借此机会和大家一起学习AGX orin和FPGA 制作不易&#xff0c;记得三连哦&#xff0c;给我动力&#xff0c;持续更新&#xff01;&#xff01;&#xff01; 完整工程文件下载&#xff1a;AGX orin与FPGA实现PCIE完整…

【深度学习】图形模型基础(5):线性回归模型第一部分:认识线性回归模型

1. 回归模型定义 最简单的回归模型是具有单一预测变量的线性模型&#xff0c;其基本形式如下&#xff1a; y a b x ϵ y a bx \epsilon yabxϵ 其中&#xff0c; a a a 和 b b b 被称为模型的系数或更一般地&#xff0c;模型的参数。 ϵ \epsilon ϵ 代表误差项&#…

如何使用 AI 提高程序猿的工作效率

我们程序猿其实是距离AI最近的一批人 也是别人眼中最有可能被AI代替的人 但是光恐惧或者排斥是没用的 有一句话说得好&#xff1a; 与其想办法跑的AI跑的快 不如考一张AI驾照 - 鲁迅 下面就分享3个我在日常工作中 使用的AI来提高效率的场景 1.使用AI来辅助编码&#xff0c;…