拥有 Cron 伙伴总是好事!
背景需求
几位系统管理员朋友讨论 VPN 使用场景时,提出希望实现定时访问控制的需求:在系统更新期间限制访问,或仅允许实习生在特定时段连接。这引发了关于企业 IT 管理限制的深入讨论。
技术实现
1. OpenVPN 命令行工具
通过 OpenVPN 官方文档获取关键命令:
 # 禁止用户命令/usr/local/openvpn_as/scripts/sacli --user <username> --key "prop_deny" --value "true" UserPropPut
# 断开用户连接命令/usr/local/openvpn_as/scripts/sacli --user <username> --kill "Schedule Maintenance" DisconnectUser
   复制代码
 2. 创建 Bash 脚本
在~/scripts目录下创建两个脚本文件:
discbanuser.sh (断开并禁止用户):
 #!/bin/bash/usr/local/openvpn_as/scripts/sacli --user $1 --kill "$2" DisconnectUser/usr/local/openvpn_as/scripts/sacli --user $1 --key "prop_deny" --value "true" UserPropPut
   复制代码
 
unbanuser.sh (解除用户禁止):
 #!/bin/bash/usr/local/openvpn_as/scripts/sacli --user $1 --key "prop_deny" --value "false" UserPropPut
   复制代码
 3. 设置脚本权限
 chmod 755 discbanuser.shchmod 755 unbanuser.sh
   复制代码
 4. 配置 Cron 定时任务
通过crontab -e添加计划任务:
 # 每周一22:00执行断开禁止0 22 * * 1 /home/medic/scripts/discbanuser.sh ricktest "Scheduled Maintenance"
# 每周一22:30执行解禁30 22 * * 1 /home/medic/scripts/unbanuser.sh ricktest
   复制代码
 测试验证
- 测试用户按计划被断开连接并收到指定消息 
- 禁止期间尝试连接失败 
- 解禁后恢复连接功能 
应用扩展
该方案可延伸用于:
- 定时系统维护窗口 
- 合规性访问控制 
- 临时权限管理 
- 安全事件响应 
文中提到的电路板制造测试案例展示了 Cron 在硬件测试中的创新应用,通过定时脚本检测总线时序问题。
通过这个基础示例,Linux 新手可以掌握 Cron 与 Bash 脚本结合的实用技巧,为自动化系统管理打下基础。更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码
 
 办公AI智能小助手
评论