Skip to content

Eternal Center

  • System (系统)
  • Services (服务)
  • Databases (数据库)
  • Clusters (集群)
  • Big Data (大数据)
  • Cloud Computing (云计算)
  • Languages (语言)
  • Project (项目)
  • Writings (写作)
  • Eternity (永恒)
  • News (消息)
  • Chronicle (编年史)
  • Words (言)

Category: System Login Security (系统登录安全)

Posted on October 10, 2021December 26, 2021

[工具] Shell 批量修改多个远程服务器某一个用户的密码 (精致版)

介绍:

作者:朱明宇
名称:批量修改多个远程服务器某一个用户的密码
作用:批量修改多个远程服务器某一个用户的密码

使用方法:
1. 将此脚本和清单 $list 文件放在同一目录下
2. 清单 $list 里每服务器名占用一行
3. 给脚本分割线里的变量赋值
4. 给此脚本添加执行权限
5. 执行此脚本

脚本分割线里的变量:
1. list=”list.txt” #指定清单的目录和名称
2. user=eternalcenter #指定要修改密码的用户
3. password=eternalcenter #指定要修改的密码

注意:
此脚本执行前必须要先保证执行本脚本的用户能无密码 ssh 远程这些远程服务器,并且可以通过 sudo 获得 su 的 root 权限

脚本:

#!/bin/bash

####################### Separator ########################

list="list.txt"
user=eternalcenter
password=eternalcenter

####################### Separator ########################

num=1

cat $list
for i in `cat $list`
do
        echo $num
        echo $i

	ssh -t $i "type lsb_release" &> /dev/null
        if [ $? -ne 0 ]; then
              distribution=`ssh -t $i "cat /etc/*release | grep '^NAME'"`
	      if [ $? -ne 0 ];then
		      distribution=`ssh -t $i "cat /etc/*release"`
	      fi
        else
              distribution=`ssh -t $i "lsb_release -i | grep 'ID' | grep -v 'n/a'"`
        fi;

        echo $distribution

	case $distribution in
		*"RedHat"* | *"Red Hat"*)
		ssh -t $i "sudo -u root su - root -c \"echo $password | passwd --stdin $user\""
		if [ $? -eq 0 ];then
			echo -e "\033[32m$i is success\033[0m"
		else
			echo -e "\033[31m$i is fail\033[0m"
		fi
		;;

		*"CentOS"*)
		ssh -t $i "sudo -u root su - root -c \"echo $password | passwd --stdin $user\""
		if [ $? -eq 0 ];then
			echo -e "\033[32m$i is success\033[0m"
		else
			echo -e "\033[31m$i is fail\033[0m"
		fi
		;;

		*"SUSE"* | *"SLES"*)
		ssh -t $i "sudo -u root su - root -c \"echo $user:$password | chpasswd\""
		if [ $? -eq 0 ];then
			echo -e "\033[32m$i is success\033[0m"
		else
			echo -e "\033[31m$i is fail\033[0m"
		fi
		;;
               
		*"openSUSE"*)
		ssh -t $i "sudo -u root su - root -c \"echo $user:$password | chpasswd\""
		if [ $? -eq 0 ];then
			echo -e "\033[32m$i is success\033[0m"
		else
			echo -e "\033[31m$i is fail\033[0m"
		fi
		;;

		*)
                echo -e "\033[31m$i is fail \033[0m" 
		;;
        esac

        let num++

        echo
done
Posted on August 3, 2021April 25, 2022

[步骤] nftables 防火墙的使用 (永久版)

注意:

只有 CentOS 8 & RHEL 8 才可以使用 nftables 防火墙

正文:

步骤目录:

步骤一:从 firewalld 防火墙切换至 nftables 防火墙
1.1 安装 nftables 防火墙
1.2 清空 iptables 防火墙的策略表
1.2.1 清空 ipv4 iptables 防火墙的策略表
1.2.2 清空 ipv6 iptables 防火墙的策略表
1.3 停止使用 firewalld 防火墙
1.3.1 取消 firewalld 防火墙开机自启
1.3.2 停止 firewalld 防火墙
1.4 启用 nftables 防火墙
1.4.1 开机自启 nftables 防火墙
1.4.2 启动 nftables 防火墙

步骤二:创建永久的 nftales 防火墙的策略表并条件永久的 nftables 防火墙策略
2.1 在 nftables 防火墙的配置文件中添加 nftables 防火墙策略文件
2.2 在 nftables 防火墙策略文件中添加 nftables 防火墙策略

具体的操作步骤:

步骤一:从 firewalld 防火墙切换至 nftables 防火墙
1.1 安装 nftables 防火墙

# dnf install nftables

1.2 清空 iptables 防火墙的策略表
1.2.1 清空 ipv4 iptables 防火墙的策略表

# iptables -F

1.2.2 清空 ipv6 iptables 防火墙的策略表

# ip6tables -F

1.3 停止使用 firewalld 防火墙
1.3.1 取消 firewalld 防火墙开机自启

# systemctl disable firewalld.service

1.3.2 停止 firewalld 防火墙

# systemctl stop firewalld.service

1.4 启用 nftables 防火墙
1.4.1 开机自启 nftables 防火墙

# systemctl enable nftables

1.4.2 启动 nftables 防火墙

# systemctl start nftables

步骤二:创建永久的 nftales 防火墙的策略表并条件永久的 nftables 防火墙策略
2.1 在 nftables 防火墙的配置文件中添加 nftables 防火墙策略文件

# vi /etc/sysconfig/nftables.conf

添加以下内容:

......
include "/etc/nftables/nftables.rules"

2.2 在 nftables 防火墙策略文件中添加 nftables 防火墙策略

# vi /etc/nftables/nftables.rules
flush ruleset
table inet siemens_FW {
    chain siemens_FW_input {
      type filter hook input priority 0; policy accept;
      iif "lo" accept
      ip saddr 127.0.0.0/8 counter packets 0 bytes 0 drop
      ip6 saddr ::1 counter packets 0 bytes 0 drop
      ip saddr 192.168.1.1 tcp dport ssh accept                  
      tcp dport ssh drop
    }
    chain siemens_FW_forward {
      type filter hook forward priority 0; policy accept;
    } 
    chain siemens_FW_output {
      type filter hook output priority 0; policy accept;
    }
}

(
补充:
(1)这里以基本的本地巡回路由策略并禁止除 192.168.1.1 的 IP 地址访问本地的 22 端口为例
(2)这里的 /etc/nftables/nftables.rules 是在 2.1 中添加的
)

Posted on August 3, 2021April 25, 2022

[步骤] nftables 防火墙的使用 (临时版)

注意:

只有 CentOS 8 & RHEL 8 才可以使用 nftables 防火墙

正文:

步骤目录:

步骤一:从 firewalld 防火墙切换至 nftables 防火墙
1.1 安装 nftables 防火墙
1.2 清空 iptables 防火墙的策略表
1.2.1 清空 ipv4 iptables 防火墙的策略表
1.2.2 清空 ipv6 iptables 防火墙的策略表
1.3 停止使用 firewalld 防火墙
1.3.1 取消 firewalld 防火墙开机自启
1.3.2 停止 firewalld 防火墙
1.4 启用 nftables 防火墙
1.4.1 开机自启 nftables 防火墙
1.4.2 启动 nftables 防火墙

步骤二:创建 nftables 防火墙的策略表
2.1 创建 nftables 防火墙的策略表
2.2 创建 nftables 防火墙的策略表的 input 链
2.3 创建 nftables 防火墙的策略表的 forward 链
2.4 创建 nftables 防火墙的策略表的 output 链

步骤三:添加临时基本的本地巡回路由策略

具体的操作步骤:

步骤一:从 firewalld 防火墙切换至 nftables 防火墙
1.1 安装 nftables 防火墙

# dnf install nftables

1.2 清空 iptables 防火墙的策略表
1.2.1 清空 ipv4 iptables 防火墙的策略表

# iptables -F

1.2.2 清空 ipv6 iptables 防火墙的策略表

# ip6tables -F

1.3 停止使用 firewalld 防火墙
1.3.1 取消 firewalld 防火墙开机自启

# systemctl disable firewalld.service

1.3.2 停止 firewalld 防火墙

# systemctl stop firewalld.service

1.4 启用 nftables 防火墙
1.4.1 开机自启 nftables 防火墙

# systemctl enable nftables

1.4.2 启动 nftables 防火墙

# systemctl start nftables

步骤二:创建 nftables 防火墙的策略表
2.1 创建 nftables 防火墙的策略表

# nft create table inet <tablename>

2.2 创建 nftables 防火墙的策略表的 input 链

# nft create chain inet <tablename> input { type filter hook input priority 0 \; }

2.3 创建 nftables 防火墙的策略表的 forward 链

# nft create chain inet <tablename> forward { type filter hook forward priority 0 \; }

2.4 创建 nftables 防火墙的策略表的 output 链

# nft create chain inet <tablename> output { type filter hook output priority 0 \; }

步骤三:添加临时基本的本地巡回路由策略

# nft add rule inet filter input iif lo accept
# nft add rule inet filter input ip saddr 127.0.0.0/8 counter drop
# nft add rule inet filter input ip6 saddr ::1 counter drop
Posted on June 9, 2021February 3, 2022

[工具] Shell 批量修改多个远程服务器某一个用户的密码 (简单版)

介绍:

作者:朱明宇
名称:批量修改多个远程服务器某一个用户的密码
作用:批量修改多个远程服务器某一个用户的密码,并显示密码更新时间

使用方法:
1. 将此脚本和清单 $list 文件放在同一目录下
2. 清单 $list 里每服务器名占用一行
3. 给脚本分割线里的变量赋值
4. 给此脚本添加执行权限
5. 执行此脚本

脚本分割线里的变量:
1. list=”list.txt” #指定清单的目录和名称
2. user=eternalcenter #指定要修改密码的用户
3. password=eternalcenter #指定要修改的密码

注意:
此脚本执行前必须要先保证执行本脚本的用户能无密码 ssh 远程这些远程服务器,并且可以通过 sudo 获得 su 的 root 权限

脚本:

#!/bin/bash

####################### Separator ########################

list="list.txt"
user=eternalcenter
password=eternalcenter

####################### Separator ########################

num=1

cat $list
for i in `cat $list`
do
        echo $num
        echo $i
        ssh -t $i "sudo -u root su - root -c \"echo $password | passwd --stdin $user\""
        ssh -t $i "sudo -u root su - root -c \"echo $user:$password | chpasswd\""
        ssh -t $i sudo -u root su - root -c \"chage -l $user\"
        let num++

        echo
done
Posted on May 11, 2021April 29, 2022

[步骤] Linux SSH 登陆提示信息的修改

步骤一:修改 sshd 的配置文件

# vim /etc/ssh/sshd_config

将以下内容:

#Banner none

修改为:

Banner eternalcenter

或者:

# sed -i 's/.*Banner.*/Banner eternalcenter/' /etc/ssh/sshd_config

(补充:这里以将 ssh 登陆提示信息修改为 eternalcenter 为例)

步骤二:重启 sshd 服务

# systemctl restart sshd

Posts navigation

Previous page Page 1 Page 2 Page 3 Page 4 … Page 11 Next page

Aspiration (愿景):

Everyone can achieve self achievement and self happiness fairly

每个人都能公平地实现自我成就和自我幸福

Position (位置):

Running on Evolution Host and DigitalOcean

正在 Evolution Host 和 DigitalOcean 上运行

Logo (徽标):

Additional Information (其他信息):

About Manual Clone Contact Disclaimer Donation Friendly Links 关于 说明书 克隆 联系 免责申明 捐赠 友情链接

Standby IP Address (备用 IP 地址):

152.69.204.95  150.230.63.10  Please configure before use / 请先配置再使用

Search Outside Website (站外搜索):

Google Wikipedia Bing
Proudly powered by LNMP Proudly powered by WordPress