#####################sshd安全设定######################
vim /etc/ssh/sshd_config #进入配置文件 (在要被连接的服务端操作)
78 PasswordAuthentication yes|no #是否允许用户通过登录系统的作sshd的认证
48 PermitRootLogin yes|no #是否允许root用户通过sshd服务的认证
52 Allowusers username(服务端存在的用户并且’有锁‘) #sshd用户的白名单:只允许名单上的用户使用
52 Denyusers username(服务端存在的用户并且’有锁‘) #sshd用户的黑名单:不允许名单上的用户使用
##############添加sshd登陆信息##########
vim /etc/motd (在要被连接的服务端操作)
##################更换主机名称#######################
#########################用户登陆审计##################
显示的都是当前的服务端
w #查看正在使用当前系统的用户
w -f #查看使用来源
w -i #显示IP /var/run/utmp
last #查看使用过并退出的用户信息 /var/log/wtmp
lastb #试图登陆但没有成功的用户 /var/log/btmp
###################文件在虚拟机中的传输#################
scp
scp file(存在于系统中) user@ip:/dir(所要传输到的路径目录) #上传
scp user@ip:/dir|/dir/filename /dir(要存放的位置) #下载
是目录的话 scp -r user@.......... 中间加-r
######## 远程同步
rsync #远程同步(速度快。默认会忽略 文件属性 链接文件 设备文件)
-r #同步目录
-p #同步权限
-o #同步文件的拥有者
-g #同步文件的所属组
-l #同步链接文件
-t #同步文件的时间戳
-D #同步设备文件
rsync (参数) dir|dir/file user@IP:(所要传输到的路径目录)
######################文件的归档#######################
定义:就是把多个文件变成一个归档文件
目的:加快数据的传输速度
du -sh (所要查看的文件或目录) #查看文件或目录的大小
tar (打包)
c --->建立一个压缩文件的参数指令(create:创建)
f --->指定归档文件的名称
tar cf 归档后的名称 所要归档的文件或目录
例子:tar cf etc.tar etc/
x --->解开一个归档文件的指令参数
tar xf 所要解开的归档文件的名称
例子:tar xf etc.tar
t --->显示归档文件中的内容
tar tf 所要显示的归档文件的名称
例子:tar tf etc.tar
r --->向归档文件中添加文件/目录
tar rf 归档文件的名称 要添加的文件/目录
例子:tar rf etc.tar filename|dir
--delete-->删除归档文件中的单个文件/目录
tar -f 归档文件的名称 --delete 所要删除文件/目录的名称
例子:tar -f etc.tar --delete filename|dir
--get-->在归档文件中取出单个文件或目录 (所取出的东西在当前文件下)
tar -f 归档文件的名称 --get 所要取出文件/目录的名称
tar -f etc.tar--get filename|dir/filename|dir
-C--->指定解档文件的存储路径
tar xf 归档文件的名称 -C 要存储的路径
例子:tar xf etc.tar -C /mnt
######################文件的压缩#######################
定义:是一种通过特定的算法来减少计算机文件大小的机制,使文件能够通过较慢的
互联网实现更快的传输,还可以减少文件的磁盘占用空
zip,gz,xz 三者相比,压缩文件的大小依次减小
#注意:zip这种格式的压缩方式稳定性很差,只适合压缩文本文件
#只有zip没有在源文件上进行操作,保留源文件
zip:
zip -r 压缩后的名称 要压缩的文件名 #压缩成zip格式的压缩包
例子:zip -r etc.tar.zip etc.tar
unzip 要解压的文件名 #解压zip格式的压缩包
例子:unzip etc.tar.zip
gz:
gzip 要压缩的文件 #压缩成gz格式的压缩包
例子:gzip etc.tar
gunzip 要解压的文件名 #解压gz格式的压缩包
例子:gzip etc.tar.gz
xz:(等待时间长)
xz 要压缩的文件名 #压缩成xz格式的压缩包
例子:xz etc.tar
unxz 要解压的文件名 #解压xz格式的压缩包
例子:xz etc.tar.xz
#bz2只适合压缩纯文本文件
bz2:
bzip2 要压缩的文件名 #压缩成bz2格式的压缩包
例子:bzip2 etc.tar
bunzip 要解压的文件名 #解压bz2格式的压缩包
例子:bunzip etc.tar.bz2
########打包压缩一步完成############
三者会保留源文件
gz:
tar -zcf 压缩后的名称.tar.gz 要压缩的文件|目录 #把文档归档为tar,并压缩成gz
例子:tar -zcf etc.tar.gz etc/
tar -zxf 要解压的文件名称.tar.gz #解压并解开归档文件
例子: tar -zxf etc.tar.gz
xz:
tar -Jcf 压缩后的名称.tar.xz 要压缩的文件|目录 #把文档归档为tar,并压缩成xz
例子:tar -Jcf etc.tar.xz etc/
tar -Jxf 要解压的文件名称.tar.xz #解压并解开归档文件
例子:tar -Jxf etc.tar.xz
bz2:
tar -jcf 压缩后的名称.tar.bz2 要压缩的文件|目录 #把文档归档为tar,并压缩成bz2
例子:tar -jcf etc.tar.bz2 etc/
tar -jxf 要解压的文件名称.tar.bz2 #解压并解开归档文件
例子:tar -jxf etc.tar.bz2
######################系统日志管理#####################
后台的程序(通常被称为守护进程或者服务进程)处理了你的linux系统的大部分任务,当这些守护进程工作
的时候,它们会将任务的详细信息记录到日志文件中,作为它们做过什么的“历史”信息(包括错误信息)
/var/log/messages #记录系统中所产生的日志
测试:
vim /etc/ssh/sshd_config
78:错误的信息
systemctl restart sshd,service(服务启动报错)
>/var/log/messages(清空文件)
cat /var/log/messages --->报错信息写入文件中
1.rsyslog服务:此服务用来采集系统日志,他不产生日志,只是起到了采集的作用
2.rsyslog的管理
vim /etc/rsyslog.conf
/var/log/messages #服务信息日志(记录linux操作系统常见的服务信息和错误信息)
/var/log/sercure #系统的登陆日志(记录用户和工作组的变化情况。是系统安全日志。用户的认证登陆情况)
/var/log/maillog #邮件日志
/var/log/cron #定时任务
/var/log/boot.log #系统启动日志
什么类型的日志.什么级别的任务 *代表全部收集
日志的类型:
auth #用户认证时产生的日志,login su 命令
authpriv #ssh,ftp等登陆服务的验证信息
cron #与时间任务相关
kern #系统内核消息
lpr #与打印机活动有关
mail #邮件日志
mark #服务内部的信息,是时间标识(产生时间戳)
user #用于用户程序产生的相关信息
uucp #unix to unix copy unix主机之间相关的通信
news.crit #新闻组(网络新闻传输协议(nnpt)产生的消息)
日志的级别: #注意:从上到下,级别从低到高,记录的消息是越来越少的
debug #有调试信息(日志信息产生的最多)
info #一般信息日志(最常用)
notice #最具有重要性的普通条件信息(不是错误,但是可能需要去处理)
warning #警告
err #错误(一般错误)
crit #严重错误(情况危险)
alert #需要立即修改的信息(如:数据库损毁)
emerg #内核崩溃
none #什么都不记录
#####日志的远程操作#####(日志的接收方 日志的发送方)
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #防火墙开机不自启
在日志的发送方:
vim /etc/rsyslog.conf
*.* @接受方的ip
### @:表示udp协议发送 @@:表示tcp协议发送 ip:接受方的ip
在日志的接受方:
vim /etc/rsyslog.conf
15 $ModLoad imudp #日志的接受模块
16 $UDPServerRun 514 #开启接收端口
##修改完服务后,记得重启服务
systemctl restart rsyslog.service #重启服务
systemctl status rsyslog.service #查看服务是否运行
===============================================
测试:
在发送方和接收方都清空日志文件
>/var/log/messages
在日志的发送方
logger test
cat /var/log/messages #查看日志是否生成
在日志的接收方
tail -f /var/loge/messages #动态监控文件的末尾信息
===============================================
############日志采集格式的设定#############(在接受端进行更改采集格式)
$template LOGFMT,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
*.* /var/log/messages;LOGFMT
%timegenerated% #显示日志时间
%FROMHOST-IP% #显示主机IP
%syslogtag% #日志记录目标
%msg% #日志内容
##################时间同步服务器########################
#服务的名称:chronyd (本同步不是时时同步的)
在服务端:
vim /etc/chrony.conf
22 allow 172.25.254.0/24 #允许哪些客户端来同步本机的时间
29 local stratum 10 #本机不同步任何主机的时间,本机作为时间源
systemctl restart chronyd.service
timedatectl set-timezone Asia/Shanghai #更改当前时区为东八区 (将时区改为同一时区,便于实验观察,也可不改,系统会将本时区时间自动生成其他时区相对应的时间)
在客户端:
vim /etc/chrony.conf
3 server 172.25.254.101(时间源主机的IP) iburst #本机同步172.25.254.101主机的时间
systemctl restart chronyd.service
timedatectl set-timezone Asia/Shanghai #更改当前时区为东八区 (将时区改为同一时区,便于实验观察,也可不改,系统会将本时区时间自动生成其他时区相对应的时间)
=========================================
测试:
先在服务端更改时间
#在客户端
chronyc sources -v
date
========================================
#######################系统时间的设定###################
#查看当前时间的X天前或者X天后的时间
date -d +3day #查看3天前的时间
date -d -3day #查看3天后的时间
练习题:
1.从1970年1月1日00:00:00到目前为止经历经历的秒数
date +%s
2.显示12 PM/AM
date +%r
3.一年中的第几个星期
date +%W
#timedatetcl #管理系统的时间
timedatetcl status #显示当前时间的信息
RTC为硬件时钟时间
timedatectl set-time "2018-1-13 10:30:00"(要设定的时间) #设定当前时间
timedatectl set-local-rtc 1 #开启硬件时钟时间
#######################journal##########################
journalctl #查看日志的工具
journalctl -n 3 #查看最近3条日志
journalctl -p err #查看错误日志
--since:查看从什么时间开始的日志
--until:查看从什么时间截至的日志
journalctl --since '2012-10-30 12:00' --until '2012-10-30 12:01'
#如何使用systemd-journald保存系统日志
#默认systemd-journalds是不保存日志到硬盘的
#那么关机以后再次开机只能看到开机之后的日志
#上次关机之前的日志是无法查看的
#解决方法:
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal/
chmod g+s /var/log/journal/
ps aux | grep systemd-journal
killall -1 systemd-journald #使服务重新运行
ps aux | grep systemd-journal
ls /var/log/journal/
cd /var/log/journal/
ll
#看目录的时间,这个时间之后的日志都会记录