本文目录导读:

要批量删除FTP账号,可以通过编写脚本调用系统命令或FTP管理命令来实现,下面提供几种常见场景的脚本方法(基于 Linux 系统 vsftpd 或 pure-ftpd,以及 Windows IIS FTP)。
Linux 环境 (vsftpd / pure-ftpd)
删除 vsftpd 虚拟用户(基于文本数据库)
假设用户信息存储在 /etc/vsftpd/virtual_users.txt 文件中,格式为:
username1
password1
username2
password2
删除用户的核心逻辑:从文件中移除对应行。
脚本示例 (bash):
#!/bin/bash
# 要删除的用户列表
users_to_delete=("user1" "user2" "user3")
# 用户数据库文件
db_file="/etc/vsftpd/virtual_users.txt"
# 逐行读取原文件,跳过要删除的用户
tmp_file=$(mktemp)
while IFS= read -r line; do
# 跳过用户名行(奇数行)且用户名在删除列表中
if (( count % 2 == 0 )) && [[ " ${users_to_delete[*]} " =~ " $line " ]]; then
# 跳过该用户名及其下一行的密码
read -r skip_password
else
echo "$line" >> "$tmp_file"
fi
((count++))
done < "$db_file"
# 覆盖原文件
mv "$tmp_file" "$db_file"
# 重建数据库(根据实际配置)
# /usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
echo "已删除指定用户"
注意:如果用户少,建议直接用
sed:
sed -i '/^user1$/,+1d' /etc/vsftpd/virtual_users.txt
删除 pure-ftpd 用户(基于系统账户或 MySQL)
系统账户
#!/bin/bash
users=("ftpuser1" "ftpuser2")
for user in "${users[@]}"; do
userdel -r "$user" 2>/dev/null
echo "已删除系统用户: $user"
done
pure-ftpd + MySQL
#!/bin/bash
db_host="localhost"
db_user="root"
db_pass="password"
db_name="pureftpd"
users=("user1" "user2")
for user in "${users[@]}"; do
mysql -h "$db_host" -u "$db_user" -p"$db_pass" "$db_name" \
-e "DELETE FROM users WHERE User='$user';"
done
echo "MySQL用户已删除"
Windows 环境 (IIS FTP)
使用 IIS 管理器或 AppCmd.exe 删除用户(需管理员权限)。
脚本 (PowerShell):
# 要删除的用户列表
$users = @("ftpuser1", "ftpuser2")
# 方法1:通过本地用户和组删除FTP用户(如果是Windows账户)
foreach ($user in $users) {
try {
Remove-LocalUser -Name $user -ErrorAction Stop
Write-Host "已删除本地用户: $user"
} catch {
Write-Warning "用户 $user 不存在或无法删除: $($_.Exception.Message)"
}
}
# 方法2:如果FTP用户是IIS管理器中的单独设置(非Windows账户)
Import-Module WebAdministration
foreach ($user in $users) {
# 具体路径取决于你的FTP站点名称,quot;MyFtpSite"
$path = "IIS:\Sites\MyFtpSite\ftpusers\$user"
if (Test-Path $path) {
Remove-Item $path -Recurse
Write-Host "已删除IIS FTP用户: $user"
} else {
Write-Warning "用户 $user 在IIS中不存在"
}
}
通用方法:读取文件列表批量删除
如果用户信息保存在一个文本文件中(每行一个用户名):
#!/bin/bash
# 文件 userlist.txt 内容:user1\nuser2\n...
while IFS= read -r user; do
# 根据你的FTP服务调用删除命令
# vsftpd:
# sed -i "/^$user$/,+1d" /etc/vsftpd/virtual_users.txt
# 或 pure-ftpd:
# pure-pw userdel "$user"
echo "正在删除: $user"
done < userlist.txt
⚠️ 重要安全建议
- 备份:操作前备份用户数据库文件(如
/etc/vsftpd/virtual_users.txt)。 - 测试:先用少量用户测试脚本。
- 权限:脚本需以
root或管理员权限运行。 - 停止服务:某些FTP服务(如 vsftpd)可能需要重启或重载配置才能生效:
systemctl restart vsftpd # 或 service vsftpd restart
- 验证删除:删除后确认用户已无法登录。
如果需要针对特定FTP服务的更详细脚本(如 ProFTPD、FileZilla Server),请告知具体软件版本,我可以提供针对性代码。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播