Linux系统安全及应用

1.系统账号清理

  1. 将非登录用户的 Shell 设为 /sbin/nologin(/sbin/nologin:禁止终端登录)

root@localhost \~\]# grep "/sbin/nologin$" /etc/passwd \| wc -l //这条命令的作用是统计/etc/passwd文件中登录 Shell 为/sbin/nologin的用户数量。 \[root@localhost \~\]# grep "/sbin/nologin$" /etc/passwd \| awk -F: '{print $1}' \> nologin.txt //这条命令的作用是从/etc/passwd文件中筛选出指定用户,并将用户名保存到nologin.txt文件中。 \[root@localhost \~\]# cat nologin.txt //查看文件login.txt ![](https://i-blog.csdnimg.cn/direct/c917982fef2d4a04baa09a97b7db022d.jpeg) 2.锁定长期不用的用户,但不确定是否删除 \[root@localhost \~\]# useradd zhangsan root@localhost \~\]# echo "123123" \| passwd --stdin zhangsan 这条命令的整体效果是将字符串 "123123" 作为新密码,为用户 zhangsan 设置密码。通常情况下,执行 passwd 命令时,系统会提示用户输入当前密码(如果有设置)以及新密码两次进行确认,但使用 --stdin 选项后,就可以通过管道直接将密码传递给 passwd 命令,实现非交互式的密码设置 \[root@localhost \~\]# usermod -L zhangsan \[root@localhost \~\]# passwd -S zhangsan \[root@localhost \~\]# usermod -U zhangsan \[root@localhost \~\]# passwd -S zhangsan ![](https://i-blog.csdnimg.cn/direct/a1a39636e54349899712d23e80b73f70.jpeg) 3.锁定账号文件 \[root@localhost \~\]# chattr +i /etc/passwd /etc/shadow //锁定这两个文件 # passwd用于存储用户 # shadow用于存储用户密码的 \[root@localhost \~\]# lsattr /etc/passwd /etc/shadow //查看文件状态 \[root@localhost \~\]# useradd wangwu //创建用户测试 \[root@localhost \~\]# chattr -i /etc/passwd /etc/shadow //解锁 \[root@localhost \~\]# useradd wanguw //再次创建用户测试 \[root@localhost \~\]# echo "123123" \| passwd --stdin wangwu ![](https://i-blog.csdnimg.cn/direct/6d2f16c4d037497d8447ceef90681473.jpeg) ##### 2.密码安全控制 1.设置密码有效期限(默认为99999天)下面将把他改为30天 \[root@localhost \~\]# vim /etc/login.defs 找到:PASS_MAX_DAYS 99999 改为:PASS_MAX_DAYS 30 给已有用户:root@localhost \~\]# chage -M 30 zhangsan 2.下次登陆重设密码 \[root@localhost \~\]# chage -d 0 zhangsan 登录用户验证 ![](https://i-blog.csdnimg.cn/direct/548edd02926946cba5e02a77eb96c901.jpeg) ##### 3。自动清空历史命令及自动注销 1.限制记录命令的条数 //默认为1000 \[root@localhost \~\]# vim /etc/profile 找到HISTSIZE=1000 改为:HISTSIZE=5 \[root@localhost \~\]# source /etc/profile //执行脚本 \[root@localhost \~\]# history //查看历史记录 ![](https://i-blog.csdnimg.cn/direct/e48dc53da54e452699839dd7bc5097ca.jpeg) 需要全部清空的话:\[root@localhost \~\]# vim \~/.bash_logout 进入之后向下面加入:history -c clear //就能把历史都清空 2.终端自动注销 在 Bash 终端环境中可以设置一个限制超时时间,当超过指定时间没有任何操作自动注销终端。 root@localhost \~\]# echo "export TMOUT=30" \>\> \~/.bash_profile #终端30秒不做任何操作将自动注销 \[root@localhost \~\]# source \~/.bash_profile #使其生效 \[root@localhost \~\]# 等待输入超时:自动登出 ![](https://i-blog.csdnimg.cn/direct/e3a4ae3ad2174d8cb2cbeafeb1160bca.jpeg) 验证完成后,改回默认比较好

相关推荐
chlk1237 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑7 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件8 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒8 小时前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号17 小时前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash21 小时前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI1 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
木心月转码ing2 天前
WSL+Cpp开发环境配置
linux
蝎子莱莱爱打怪3 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes