Linux防火墙-firewalld

1、firewalled的9个zone

打开firewalld(之前关闭了firewalld):

systemctl disable iptables
systemctl stop iptables
systemctl enable firewalld
systemctl start firewalld

firewalld默认有9个zone 默认zone为public firewall-cmd --get-zones //查看所有zone firewall-cmd --get-default-zone//查看默认zone

2、firewalld关于zone的操作

firewall-cmd --set-default-zone=work //设定默认zone firewall-cmd --get-zone-of-interface=ens33 //查指定网卡 firewall-cmd --zone=public --add-interface=lo //给指定网卡设置zone firewall-cmd --zone=dmz --change-interface=lo //针对网卡更改zone firewall-cmd --zone=dmz --remove-interface=lo //针对网卡删除zone,会设置为默认zone firewall-cmd --get-active-zones //查看系统所有网卡所在的zone

3、firewalld关于service的操作(service可以理解为端口)

firewall-cmd --get-services //查看所有的servies firewall-cmd --list-services //查看当前zone下有哪些service firewall-cmd --zone=public --list--service //查看public下的service firewall-cmd --zone=public --add-service=http //把http增加到public zone下面 firewall-cmd --zone=public --remove-service=http ls /usr/lib/firewalld/zones/ //zone的配置文件模板 firewall-cmd --zone=public --add-service=http --permanent //更改配置文件,之后会在/etc/firewalld/zones目录下面生成配置文件

/usr/lib/firewalld/services/ //下面存放模板 需求:ftp服务自定义端口1121,需要在work zone下面放行ftp

cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services
vi /etc/firewalld/services/ftp.xml      //把21改为1121
cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/
vi /etc/firewalld/zones/work.xml      //增加一行
<service name="ftp"/>
firewall-cmd --reload      //重新加载
firewall-cmd --zone=work --list-services

Linux任务计划

任务计划的配置文件:/etc/crontab crontab -u、-e、-l、-r crontab -l //查看任务计划内容 crontab -r //删除 crontab -u //指定用户 格式:分 时 日 月 周 user command 文件/var/spool/cron/username //就是crontab -l命令列出来的 例: crontab -e //编辑

分范围0-59,时范围0-23,日范围1-31,月范围1-12,周1-7 可用格式1-5表示一个范围1到5 可用格式1,2,3表示1或者2或者3 可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时 为什么没有年:因为每年的星期对应的月份和日期不同

要保证服务是启动状态 systemctl start crond.service

查看服务是否正常启动: ps aux | grep crond或者systemctl status crond

Linux系统服务管理-chkconfig

chkconfig适用centos6及之前,centos7也可以使用 chkconfig --list //列出所有的服务 服务启动脚本位置:/etc/init.d/ chkconfig network off //关闭network服务 chkconfig --level 3 network off //指定network的3级别关闭 chkconfig --level 345 network off //指定network的3,4,5级别关闭 chkconfig --del network //删除 chkconfig --add network //加入到服务列表中(前提:/etc/init.d/目录下有服务启动脚本)

Linux系统服务管理-systemd(centos7)

1、systemd管理服务

systemctl list-units --all --type=service //列出type=service的 systemctl list-units --all //列出所有

几个常用的服务相关的命令: systemctl enable crond.service //让服务开机启动 systemctl disable crond //不让开机启动 systemctl status crond //查看状态 systemctl stop crond //停止服务 systemctl start crond //启动服务 systemctl restart crond //重启服务 systemctl is-enabled crond //检查服务是否开机启动

2、unit介绍

ls /usr/lib/systemd/system //系统所有unit,分为以下类型: service 系统服务 target 多个unit组成的组 device 硬件设备 mount 文件系统挂载点 automount 自动挂载点 path 文件或路径 scope 是由systemd启动的外部进程 slice 进程组 snapshot systemd快照 socket 进程间通信套接字 swap swap文件 timer 定时器

unit相关的命令: systemctl list-units //列出正在运行的unit systemctl list-units --all //列出所有,包括失败的或者inactive的 systemctl list-units --all --state=inactive //列出inactive的unit systemctl list-units --type=service//列出状态为active的service systemctl is-active crond.service //查看某个服务是否为active

3、target介绍

系统为了方便管理用target来管理unit systemctl list-unit-files --type=target //列出所有的target systemctl list-dependencies multi-user.target //查看指定target下面有哪些unit systemctl get-default //查看系统默认的target systemctl set-default multi-user.target //设置默认的target 一个service属于一种类型的unit 多个unit组成了一个target 一个target里面包含了多个service cat /usr/lib/systemd/system/sshd.service //看[install]部分查看service属于哪个target

Linux文件同步工具-rsync

1、rsync工具介绍:

rsync -av /etc/passwd /tmp/1.txt //把passwd文件同步到/tmp下的1.txt文件中 rsync -av /tmp/1.txt 192.168.188.128:/tmp/2.txt //两台机器同步文件 rsync格式 rsync [OPTION] … SRC DEST rsync [OPTION] … SRC [user@]host:DEST //不写用户就是当前终端的用户 rsync [OPTION] … [user@]host:SRC DEST rsync [OPTION] … SRC [user@]host::DEST rsync [OPTION] … [user@]host::SRC DEST

OPTION是指选项 SRC指源目录或文件 DEST指目标目录

2、rsync常用选项

-a 包含-r,t,p,l,g,o, -r 同步目录时要加上,类似cp时的-r选项 -v 同步时显示一些信息,让我们知道同步的过程 -l 保留软连接 -L 加上该选项后,同步软链接时会把源文件给同步 -p 保持文件的权限属性 -o 保持文件的属主 -g 保持文件的属组 -D 保持设备文件信息 -t 保持文件的时间属性 --delete 删除DEST中SRC没有的文件 --exclude 过滤指定文件,如--exclude “logs”会把文件名包含logs的文件或者目录过滤掉,不同步 -P 显示同步过程,比如速率,比-v更加详细 -u 加上该选项后,如果DEST中的文件比SRC新,则不同步 -z 传输时压缩

举例实际操作: 把111作为源目录 /tmp作为目标目录 rsync -av /root/111/ /tmp/111_dest/ //同步目录

3、rsync通过ssh同步

rsync通过ssh方式同步 rsync -av test1/ 192.168.133.132:/tmp/test2/ //格式(需要同步的机器也要有rsync命令,安装:yum install -y rsync) rsync -av -e "ssh -p 22" test1/ 192.168.133.132:/tmp/test2/ //-e "ssh -p 22"指定端口 ssh -p ip地址 //通过ssh方式到其他服务器

rsync 通过服务的方式同步(cs架构) 监听端口,默认873,也可以自定义 要编辑配置文件/etc/rsyncd.conf(默认配置文件路径) 启动服务rsync --daemon 格式:rsync -av test1/ 192.168.133.130::test/ 若端口设置为其他,格式:rsync -av --port 端口 test1/ 192.168.133.130::test/ /tmp/test

rsyncd.conf样例: port=873 log file=/var/log/rsync.log pid file=/var/run/rsyncd.pid address=192.168.133.130 [test] (模块名,现在配置的模块名就是/tmp/rsync) path=/tmp/rsync (配置好了之后需要创建这个目录,默认是没有的,赋予权限:chmod 777 /tmp/rsync) use chroot=true max connections=4 read only=no list=true uid=root gid=root #auth users=test #secrets file=/etc/rsyncd.passwd //用来配置密码的,rsyncd.passwd内容格式:test:密码。还需要指定权限:chmod 600 /etc/rsyncd.passwd hosts allow=192.168.133.132

rsyncd.conf配置文件详解: •port:指定在哪个端口启动rsyncd服务,默认是873端口。 •log file:指定日志文件。 •pid file:指定pid文件,这个文件的作用涉及服务的启动、停止等进程管理操作。 •address:指定启动rsyncd服务的IP。假如你的机器有多个IP,就可以指定由其中一个启动rsyncd服务,如果不指定该参数,默认是在全部IP上启动。 •[]:指定模块名,里面内容自定义。 •path:指定数据存放的路径。 •use chroot true|false:表示在传输文件前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但缺点是需要以roots权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true,如果你的数据当中有软连接文件,建议设置成false。 •max connections:指定最大的连接数,默认是0,即没有限制。 •read only ture|false:如果为true,则不能上传到该模块指定的路径下。(true只读) •list:表示当用户查询该服务器上的可用模块时,该模块是否被列出,设定为true则列出,false则隐藏。 •uid/gid:指定传输文件时以哪个用户/组的身份传输。 •auth users:指定传输时要使用的用户名。 •secrets file:指定密码文件,该参数连同上面的参数如果不指定,则不使用密码验证。注意该密码文件的权限一定要是600。格式:用户名:密码 rsync -avP /tmp/test/ test@192.168.133.130::test/ •hosts allow:表示被允许连接该模块的主机,可以是IP或者网段,如果是多个,中间用空格隔开。 •当设置了auth users和secrets file后,客户端连服务端也需要用用户名密码了,若想在命令行中带上密码,可以设定一个密码文件 •rsync -avL test@192.168.133.130::test/test1/ /tmp/test8/ --password-file=/etc/pass •其中客户端/etc/pass内容就是一个密码,权限要改为600 •hosts allow:用来定义允许哪些机器做同步。如果是多个,可以用空格隔开;或者使用IP段192.168.133.0/24

Linux系统日志

/var/log/messages //Linux总的日志 /etc/logrotate.conf //日志切割配置文件 dmesg命令 //列出硬件相关的日志,保存在内存中 /var/log/dmesg 日志 //系统启动日志记录的信息 last命令,调用文件/var/log/wtmp,用来查看正确的登陆历史 lastb命令查看登录失败的用户,对应的文件时/var/log/btmp /var/log/secure //安全日志

screen工具(虚拟屏幕)

适应场景:为了不让一个任务意外中断 nohup +执行的命令 +日志路径 +& //放到后台

screen是一个虚拟终端 yum install -y screen screen直接回车就进入了虚拟终端 ctral a组合键再按d退出虚拟终端,但不是结束 exit 结束 screen -ls 查看虚拟终端列表 screen -r id 进入指定的终端 screen -S "test_screen" //指定名字 screen -r test_screen //进入指定终端