奶奶常说账号安全控制与PAM认证模块及sudo授权命令学不会不许睡觉(一)

本文主要是介绍奶奶常说账号安全控制与PAM认证模块及sudo授权命令学不会不许睡觉(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系统安全及应用

  • 引言
  • 一.账号安全基本措施
    • 1.系统账号清理
      • ①将非登录用户的Shell设为/sbin/nologin
      • ②锁定长期不使用的账号
      • ③删除无用的账号
      • ④清空一个账号密码
      • ⑤锁定账号文件passwd、shadow
    • 2.密码安全控制
      • ①chage -M适用于已有用户
      • ②设置密码有效期
      • ③强制下次登陆更换密码
    • 3.命令历史限制
    • 4.终端自动注销
  • 二.SU命令切换用户
    • 1. 用途及用法
    • 2.密码验证
    • 3.限制使用su命令的用户
  • 三.Linux中的PAM安全认证
    • 1. su命令的安全隐患
    • 2.PAM(Pluggable Authentication Modules)可插拔式认证模块
    • 3.PAM认证原理
  • 四.sudo机制提升权限
    • 1.sudo命令的用途及用法
      • ①.配置sudo授权
    • 2.别名创建
  • 五.开关机安全控制
    • 1.调整BIOS引导设置
    • 2.GRUB限制
  • 总结

引言

一.账号安全基本措施

1.系统账号清理

①将非登录用户的Shell设为/sbin/nologin

usermod -s /sbin/nologin 用户名

②锁定长期不使用的账号

usermod -L 用户名           锁定用户账户  
passwd -l 用户名            锁定用户密码
passwd -S 用户名            查看用户状态

③删除无用的账号

userdel -r 用户名           删除用户及其宿主目录   

④清空一个账号密码

passwd -d 用户名            清空账户密码

⑤锁定账号文件passwd、shadow

chattr +i /etc/passwd /etc/shadow      锁定文件
lsattr /etc/passwd /etc/shadow         查看文件状态
chattr -i /etc/passwd /etc/shadow      解锁文件

在这里插入图片描述得出结论,由于/etc/passwd和/etc/shadow都存放的用户账号信息,所以两个缺一不可,少一个都无法创建用户与更改密码

2.密码安全控制

chage -M 日期 用户               设置用户密码有效期
chage -E xxxx-xx-xx             设置过期日期

①chage -M适用于已有用户

在这里插入图片描述

②设置密码有效期

要求用户下次登陆时修改密码
适用于新建用户:
vi /etc/login.defs

vi /etc/login.defs     修改密码配置文件适用于新建用户
……
PASS_MAX_DAYS 30
[root@localhost ~]# chage -M 30 用户
[root@localhost ~]# cat /etc/shadow | grep 用户

这篇关于奶奶常说账号安全控制与PAM认证模块及sudo授权命令学不会不许睡觉(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/277146

相关文章

浅析Spring Security认证过程

类图 为了方便理解Spring Security认证流程,特意画了如下的类图,包含相关的核心认证类 概述 核心验证器 AuthenticationManager 该对象提供了认证方法的入口,接收一个Authentiaton对象作为参数; public interface AuthenticationManager {Authentication authenticate(Authenti

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

利用命令模式构建高效的手游后端架构

在现代手游开发中,后端架构的设计对于支持高并发、快速迭代和复杂游戏逻辑至关重要。命令模式作为一种行为设计模式,可以有效地解耦请求的发起者与接收者,提升系统的可维护性和扩展性。本文将深入探讨如何利用命令模式构建一个强大且灵活的手游后端架构。 1. 命令模式的概念与优势 命令模式通过将请求封装为对象,使得请求的发起者和接收者之间的耦合度降低。这种模式的主要优势包括: 解耦请求发起者与处理者

linux 判断某个命令是否安装

linux 判断某个命令是否安装 if ! [ -x "$(command -v git)" ]; thenecho 'Error: git is not installed.' >&2exit 1fi

Jenkins构建Maven聚合工程,指定构建子模块

一、设置单独编译构建子模块 配置: 1、Root POM指向父pom.xml 2、Goals and options指定构建模块的参数: mvn -pl project1/project1-son -am clean package 单独构建project1-son项目以及它所依赖的其它项目。 说明: mvn clean package -pl 父级模块名/子模块名 -am参数

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚