命令
crontab
ubuntu 通过调用 run-parts 命令,定时运行四个目录下的所有脚本
- /etc/cron.hourly,目录下的脚本会每个小时让执行一次,在每小时的2分钟时运行;
- /etc/cron.daily,目录下的脚本会每天让执行一次,在每天0点17分时运行;
- /etc/cron.weekly,目录下的脚本会每周让执行一次,在每周第七天的3点56分时运行;
- /etc/cron.mouthly,目录下的脚本会每月让执行一次,在每月19号的5点32分时运行;
cron 服务的启动与停止
service cron start #启动服务
service cron stop #关闭服务
service cron restart #重启服务
service cron reload #重新载入配置
crontab是用来定期执行程序的命令
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
# -e : 执行文字编辑器来设定时程表
# -r : 删除目前的时程表
# -l : 列出目前的时程表
# cron file
* * * * * cmd
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 6) (星期天 为0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
5 * * * * ls #指定每小时的第5分钟执行一次ls命令
30 5 * * * ls #指定每天的 5:30 执行ls命令
*/3 * * * * test.sh #每隔3分钟执行一次sh
pam_tally2
大多数 Linux 发行版使用可插拔身份验证模块 (PAM)。这种模块化类型的配置允许系统管理员配置和微调用户的身份验证。它还定义特定事件的行为,例如提供无效的用户帐户或密码。PAM 可以使用这些事件自动执行操作,例如锁定帐户。
PAM身份验证安全配置实例
- 强制使用强密码(用户密码安全配置)
- 用户SSH登录失败尝试次数超出限制后锁定账户(帐户锁定/解锁和时间设置)
- 允许普通用户使用sudo而不是su(限制普通用户登录到root用户)
- 禁止直接使用root用户通过SSH登录
在 X 次登录尝试失败后锁定用户
打开 /etc/pam.d/common-auth
(其实等于修改了 /etc/pam.d/sshd文件,不过一般sshd会依赖common)
在配置块开始之前添加以下行
auth required pam_tally2.so deny=2 unlock_time=900
# 在 Ubuntu 或 Debian Linux 上
systemctl restart ssh.service
# RHEL/CentOS Linux 用户
systemctl restart sshd.service
# 通过pam_tally2命令进行检查
pam_tally -u username
# 重置锁定用户
pam_tally2 -r -u username
pam_tally2的替代方案
如果您不喜欢摆弄PAM设置,其他选项之一是使用fail2ban软件包。这可以使用系统的日志文件来确定不正确的登录,并通过iptables将系统(临时)添加到黑名单中。