具体情况:在主题和插件的页面,没有显示安装插件的按钮,也无法进行更新,在仪表盘也没有更新页面。 一开始以为是文件权限问题,结果发现并不是这个原因。
解决方法:检查 wp-config.php 文件是否有以下2行,删除或改为 false。
define( 'DISALLOW_FILE_EDIT' , true ); define( 'DISALLOW_FILE_MODS' , true );
具体情况:在主题和插件的页面,没有显示安装插件的按钮,也无法进行更新,在仪表盘也没有更新页面。 一开始以为是文件权限问题,结果发现并不是这个原因。
解决方法:检查 wp-config.php 文件是否有以下2行,删除或改为 false。
define( 'DISALLOW_FILE_EDIT' , true ); define( 'DISALLOW_FILE_MODS' , true );
在现代 Ubuntu Server 发行版中(自 17.10 起),Netplan 已成为标准的网络配置工具。它通过简洁的 YAML 文件格式,取代了传统的 /etc/network/interfaces。虽然 YAML 语法清晰,但手动添加大量 IP 地址仍然是一项繁琐且容易出错的工作。本文将介绍一种安全、高效且可重复使用的方法,通过 Shell 脚本来批量生成 Netplan 的 IP 配置。
在进行任何网络配置变更之前,首要原则是备份。一条简单的命令就能避免因配置失误导致服务器“失联”的巨大风险。
Bash
# 备份您的 Netplan 配置文件 sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.bak
请注意:您的配置文件名可能是 50-cloud-init.yaml 或其他名称,请根据实际情况进行调整。
一个典型的 Netplan 配置文件 (/etc/netplan/01-netcfg.yaml) 结构如下:
YAML
network:
version: 2
renderer: networkd
ethernets:
ens160: # 这是您的网卡名称,例如 eth0, ens3 等
dhcp4: no
addresses:
- 192.168.1.100/24 # 主 IP 地址
# 这里可以添加更多的 IP 地址
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
我们的目标就是向 addresses: 列表中安全地添加多个 IP 地址条目。
直接向 YAML 文件 echo 内容是不可取的。我们将创建一个脚本来生成所需的配置代码块,然后手动或通过命令将其插入到正确的位置。这种方法将操作风险降至最低。
1. 创建脚本文件
Bash
vim generate_ip_config.sh
2. 粘贴以下脚本内容
这个脚本具有良好的可读性和可配置性。您只需修改顶部的变量即可适配您的网络环境。
Bash
#!/bin/bash
# --- 请根据您的实际情况修改以下变量 ---
# 目标网卡名称 (通过 ip addr 命令查看)
INTERFACE="ens160"
# IP 地址段信息
IP_PREFIX="1.2.3" # IP 地址的前三段
START_IP=2 # 起始 IP 的最后一段
END_IP=65 # 结束 IP 的最后一段
SUBNET_MASK=26 # 子网掩码 (CIDR 格式),/26 可以容纳 62 个可用 IP
# --- 脚本核心逻辑,无需修改 ---
echo "################################################################"
echo "### Netplan IP 配置生成脚本"
echo "### 即将为网卡 [${INTERFACE}] 生成 ${END_IP-START_IP+1} 个 IP 地址"
echo "### IP 范围: ${IP_PREFIX}.${START_IP} - ${IP_PREFIX}.${END_IP}/${SUBNET_MASK}"
echo "################################################################"
echo ""
echo "请将以下生成的配置块,手动复制并粘贴到您的 Netplan YAML 文件的 'addresses:' 列表下:"
echo ""
# YAML 要求严格的缩进,这里我们生成带有正确缩进的格式
# ' - IP/MASK'
for ((i=START_IP; i<=END_IP; i++)); do
echo " - ${IP_PREFIX}.${i}/${SUBNET_MASK}"
done
echo ""
echo "配置生成完毕。"
3. 赋予脚本执行权限
Bash
chmod +x generate_ip_config.sh
4. 运行脚本生成配置
Bash
./generate_ip_config.sh
您将看到类似下面的输出:
################################################################
### Netplan IP 配置生成脚本
### 即将为网卡 [ens160] 生成 64 个 IP 地址
### IP 范围: 1.2.3.2 - 1.2.3.65/26
################################################################
请将以下生成的配置块,手动复制并粘贴到您的 Netplan YAML 文件的 'addresses:' 列表下:
- 1.2.3.2/26
- 1.2.3.3/26
- 1.2.3.4/26
... (中间省略) ...
- 1.2.3.65/26
配置生成完毕。
sudo vim /etc/netplan/01-netcfg.yamladdresses: 部分,将上面脚本生成的 IP 列表粘贴进去。修改前:YAML#... addresses: - 192.168.1.100/24 #... 修改后(注意保持对齐和缩进):YAML#... addresses: - 192.168.1.100/24 - 1.2.3.2/26 - 1.2.3.3/26 - 1.2.3.4/26 ... - 1.2.3.65/26 #...# 测试配置,如果 SSH 未断开,按回车确认即可 sudo netplan try 如果配置无误且您的网络连接正常,系统会提示您按 Enter 键以永久保留配置。确认无误后,执行最终应用命令:Bashsudo netplan applyip addr show dev ens160 您应该能在输出中看到所有新添加的 IP 地址。通过“生成配置 -> 手动粘贴 -> 测试 -> 应用”的流程,我们既利用了脚本的效率,又保证了操作的安全性。这种方法远优于直接修改生产环境的配置文件,是每一位 Linux 系统管理员都应遵循的最佳实践。记住,对待服务器配置,永远要保持谨慎和敬畏。
系统:Ubuntu 18.04 LTS,使用sudo执行命令时提示:XXX is not in the sudoers file. This incident will be reported. 没有sudo权限,解决方法如下:
使用root用户登录
#给/etc/sudoers文件写入权限 chmod u+w /etc/sudoers #编辑/etc/sudoers文件 vi /etc/sudoers
在/etc/sudoers文件中的#User privilege specification下增加需要使用sudo的用户,添加到root这一行的下面即可,也可以复制root这一行,把root改成你的用户名。:wq保存退出。
#撤消/etc/sudoers的写入权限 chmod u-w /etc/sudoers
参考: https://blog.csdn.net/u012897374/article/details/78827359