破解密码,firewalld timedatectl liunx加固
l 破解root密码思路
前提:必须是服务器的管理者,涉及重启服务器
1)重启系统,进入 恢复模式(救援模式)
reboot
开启虚拟机A,在此界面按e键
在linux16该行,将此行的ro修改为rw
在linux16该行的最后,空格输入 rd.break
按 ctrl + x 启动,会看到switch_root:/#
2)切换到硬盘操作系统环境
# chroot /sysroot #切换环境,切换到硬盘操作系统的环境
3)重新设置root的密码
sh-4.2# echo 1 | passwd --stdin root
4)如果SELinux是强制模式,才需要重设SELinux策略(其他模式不需要做此操作)
sh-4.2# vim /etc/selinux/config #查看SELinux开机的运行模式
sh-4.2# touch /.autorelabel #让SELinux失忆
5)强制重启系统完成修复
sh-4.2# reboot -f #强制重启
• 系统服务:firewalld----》iptables(底层防火墙)
• 管理工具:firewall-cmd、firewall-config(图形)
• 根据所在的网络场所区分,预设区域
– public:仅允许访问本机的ssh、dhcp、ping服务 默认区域(默认情况下为public
– trusted:允许任何访问
– block:拒绝任何来访请求,明确拒绝客户端
drop:丢弃任何来访的数据包,不给任何回应
firewall-cmd --get-default-zone #查看默认区域
firewall-cmd --set-default-zone=trusted 修改默认区域
firewall-cmd --zone=public --add-service=http 添加允许的协议
firewall-cmd --zone=public --list-all 查看区域的所有
firewall-cmd --reload #加载防火墙永久策略
firewall-cmd --permanent (永久策略) --zone=public --add-service=http
firewall-cmd --zone=block --add-source=192.168.4.207 单独拒绝主机ip的访问
timedatectl命令
timedatectl命令用于设置系统的时间,英文全称为“time date control”,语法格式为“timedatectl [参数]”。
发现电脑时间跟实际时间不符?如果只差几分钟的话,我们可以直接调整。但是,如果差几个小时,那么除了调整当前的时间,还有必要检查一下时区了。timedatectl命令中常见的参数格式及作用如表2-5所示。
表2-5 timedatectl命令中的参数以及作用
参数 作用
status 显示状态信息
list-timezones 列出已知时区
set-time 设置系统时间
set-timezone 设置生效时区
timedatectl set-timezone Asia/Shanghai
.nice命令
nice命令用于调整进程的优先级,语法格式为“nice优先级数字 服务名称”。
pidof命令
pidof命令用于查询某个指定服务进程的PID号码值,语法格式为“pidof [参数] 服务名称”。
kill命令
kill命令用于终止某个指定PID值的服务进程,语法格式为“kill [参数] 进程的PID”。
.killall命令
killall命令用于终止某个指定名称的服务所对应的全部进程,语法格式为“killall [参数] 服务名称”。
tracepath命令
tracepath命令用于显示数据包到达目的主机时途中经过的所有路由信息,语法格式为“tracepath [参数] 域名”。
sosreport命令
sosreport命令用于收集系统配置及架构信息并输出诊断文档,输入该命令后按回车键执行即可。
locate命令
updatedb 先用这个命令生成索引
locate命令用于按照名称快速搜索文件所对应的位置,语法格式为“locate文件名称”。
whereis命令
whereis命令用于按照名称快速搜索二进制程序(命令)、源代码以及帮助文件所对应的位置,语法格式为“whereis命令名称”。
.stat命令
stat命令用于查看文件的具体存储细节和时间等信息,英文全称为“status”,语法格式为“stat文件名称”。
cut命令
cut命令用于按“列”提取文本内容,语法格式为“cut [参数] 文件名称”。
cut -d : -f 1 /etc/passwd 用下述命令尝试提取出passwd文件中的用户名信息,即提取以冒号(:)为间隔符号的第一
uniq命令
uniq命令用于去除文本中连续的重复行,英文全称为“unique”,语法格式为“uniq [参数] 文件名称”。
列内容:
sort命令
sort命令用于对文本内容进行再排序,语法格式为“sort [参数] 文件名称”。
加固
• 设置tom账号,有效期为2022-1-1
# 查看tom的账号信息
[root@node1 ~]# chage -l tom
[root@node1 ~]# chage -E 2022-1-1 tom
[root@node1 ~]# chage -l tom
# 设置账号永不过期,注意-E后面是数字-1,不是字母l
[root@node1 ~]# chage -E -1 tom
[root@node1 ~]# chage -l tom
# 设置新建用户的密码策略
[root@node1 ~]# vim /etc/login.defs
25 PASS_MAX_DAYS 99999 # 密码永不过期,设置最长有效期
26 PASS_MIN_DAYS 0 # 密码最短使用时间,0表示随时可改密码
27 PASS_MIN_LEN 5 # 密码最短长度
28 PASS_WARN_AGE 7 # 密码过期前7天发警告
33 UID_MIN 1000 # 新建用户最小的UID
34 UID_MAX 60000 # 新建用户最大的UID
• 用户安全设置
# 锁定tom账号
[root@node1 ~]# passwd -l tom
锁定用户 tom 的密码 。
passwd: 操作成功
[root@node1 ~]# passwd -S tom # 查看状态
tom LK 2021-10-12 0 99999 7 -1 (密码已被锁定。)
# 解锁tom账号
[root@node1 ~]# passwd -u tom
解锁用户 tom 的密码。
passwd: 操作成功
[root@node1 ~]# passwd -S tom
tom PS 2021-10-12 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
• 保护文件
# 查看文件的特殊属性
[root@node1 ~]# lsattr /etc/passwd
---------------- /etc/passwd # 没有特殊属性
# 修改属性
chattr +i 文件 # 不允许对文件做任何操作,只能看
chattr -i 文件 # 去除i属性
chattr +a 文件 # 文件只允许追加
chattr -a 文件 # 去除a属性
[root@node1 ~]# chattr +i /etc/passwd
[root@node1 ~]# lsattr /etc/passwd
----i----------- /etc/passwd
[root@node1 ~]# useradd zhangsan
useradd:无法打开 /etc/passwd
[root@node1 ~]# rm -f /etc/passwd
rm: 无法删除"/etc/passwd": 不允许的操作
[root@node1 ~]# chattr -i /etc/passwd
[root@node1 ~]# rm -f /etc/passwd # 可以删除
[root@node1 ~]# ls /etc/passwd
ls: 无法访问/etc/passwd: 没有那个文件或目录
# 恢复passwd文件
[root@node1 ~]# cp /etc/passwd- /etc/passwd