crond计划任务
- 启停服务
systemctl start crond && systemctl enable crond
#关闭服务
systemctl stop crond && systemctl disable crond
- 日志文件
cat /var/log/cron
- 时间格式
* * * * *
分 时 日 月 周
分:0-59的整数
时:0-23的整数
日:1-31的整数
月:1-12的整数
星期:0-6的整数,0代表周日
- 书写格式
* #每天
, #分隔多个不连续的时间
- #指定连续时间范围
/ #指定执行任务时间间隔
- 任务书写格式
#每月的2-10号,凌晨2点执行
0 2 2-10 * * date.sh
#每隔1小时执行一次
* */1 * * * yum.sh
- 管理计划任务
crontab #用于创建计划任务
crontab -e #编写计划任务
crontab -l #查看计划任务
crontab -r #清除计划任务
- 设置定时任务,在每周二的凌晨2点对/var/log/*.log文件进行打包
#添加定时任务
crontab -e
#为了在 crontab 中正确解析日期命令,使用了 \% 来转义 %
0 2 * * 2 tar -czf /backup_log/$(date +\%Y\%m\%d\%H\%M).log.tar.gz /var/log/*.log
这里为了测试效果临时改为每分钟执行一次
firewalld防火墙
- 文件协议及端口信息
/etc/services文件可以查看常用的端口、服务使用的协议
- 启停服务
#启动防火墙
systemctl start firewalld && systemctl enable firewalld
#关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
- 防火墙预设安全区域
public #仅允许访问本机的sshd、dhcp、ping等少量服务
trusted #允许任何访问
block #阻塞任何请求
drop #丢弃所有来访的数据包
- 常用命令
#查看默认区域
firewall-cmd --get-default-zone
#修改默认区域
firewall-cmd --set-default-zone=drop
#查看安全域策略
firewall-cmd --zone=public --list-all
#放行http服务(--permanent 永久添加)
firewall-cmd --zone=public --add-service=http --permanent
#拒绝某一个IP
firewall-cmd --zone=drop --add-source=172.168.3.1 --permanent
#删除策略中的服务
firewall-cmd --zone=public --remove-service=http
端口映射
当客户端访问我的1122端口时,重定向到80端口
firewall-cmd --zone=public --add-forward-port=port=1122:proto=tcp:toport=80
scp命令
scp,全称为secure copy,是Linux系统下基于ssh登录进行安全的远程文件拷贝的命令。它主要用于在Linux中不同主机之间复制文件和目录,与ftp或共享方式不同,无需通过这些就能直接进行文件传输。scp命令具有加密的特性,以保障数据的安全性。
- 使用方法
#把本地的文件拷贝到远程主机的root目录下
scp 202310170957.log.tar.gz root@192.168.10.210:/root/
- 从远程主机拷贝文件到本地
scp root@192.168.10.210:/root/install.yml /root/
提高ssh服务安全性
- 设置黑白名单(配置文件默认没有此选项,需要时手动添加即可)
#设置白名单用户
AllowUsers user1 user2
#设置黑名单用户
DenyUsers user1 user2
- 配置ssh秘钥登录
#生成秘钥文件
ssh-keygen
#查看秘钥文件
ls .ssh/
- 配置windows免密连接Linux
- 检查.ssh目录下是否有authorized_keys文件,如果没有则手动创建
#authorized_keys文件是SSH公钥认证机制的一部分,它存放在服务器上的.ssh目录下,主要用于存储允许访问该服务器的公钥。当客户端尝试用SSH连接到服务器时,服务器会检查authorized_keys文件中是否包含对应的公钥。如果找到匹配的公钥,那么SSH连接就会被接受,并且客户端不需要输入密码
cat id_rsa.pub >authorized_keys
- 下载私钥文件到windows主机
- 使用Mobaxterm连接Linux,认证方式设置为私钥认证即可实现免密连接
- 如果是配置Linux主机间的ssh免密连接,则直接拷贝秘钥文件即可
ssh-copy-id root@192.168.10.11
限制普通用户权限
- 修改/etc/sudoers配置文件,设置普通用户权限
vim /etc/sudoers
#允许lr用户以root身份执行dnf,systenctl,passwd命令,但是不允许该用户使用passwd命令修改root用户的密码。
lr ALL=(root) /usr/bin/dnf,/bin/systemctl ,/usr/bin/passwd,!/usr/bin/passwd root
- 开启sudo日志记录
#在配置文件中添加日志文件存放位置
Defaults logfile="/var/log/sudouser.log"
- 此时再次使用普通用户执行命令,就会被记录到sudouser.log文件中