Linux Acemyzoe

命令

crontab

ubuntu 通过调用 run-parts 命令,定时运行四个目录下的所有脚本

  1. /etc/cron.hourly,目录下的脚本会每个小时让执行一次,在每小时的2分钟时运行;
  2. /etc/cron.daily,目录下的脚本会每天让执行一次,在每天0点17分时运行;
  3. /etc/cron.weekly,目录下的脚本会每周让执行一次,在每周第七天的3点56分时运行;
  4. /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登录

pam手册

在 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将系统(临时)添加到黑名单中。