账号安全及应用

embedded/2024/11/15 4:35:07/

一、账号安全控制

 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.ppmy.cn/embedded/16031.html

相关文章

C语言——九九乘法表

直接上代码实现九九乘法表&#xff0c;完整代码如下&#xff1a; #include <stdio.h>int main(){int i,j;for(i1;i<10;i){for(j1;j<i;j){printf("%d*%d%d\t",j,i,i*j);/*printf("%d*%d%-2d",j,i,i*j);*/}printf("\n");}return 0; }…

MySQL运维故障排查与高效解决方案

一、引言 MySQL作为关键的业务数据库&#xff0c;其稳定运行对于企业的日常运营至关重要。然而&#xff0c;在实际运维过程中&#xff0c;我们可能会遇到各种故障和问题。本文将针对MySQL运维中常见的故障进行深度排查&#xff0c;并提供高效的解决方案&#xff0c;帮助运维人员…

【SAP ME 26】SAP ME创建开发组件(DC)mobile

目录 1、说明 2、创建开发组件(DC) 3、相关性 4、公共部分 5、构建

Allure精通指南(03)报告结构详解和常用装饰器

文章目录 Allure 命令行参数分类明细 Allure 测试报告首页分析Overview&#xff08;总览&#xff09;Categories&#xff08;类别&#xff09;Suites&#xff08;测试套&#xff09;Graphs&#xff08;图表&#xff09;Timeline&#xff08;时间刻度&#xff09;Behaviors&…

7.MyBatis 操作数据库(初阶)

文章目录 1.什么是MyBatis2.为什么要学习 MyBatis&#xff1f;3.通过spring框架创建MyBatis项目3.1使用MyBatis查询数据库3.2 mysql连接不上报错解决方法 4.MyBatis的基础操作4.1企业建表规范&#xff1a;4.2MyBatis基本实现4.3单元测试4.4使用MyBatis可能遇到的问题4.5配置MyB…

一次Ambari安装记录

引言 Ambari是一个开源的Apache项目,它提供了一个直观易用的Web界面,用于管理、监控和配置Apache Hadoop集群。它是一个集群管理工具,可以帮助管理员轻松地部署、管理和监控Hadoop集群的各种组件,如HDFS、YARN、MapReduce、Hive、HBase等。通过Ambari,用户可以在集群中添…

基于 Socket 的网络编程

网络编程 指网络上的主机, 通过不同的进程, 以编程的方式实现 网络通信 (或称为网络数据传输) (同一台主机的不同进程间, 基于网路的通信也可以称为网络编程) 服务端 & 客户端 网络编程中的概念 服务端: 网络通信中, 提供服务的一方 (进程) 客户端: 网络通信中, 获取服务…

Pandas 2.2 中文官方教程和指南(二十一·一)

原文&#xff1a;pandas.pydata.org/docs/ 窗口操作 原文&#xff1a;pandas.pydata.org/docs/user_guide/window.html pandas 包含一组紧凑的 API&#xff0c;用于执行窗口操作 - 一种在值的滑动分区上执行聚合的操作。该 API 的功能类似于groupby API&#xff0c;Series和Dat…