You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求编写定时禁用指定用户的Cron脚本并记录变更日志

解决方案

1. 编写禁用用户的Shell脚本

创建名为disable_user.sh的脚本,替换其中的路径和目标用户为你的实际信息:

#!/bin/bash

# 配置文件路径
CONFIG_FILE="/path/to/your/config.txt"
# 要禁用的目标用户名
TARGET_USER="test2"
# 日志文件路径
LOG_FILE="/path/to/log.txt"

# 检查配置文件是否存在
if [ ! -f "$CONFIG_FILE" ]; then
    echo "$(date '+%Y-%m-%d %H:%M:%S') - 错误:配置文件 $CONFIG_FILE 不存在" >> "$LOG_FILE"
    exit 1
fi

# 检查目标用户是否处于启用状态
ENABLED_USER=$(grep "^${TARGET_USER}:*:\$" "$CONFIG_FILE")
if [ -z "$ENABLED_USER" ]; then
    echo "$(date '+%Y-%m-%d %H:%M:%S') - 提示:用户 $TARGET_USER 不存在或已被禁用" >> "$LOG_FILE"
    exit 0
fi

# 执行禁用操作,同时生成备份文件
sed -i.bak "/^${TARGET_USER}:*:\$/s/:\$/:!\$/" "$CONFIG_FILE"

# 记录变更日志
echo "$(date '+%Y-%m-%d %H:%M:%S') - 成功禁用用户 $TARGET_USER" >> "$LOG_FILE"
echo "修改前: $ENABLED_USER" >> "$LOG_FILE"
MODIFIED_USER=$(grep "^${TARGET_USER}:" "$CONFIG_FILE")
echo "修改后: $MODIFIED_USER" >> "$LOG_FILE"
echo "------------------------" >> "$LOG_FILE"

2. 赋予脚本执行权限

运行以下命令给脚本添加可执行权限:

chmod +x disable_user.sh

3. 配置Cron定时任务

执行crontab -e打开Cron编辑界面,添加定时规则。例如每天凌晨2点执行:

0 2 * * * /full/path/to/disable_user.sh

Cron时间格式说明:分 时 日 月 周,可按需调整时间,比如每周一凌晨3点执行:0 3 * * 1

4. 日志说明

日志文件log.txt会自动记录每次操作的时间、状态及变更细节,示例内容如下:

2024-05-20 02:00:01 - 成功禁用用户 test2
修改前: test2:*:$5$AQbWnl3q291mtZEe$gxjzJdKgIKXH0Z9fPprk72QfZmceCEtXSaoKKAK68ND
修改后: test2:*:!$5$AQbWnl3q291mtZEe$gxjzJdKgIKXH0Z9fPprk72QfZmceCEtXSaoKKAK68ND
------------------------

内容的提问来源于stack exchange,提问作者Tobi Wright

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 05:15:41