2024-12-03 Fail2ban阻止服务器暴力破解登录 Fail2ban阻止服务器暴力破解登录 今天通过SSH登录到云服务器上,看到离上次成功登录已经有快三万多次的非法尝试登录。可怜我的小服务器啥都没有,还要来暴力破解...There were 27607 failed login attempts since the last successful login.为了增强服务器安全,在网上找到一种可以阻止暴力破解的方法,就是使用fail2ban工具锁定多次登录失败的IP。首先安装fail2ban工具(服务器是centos系统)> dnf install epel-release -y > dnf install fail2ban -y > vi /etc/fail2ban/jail.local安装好后进行设置,新增文件/etc/fail2ban/jail.local并添加以下内容[sshd] enabled = true port = ssh filter = sshd logpath =/var/log/secure maxretry = 3 bantime = 86400其中maxretry参数指密码登录最大尝试次数,bantime指锁定IP时间,单位... 2024年12月03日 82 阅读 0 评论
2024-11-19 Centos安装最新版本tmux Centos安装最新版本tmux Tmux新版本提供了很多有用的功能,但Centos 8.4官方仓库提供的版本有点旧(2.7),只能自行安装最新版本。下面介绍Centos简单安装tmux最新版本方法,不需要从源代码编译开始,只要利用网友提供的RPM仓库。yum在线安装设置yum仓库信息$ sudo yum install http://galaxy4.net/repo/galaxy4-release-_<release>_-current.noarch.rpm其中<release>查询操作系统主版本号,比如本人使用的是Centos 8.4.2105,则<release>为8。$ cat /etc/redhat-release CentOS Linux release 8.4.2105下面就可以使用yum安装tmux$sudo yum install tmux离线安装对于离线服务器,可以下载RPM包进行安装,在http://galaxy4.net/repo/RHEL/8/x86_64/里面查找最新版本。$ wget http://galaxy4.net/repo/RHEL/8/... 2024年11月19日 129 阅读 0 评论
2024-09-22 Linux服务器数据备份迁移 Linux服务器数据备份迁移 需求笔者需要将一台服务器上的所有数据备份到另一台服务器上。由于数据量比较大,需要长时间传输。为了防止登录远程服务器可能中途断开连接,考虑使用tmux + rsync组合进行数据备份迁移。用法首先确保备份服务器空间足够,避免传输过程将服务器存储空间用满情况。启动tmux$ tmux new -s backup 创建一个backup的tmux会话,并进入会话中。执行rsync备份在backup会话环境中执行以下命令$ mkdir BACKUP_DIR # 创建备份目录 $ rsync -avz --exclude={'*.o','*.mod','p4/*'} remote_user@remote_ip:/path/to/need/backup/dir/ BACKUP_DIR # 输入remote服务器用户密码其中rsync命令选项意义:-a 存档模式-v 命令执行详细信息-z 在传输过程中压缩数据--exclude 排除匹配模式文件/目录传输,以上设置不传输*.o和*.mod编译临时生成文件以及p4目录,根据自己需要进行设置。使用SSH协议传输数据,remote_user@r... 2024年09月22日 179 阅读 0 评论
2024-04-19 Linux canonical pathname概念 Linux canonical pathname概念 POSIX定义了绝对/相对路径名,还有一种canonical pathname,它不是POSIX定义的,但在Linux命令介绍中常用到这个概念。下面介绍三种文件名概念。absolute pathname (绝对路径名)以单个或两个以上/字符开头的路径名。 比如/root /../usr/bin //opt/intelrelative pathname不以/字符开头的路径名。比如:foo ../data/a.txtCanonical pathname路径名中每个部分都是实际存在的目录或文件(不是符号链接),不包括.和..,并且其斜杠不重复。这意味着对于同一个文件系统对象,其canonical路径名是唯一的,从而是可比较的。假如以下路径名是canonical pathname,/home/user/data/a.txt # 路径中每一部分都是真实存在的如果cd ~; ln -sf /home/user/data mydata,那么下面几个路径名都不是canonical pathname。/home/user/mydata/b.txt /home/other/../user/d... 2024年04月19日 183 阅读 0 评论
2024-01-01 M-BM-特殊字符问题 M-BM-特殊字符问题 如果你想亲手执行前面文章中一些代码示例,比如下面这段shell脚本,你用鼠标复制代码将内容粘贴到(Linux)一个文件中:#!/bin/bash myfunc() { echo 'function arg[0]=' $0 echo 'function arg[1]=' $1 echo 'function arg[2]=' $2 } echo 'script arg[0]=' $0 echo 'script arg[1]=' $1 echo 'script arg[2]=' $2 type myfunc #使用type命令查看myfunc类型 myfunc func1 func2保存该脚本(设置可执行权限)并执行。$ ./test_func.sh hi you script arg[0]= ./test_func.sh script arg[1]= hi script arg[2]= you myfunc is a function myfunc () { echo 'function arg[0]=' $0; ec... 2024年01月01日 433 阅读 0 评论
2023-10-21 Linux pkg-config介绍 Linux pkg-config介绍 今天安装一个软件时,执行配置命令configure报错,发现是没有找到依赖的库信息,而其寻找依赖库信息是通过pkg-config工具实现的,那么pkg-config是什么?简介pkg-config实际上是一个向用户提供相应库的路径、版本号、头文件、链接库等信息的工具。许多大型软件项目构建时需要指定依赖的第三方库的头文件和库文件位置,如果头文件和库文件数量比较多,手动写很麻烦,pkg-config工具可以减轻工作量,而且不用指定实际路径,灵活配置,比如gcc main.c `pkg-config --cflags --libs gtk+-2.0` -o main # --cflags 指定头文件 # --libs 指定库文件上面命令中pkg-config作用就是将gtk头文件路径和库文件列出来。不用手动添加-I、-L参数路径了。pkg-config -h pkg-config --list-all #列出已知的pkg-config管理的库 pkg-config --libs zlib #查看zlib库链接信息那么pkg-config信息来自哪里?pc文件实际上它通过查询.pc... 2023年10月21日 327 阅读 0 评论