Loading

day18 重要服务

ssh

ssh 192.168.1.1 "ls"
在远程主机远程执行命令

ssh生成密钥

ssh-keygen
-t rsa 指定加密方式

ssh推送公钥

cat .ssh/id_rsa.pub >> .ssh/authorized_keys

ssh优化

SSH作为远程连接服务,通常我们需要考虑到该服务的安全,所以需要对该服务进行安全方面的配置。
1.更改远程连接登陆的端口
2.禁止ROOT管理员直接登录
3.密码认证方式改为密钥认证
4.重要服务不使用公网IP地址
5.使用防火墙限制来源IP地址

vim /etc/ssh/sshd_config
修改ssh服务的端口
Port 1748
禁止使用root登录服务器
PermitRootLogin no
禁止使用密码登录服务器
PasswordAuthentication no

UseDNS no #禁止ssh进行dns反向解析,影响ssh连接效率参数
GSSAPIAuthentication no #禁止GSS认证,减少连接时产生的延迟

scp

scp -r /root/* root@192.168.1.1:/root/
基于22端口的文件传输命令

sftp

基于22端口的FTP命令

cron

语法

* 表示任意时间
- 表示一个时间范围段, 如小时设置为:5-7,则表示从5点到7点
, 表示分隔时段, 例如日设置为6,0,4,则表示周六、周天、周四
/10 表示每隔n单位时间, 如分支设置为*/10,则表示每隔10分钟

此外强调以下几点:

  1. cron 守护进程每分钟都会自动检查 /etc/crontab 文件、etc/cron.d/ 等目录中的改变。如果发现了改变,它们就会被载入内存。所以你如果修改了计划人文导致其crontab文件改变后,并不需要重启守护进程。
  2. crontab的用户手册中推荐每一个命令使用绝对路径,例如调用rm命令时写作:/bin/rm,这是为了防止由于每一个用户的PATH环境变量不同而导致命令无法找到的错误。
  3. 把定时任务执行的结果定向到空&>/dev/null,如果不定向到空的话,邮件服务postfix开启时,系统会一直发送邮件信息日积月累会白白耗费磁盘空间

日期穿刺:
当条件同时符合时,符合条件的时间都执行。

系统级定时任务

(1)只有系统管理员可以编辑。
(2)系统级定时任务文件位于/etc目录下
/etc/crontab:这是主crontab文件,包含了系统任务表,以及在预设时间执行的工作。必须指定用户名

系统级定时任务主要用于如:临时文件清理例/tmp和/var/tmp等、系统信息采集、日志文件切割等场景
用户级定时任务主要用于如:定时向互联网同步时间、定时备份系统配置文件、定时备份数据库的数据等场景

/etc/cron.d/:此目录存放任何想被cron守护进程执行的任务。
/etc/cron.daily/:此目录下存放的任务脚本会被系统安排在每天凌晨执行。
/etc/cron.hourly/:此目录下存放的任务脚本会被系统安排每小时执行一次。
/etc/cron.monthly/:此目录下存放的任务脚本会被系统安排在每月的某一天执行。
/etc/cron.weekly/:此目录下的任务脚本会被系统安排在每周的某一天执行。

/etc/cron.deny 是定时任务的黑名单,使用root将需要拒绝的用户加入/etc/cron.deny
echo "egon" >> /etc/cron.deny

结果:
You (egon) are not allowed to use this program (crontab)
See crontab(1) for more information

crond 日志

/var/log/cron
tail -f /var/log/cron

查看所有用户的定时任务

sudo bash -c
'for user in $(cut -f1 -d: /etc/passwd);
do
echo "=====$user=====";
crontab -l -u $user 2>/dev/null;
done'

使用 bash -c 时,Bash 会创建一个新的子 shell 进程,然后在这个子 shell 中执行 -c 选项后面字符串所包含的命令。执行完毕后,子 shell 会退出。

posted @ 2025-02-27 11:20  xbule  阅读(28)  评论(0)    收藏  举报