账号安全基本措施1

一、系统账号清理

1.1 将用户设置为无法登录

useradd -s /sbin/nologin lisi

shell类型设置为/sbin/nologin用户将无法使用bash或其他shell来登录系统。

1.2 锁定用户。passwd -l 用户名

正常情况下是可以送普通用户切换到其他普通用户的

当锁定密码后passwd -l lisi就用普通用户zhangsan登录不进去了

exit退到root用户,再解锁lisi用户,passwd -uf lisi,又可以登录进去

1.3 删除账户

删除账户使用userdel -r 用户名。-r连家目录一起删除

1.4 锁定配置文件

锁定配置文件可用chattr +i /etc/passwd /etc/shadow命令

使用lsattr /etc/passwd /etc/shadow查看

被锁定的文件无法修改,包括root用户。

可用chattr -i /etc/passwd /etc/shadow 解锁

二、密码安全控制

2.1 设置密码规则chage

可以修改/etc/login.defs中的内容来设置密码规则:vim /etc/login.defs

第一行代表自1970年1月1日过99999天密码过期

第二行代表从上次修改密码后多少天后可再次修改

第三行代表密码的长度不低于5位

第四行代表密码过期前几天提醒用户

可以看到新建的用户自1970年1月1日99999天后才过期,意味着永不过期

可通过chage命令修改

强制lisi用户下一次登录修改密码,且符合密码要求的复杂性!

设置密码有效期:

chage -M 30 lisi。第五字段

三、命令历史

可以使用history查看历史命令。

但考虑安全问题,一般不想让别人看到做了哪些操作,所以会清除历史命令

(1)历史命令的记录条数由HISTSIZE控制,默认是1000条。可以修改/etc/profile文件中的HISTSIZE变量值,可以影响系统中的所有用户。设置20条历史命令。

vim /etc/profile

修改完之后,执行一下命令 启用:source /etc/profile

(2)可以使用以下命令临时清除历史命令
history -c 
clear

(3)可以把.bash_history的文件清空,该文件存放历史命令。清空:echo " " > .bash_history

由于history -c清空了历史文件,此时按上键只有cat .bash_history命令。

但这些方法不能彻底清除历史命令。可以写在开机启动文件.bashrc里面。

vim ~/.bashrc

这样一开启就会清空存放历史命令的文件。

四、切换用户

su命令即 switch user,命令可以切换用户身份,并且以指定用户的身份执行命令

登录式切换:会读取该用户的配置文件,登录到自己的家目录。su - 用户名

非登录式切换:不会读取用户的配置文件。su 用户名

[root@localhost ~]# su zhangsan                # 非登录式切换
[zhangsan@localhost root]$ pwd                #还是在root下
/root
[zhangsan@localhost root]$ exit
exit
[root@localhost ~]# su - zhangsan             # 登录式切换
上一次登录:四 4月 18 22:41:29 CST 2024pts/0 上
[zhangsan@localhost ~]$ pwd                #在自己的家目录下
/home/zhangsan

说明:如果是root用户su切换用户时是不需要密码的,其他普通用户切换普通用户是需要密码的。

限制使用su命令的用户

默认所有用户都能使用su命令。

将用户加入到wheel组:gpasswd -a lisi wheel

 打开vim /etc/pam.d/su

第一列TYPE验证类型,验证是否能登录。

第二列控制位是否通过。

第三列调用的功能

第二行pam_rootok.so验证是否为uid为0的用户。也就是root用户可以直接登录不需要输入密码。

第六行中pam_wheel.so use_uid只有在wheel组内的用户才能使用su命令,root也会被禁用su

关闭第二行,开启第六行。也就是只有whell组中的用户才能使用su命令。

  root用户没有加入wheel组中,无法使用su命令。

 我们将root和lisi都加入到wheel组中。

到此:root,lisi都在wheel组中,zhangsan不在wheel组中。

五、PAM安全认证(可插拔式认证模块)

5.1 PAM相关文件

pam是一种高效而且灵活便利的用户级别的认证方式。

模块文件目录:/usr/lib64/security/*.so

特定模块相关的设置文件:/etc/security/

1.主配置文件:/etc/pam.conf。默认不存在,一般不使用主配置

2.为每种应用模块提供一个专用的配置文件:/etc/pam.d/APP_NAME

3.注意:如/etc/pam.d存在,/etc/pam.conf将失效

可以通过rpm -qi pam 查看当前系统pam

rpm -ql pam 查看模块

ls /usr/lib64/security/*.so | wc -l可以看到有60个模块是二进制文件,不会直接修改。

打开配置文件:vim /etc/pam.d/su

5.2 PAM工作原理

Service(服务)→PAM(配置文件)→pam_*.so

PAM认证首先要确定那一项服务,然后加载相应的PAM的配置文件(位于/etc/pam.d下),最后调用认证文件(位于/lib64/security下)进行安全认证

5.3 专用配置文件/etc/pam.d/格式

我们查看 cat /etc/pam.d/system-auth文件

第一列代表模块类型module-type

Auth账号的认证和授权,是谁张三?李四?王五?。Account账户的有效性。passwd用户密码策略,如有效期,长度等。session用户会话期间的控制,最多打开几个文件。

第二列代表控制位Control

required一票否决权,

requisite一票否决权

sufficient一票通过

equired和requisite optional

第三列代表PAM模块

module-path:用来指明本模块对应的程序文件的路径名

Arguments:用来传递给该模块的参数。

5.4 shell模块

功能:检查有效shell

pam_shells.so只允许规定的shell类型通过,规定是在/etc/shells文件中存在的类型通过。

打开文件:vim /etc/pam.d/su

第一行添加auth required pam_shells.so

规定的文件中,去掉/bin/tcsh

创建一个用户,指定shell类型是/bin/csh。由于在/etc/shells文件中,我们删除了/bin/csh。可以看到lisi是无法登录的。

5.5 limit

功能:在用户级别实现对其可使用的资源的限制,例如:可打开的文件数量,可运行的进程数量,可用内存空间

显示当前所有的资源限制。可以看到打开的文件个数是1024。

通过命令ulimit -n 10000修改后

该修改是临时修改的。可以看到一些信息,以及选项-u设置最大用户进程数等。

要是永久修改,可以vim /etc/security/limits.conf

*代表所有用户。type限制类型。item进程打开的文件数量。value,个数

添加一条:

切换时用完全切换。可以看到用户进程和终端。

5.6 pam_nologin.so模块

功能:如果/etc/nologin文件存在,将导致非root用户不能登陆,当该用户登陆时,会显示/etc/nologin文件内容,并拒绝登陆

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第22天:安全开发-PHP应用留言板功能超全局变量数据库操作第三方插件引用

第二十二天 一、PHP留言板前后端功能实现 开发环境: DW PHPStorm PhpStudy Navicat Premium DW : HTML&JS&CSS开发 PHPStorm : 专业PHP开发IDE PhpStudy :Apache MYSQL环境 Navicat Premium: 全能数据库管理工具 二、数据库创建&架…

【解决】echarts条形图纵坐标显示不全

先说结论: option:{...grid: {containLabel: true},... }这个属性是控制整体的坐标标签的。加上这个就可以显示完整了。然后再根据其他属性调整标签的字体、颜色之类的 yAxis : [{...axisLabel:{width:100,overflow:break,truncate:...,color:red,fontSize:10,},..…

JavaScript进阶部分知识总结

作用域 局部作用域 作用域规定了变量能够被访问的范围,离开了这个范围变量就不能被访问作用域分为:局部作用域和全局作用域 局部作用域分为函数作用域和块作用域 1.函数作用域: 在函数内部声明的变量只能在函数内部被访问,外…

AWD线下攻防万字最完整战术(记第一届“长城杯”半决赛战术)

目录 准备阶段 1.登录比赛平台(获取资产) 查看账号账号修改 服务器SSH口令mysqlWEB服务口令(后台密码)数据库后台管理员密码 账号用户检查 2.dump源码(方便应急响应恢复靶机) 网站源码备份 压缩文件解压文件备份到服务器本地上传…

这10款VS Code神仙插件,嵌入式程序员必备

大家好,我是知微! 嵌入式软件开发工程师平时可能更多的是使用Source Insight、Keil、IAR来阅读代码,写代码。 VSCode大家都听说过,功能十分强大,而且免费! 或许是因为这款软件上手有一定的学习成本&…

css:echarts渐变色转换为css渐变色

通过一个下拉框来选择渐变类型,为了简化,我设置了三种:水平方向的渐变、垂直方向的渐变和径向渐变用,表格来配置echarts渐变色的百分比位置和颜色。 config是表格里的数据格式如下: offset是百分比位置,co…

C语言项目实践——贪吃蛇

引言:本篇博客中,我将会使用结构体,链表,WIN32 API等一系列知识完成C语言项目——贪吃蛇的实现。在观看此篇博客之前,请将这些知识所熟悉,不然可能会造成理解困难。 更多有关C语言的知识详解可前往个人主页…

[C++][算法基础]求组合数(IV)

输入 𝑎,𝑏,求 的值。 注意结果可能很大,需要使用高精度计算。 输入格式 共一行,包含两个整数 𝑎 和 𝑏。 输出格式 共一行,输出 的值。 数据范围 1≤b≤a≤5000 输入样例…

一线实战:国产数据库Mogdb双网卡同步最佳实践

前言 大家都知道Oracle数据库无论是单机还是RAC集群在进行生产部署实施时,我们都会对网卡做冗余考虑,使用双网卡,比如public、心跳网络。这样的目的主要是为了安全,避免单点故障。当然双网卡Bond不仅是可以做主备还可以支持负载均…

安装mysql的流程

安装mysql的步骤 安装流程 [rootlocalhost z]# cd /mnt/share/share[rootlocalhost share]# ll[rootlocalhost share]# cp mysql157-community-release-el7-10.noarch.rmp /usr/localcp: cannot stat ‘mysql157-community-release-el7-10.noarch.rmp’: No such file or direc…

企业车辆管理系统平台是做什么的?

企业车辆管理系统平台是一种综合性的管理系统,它主要集车辆信息管理、车辆调度、车辆维修、油耗管理、驾驶员管理以及报表分析等多种功能于一体。通过这个平台,企业可以实现对车辆的全面管理,优化车辆使用效率,降低运营成本&#…

JavaWeb开发06-原理-Spring配置优先级-Bean管理-SpringBoot原理-Maven继承和聚合-私服

一、Spring配置优先级 不同配置文件,配置同一个属性谁有效 properties>yml>yaml 命令行参数>Java系统属性 项目打包后要改变属性: 红色是Java系统属性,绿色是命令行参数 ‘ 二、Bean管理 1.获取bean 获取IOC容器:ap…

linux之进程通信

目录 一、进程通信介绍 1.目的 2.发展 3.进程通信是什么,怎么通信? 二、管道 1.介绍 2.匿名管道 1.单向通信管道原理 2.代码实现 3.管道特征 4.管道的四种情况 5.管道的应用场景 使用管道实现一个简易版本的进程池 3.命名管道 1.思考 2.…

了解IPS和IDS:这5个差异将改变你的安全观念!

IPS 代表 入侵防御系统(Intrusion Prevention System),它是 IDS 的进一步发展,不仅具备检测攻击的能力,还能在检测到攻击后主动采取措施阻止攻击。IPS 通常部署在防火墙和网络设备之间,能够深度感知并检测流…

ubuntu18.04与windows文件互传

目录 window下载Xftp软件ubuntu上的配置windows端Xftp软件的使用 window下载Xftp软件 下载:家庭/学校免费版 安装教程推荐下面的文章 xftp7免费版安装教程(详细) ubuntu上的配置 在进入系统后,确保有网络连接的情况下按Ctrl A…

cookie与session区别和联系

在Web应用中,HTTP协议是无状态的,每次请求都是独立的,服务器无法直接识别一个用户的不同请求之间的关联。这就导致了如果我们希望在一个会话中保持一些数据的状态,比如用户的身份认证信息、购物车内容等,就需要借助Coo…

golang本地缓存库之bigcache

1. 前言 上周工作之余逛github看到一个本地缓存库bigcache,这个是allegro公司开源的一个项目,主要是用于本地缓存使用,根据他们的博客说明,他们编写这个库最初的目的就是实现一个非常快速的缓存服务。 看了下bigcache这个库的源…

[StartingPoint][Tier2]Base

Task 1 Which two TCP ports are open on the remote host? (远程服务器开放了哪两个TCP端口?) $ nmap -sC -sV 10.129.234.232 22,80 Task 2 What is the relative path on the webserver for the login page? (相关的登录页面路径是什么?) /login/login.php Task 3 …

自动驾驶控制算法

本文内容来源是B站——忠厚老实的老王,侵删。 三个坐标系和一些有关的物理量 使用 frenet坐标系可以实现将车辆纵向控制和横向控制解耦,将其分开控制。使用右手系来进行学习。 一些有关物理量的基本概念: 运动学方程 建立微分方程 主要是弄…

格局在尘埃之间与宇宙之外。

在沈自所 见天地、见众生、见自己。 所里待了两年半,感叹时光飞逝,无疑在所这段时间,对我的成长是巨大的支持。感谢我的导师给予我的自由度和包容,感谢817所有兄弟姐妹。感谢所里面的兄弟们,我们一起经历了很多事情&…