深入Linux命令:Crond、Firewalld的实战应用与进阶技巧
  Il1dbC9Jhbvl 2023年12月08日 12 0

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

这里为了测试效果临时改为每分钟执行一次

深入Linux命令:Crond、Firewalld的实战应用与进阶技巧_计划任务

深入Linux命令:Crond、Firewalld的实战应用与进阶技巧_计划任务_02

firewalld防火墙

  • 文件协议及端口信息

/etc/services文件可以查看常用的端口、服务使用的协议

深入Linux命令:Crond、Firewalld的实战应用与进阶技巧_计划任务_03

  • 启停服务
#启动防火墙
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

深入Linux命令:Crond、Firewalld的实战应用与进阶技巧_Linux_04

scp命令

scp,全称为secure copy,是Linux系统下基于ssh登录进行安全的远程文件拷贝的命令。它主要用于在Linux中不同主机之间复制文件和目录,与ftp或共享方式不同,无需通过这些就能直接进行文件传输。scp命令具有加密的特性,以保障数据的安全性。

  • 使用方法
#把本地的文件拷贝到远程主机的root目录下
scp 202310170957.log.tar.gz root@192.168.10.210:/root/

深入Linux命令:Crond、Firewalld的实战应用与进阶技巧_Firewalld_05

  • 从远程主机拷贝文件到本地
scp root@192.168.10.210:/root/install.yml /root/

深入Linux命令:Crond、Firewalld的实战应用与进阶技巧_Firewalld_06

提高ssh服务安全性

  • 设置黑白名单(配置文件默认没有此选项,需要时手动添加即可)
#设置白名单用户
AllowUsers	user1	user2
#设置黑名单用户
DenyUsers	user1	user2
  • 配置ssh秘钥登录
#生成秘钥文件
ssh-keygen
#查看秘钥文件
ls .ssh/

深入Linux命令:Crond、Firewalld的实战应用与进阶技巧_Firewalld_07

  • 配置windows免密连接Linux
  • 检查.ssh目录下是否有authorized_keys文件,如果没有则手动创建
#authorized_keys文件是SSH公钥认证机制的一部分,它存放在服务器上的.ssh目录下,主要用于存储允许访问该服务器的公钥。当客户端尝试用SSH连接到服务器时,服务器会检查authorized_keys文件中是否包含对应的公钥。如果找到匹配的公钥,那么SSH连接就会被接受,并且客户端不需要输入密码
cat id_rsa.pub >authorized_keys
  • 下载私钥文件到windows主机

深入Linux命令:Crond、Firewalld的实战应用与进阶技巧_计划任务_08

  • 使用Mobaxterm连接Linux,认证方式设置为私钥认证即可实现免密连接

深入Linux命令:Crond、Firewalld的实战应用与进阶技巧_计划任务_09

  • 如果是配置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

深入Linux命令:Crond、Firewalld的实战应用与进阶技巧_Firewalld_10

  • 开启sudo日志记录
#在配置文件中添加日志文件存放位置
Defaults logfile="/var/log/sudouser.log"
  • 此时再次使用普通用户执行命令,就会被记录到sudouser.log文件中

深入Linux命令:Crond、Firewalld的实战应用与进阶技巧_计划任务_11

深入Linux命令:Crond、Firewalld的实战应用与进阶技巧_计划任务_12

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月08日 0

暂无评论

推荐阅读
  6YY0QMPUXEwu   2023年12月10日   13   0   0 linux网卡
  nIt0XG0acU8j   2023年12月11日   18   0   0 linuxhtop
  nIt0XG0acU8j   2023年12月09日   20   0   0 linuxsort
Il1dbC9Jhbvl