linux系统安全及应用

本文详述了Linux系统的安全加固措施,包括账号安全、密码控制、命令历史限制、用户切换与提权、开关机安全及网络扫描等方面。重点讨论了如何设置账号安全规则、密码策略、限制命令历史记录、使用PAM和sudo机制以及BIOS和GRUB的保护措施。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、账号安全基本设施

1、系统账号清理

1.1 将用户设置为无法登陆

1.2 锁定长期不使用的账号(锁定用户 )

1.3 删除无用的账号

1.4 chattr 锁定配置文件

2、密码安全控制

2.1 设置密码规则

2.2 chage 对已创建用户密码管理

3、命令历史限制

3.1 临时修改当前用户的历史命令条数

3.2 进入配置文件永久修改历史命令条数

3.3 退出当前终端将命令清除

3.4 开机后清除

3.5 设置超时时间

二、用户切换与提权

1、su 切换用户

1.1 切换用户的方式

1.2 密码验证

1.3 限制使用su命令的用户

2、PAM安全认证(二进制语言,两个不同的应用证明队对接)

2.1 PAM 相关文件

2.2 PAM 工作原理

2.3 shell模块

2.4 怎么使用pam模块

3、sudo 使用sudo机制提升权限

三、开关机安全控制

1、调整BIOS引导设置

2、GRUB限制

3、grub加密方法

3.1 按e我们可以直接进入grub文件

3.2 设置密码并重启

3.3 此时我们按e进入后需要输入用户名和密码

4、终端登录安全控制

4.1 限制root只在安全终端登录

4.2 禁止普通用户登录

5、网络扫描—NMAP

四、安全加固总结


一、账号安全基本设施

1、系统账号清理

  • 将非登录用户的shell设为/sbin/nologin
  • 锁定长期不使用的账号
  • 删除无用的账号
  • 锁定账号文件passwd、shadow

1.1 将用户设置为无法登陆

[root@localhost ~]# tail /etc/passwd
#查看zhangsan的属性

[root@localhost ~]# chsh -s /sbin/nologin zhangsan
#修改zhangsan的shell属性

[root@localhost ~]# tail -1 /etc/passwd
#查看zhangsan的属性

1.2 锁定长期不使用的账号(锁定用户 )

锁定用户:

[root@localhost ~]# usermod -L li
#锁定用户li

[root@localhost ~]# passwd -S li
#查看用户li的状态

[root@localhost ~]# usermod -U li
#解锁用户li

[root@localhost ~]# passwd -S li
#查看用户li的状态

 解锁用户:

[root@localhost ~]# passwd -l li
#锁定用户 li 的密码

[root@localhost ~]# passwd -u li
#解锁用户 li 的密码

1.3 删除无用的账号


[root@localhost ~]# ls /home
#查看home目录下所有账号

[root@localhost ~]# userdel lisi
#删除用户lisi 但家目录下的用户lisi 目录没有被删除,变成无主目录

[root@localhost ~]# ls /home
#查看home目录下所有账号,发现lisi目录没有被删除,变为无主目录

[root@localhost ~]# userdel -r lier
#删除用户lisi 并且用户目录也被删除

 1.4 chattr 锁定配置文件


[root@localhost ~]# chattr +i /etc/passwd /etc/shadow
#锁定配置文件,此时不能更改密码

[root@localhost ~]# lsattr /etc/passwd /etc/shadow
#查看配置文件状态属性

[root@localhost ~]# passwd zhangyi
更改zhangyi的密码,发现无法更改密码

[root@localhost ~]# chattr -i /etc/passwd /etc/shadow
#解锁配置文件

[root@localhost ~]# lsattr /etc/passwd /etc/shadow
#查看配置文件状态属性

[root@localhost ~]# passwd zhangyi
更改zhangyi的密码,发现可以更改密码

2、密码安全控制

2.1 设置密码规则

对于新建用户,可以进入/etc/login.defs进行修改属性,设置密码规则,使得在下次创建用户时密码信息生效

 举例:

新建用户并更改密码属性

[root@localhost ~]# cat /etc/shadow|tail -1
#查看配置文件shadow中最后一个用户的密码信息,可以发现最长有限期限为99999天(相当于永久)

[root@localhost ~]# vim /etc/login.defs
#进入login.defs修改密码信息

 2.2 chage 对已创建用户密码管理

对于已有用户可以使用chage命令

格式:chage [选项] 用户名

chage选项及功能
选项 功能
-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M 密码保持有效的最大天数。
-w 用户密码到期前,提前收到警告信息的天数。
-E 帐号到期的日期。过了这天,此帐号将不可用。
-d 上一次更改的日期。
-i 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

举例:

将用户li的密码保持有效最大天数为30

[root@localhost ~]# cat /etc/shadow|tail -1
#查看最后一行的用户的信息

[root@localhost ~]# chage -M 30 li
#将用户li的密码保持有效最大天数为30

[root@localhost ~]# cat /etc/shadow|tail -1
#查看最后一行的用户的信息

 下次登录一定要输入密码

 输入当前密码

 输入当前密码

输入新的密码 

3、命令历史限制

Shell 环境的命令历史机制为用户提供了极大的便利,但另一方面也给用户带来了潜在 的风险。只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在 命令行输入明文的密码,则无意之中服务器的安全壁垒又多了一个缺口。 Bash 终端环境中,历史命令的记录条数由变量 HISTSIZE 控制,默认为 1000 条。通 过修改/etc/profile 文件中的 HISTSIZE 变量值,可以影响系统中的所有用户。例如,可以设 置最多只记录 200 条历史命令。 

3.1 临时修改当前用户的历史命令条数

[root@localhost ~]# export HISTSIZE=200 //临时修改历史
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值