Engineer02

本文涉及的产品
云防火墙,500元 1000GB
简介:

##################################################

for循环结构

循环作用:让计算机,反复执行重复性的操作

for 变量  in  值列表
 do
        执行的动作
 done

[root@server0 ~]# vim /root/10.sh
#!/bin/bash
for user in kenji natasha tom harry jack
do
useradd $user
echo $user 成功
done

[root@server0 ~]# /root/10.sh

#######################################################
案例5:编写一个批量添加用户脚本
在 server0 上创建 /root/batchusers 脚本
1)此脚本要求提供用户名列表文件作为参数
2)如果没有提供参数,此脚本应该给出
提示 Usage: /root/batchusers,退出并返回相应值
3)如果提供一个不存在的文件,此脚本应该给出
提示 Input file not found,退出并返回相应值
4)新用户的登录Shell为 /bin/false,无需设置密码
5)用户列表测试文件:
http://classroom/pub/materials/userlist

[root@server0 ~]# vim /root/batchusers
#!/bin/bash
if [ $# -eq 0 ];then #如果没有输入位置参数
echo 'Usage: /root/batchusers' >&2
exit 1
fi

if [ ! -f $1 ];then #如果文件不存在为真
echo 'Input file not found' >&2
exit 2
fi

for i in $(cat $1)
do
useradd -s /bin/false $i &> /dev/null
echo $i成功
done

######################################################
系统安全保护
SELinux概述
• Security-Enhanced Linux
– 美国NSA国家安全局主导开发,一套增强Linux系统安
全的强制访问控制体系
– 集成到Linux内核(2.6及以上)中运行
– RHEL7基于SELinux体系针对用户、进程、目录和文件
提供了预设的保护策略,以及管理工具

##################################################

• SELinux的运行模式
– enforcing(强制)、permissive(宽松)
– disabled(彻底禁用)

• 切换运行模式
– 临时切换:setenforce 1|0
– 固定配置:/etc/selinux/config 文件
– 如果修改SELinux状态为disabled(彻底禁用),需要修改/etc/selinux/config 文件并且重起

虚拟机server
[root@server0 ~]# getenforce #查看当前SELinux状态
Enforcing
[root@server0 ~]# setenforce 0 #设置SELinux状态
[root@server0 ~]# getenforce 
Permissive
[root@server0 ~]# vim /etc/selinux/config 
SELINUX=permissive

虚拟机desktop
[root@desktop0 ~]# getenforce 
Enforcing
[root@desktop0 ~]# setenforce 0
[root@desktop0 ~]# getenforce 
Permissive
[root@desktop0 ~]# vim /etc/selinux/config 
SELINUX=permissive

#################################################

配置聚合连接(网卡绑定、链路聚合)

HSRP热备份路由协议: 备份网关设备

                           活跃路由器           备份路由器
                                         虚拟路由器          

网卡绑定: 备份网卡

                             网卡1 :eth1      网卡2 :eth2

                                           虚拟网卡team

#####################################################
建立网卡绑定

虚拟机Server0上

1.建立team虚拟的网卡

参考 man teamd.conf —— '{"runner":{"name":"activebackup"}}'

nmcli connection add type team

con-name team0 ifname team0 autoconnect yes 
config '{"runner": {"name": "activebackup"}}'

建立一个类型为team的网卡,配置文件名字为team0,

ifconfig命令显示的设备名为team0,每次开机自动启动
team运行的模式为热备份方式

vim /etc/sysconfig/network-scripts/ifcfg-team0

ifconfig team0

2.添加奴隶

nmcli connection add type team-slave con-name team0-1 ifname eth1 master team0

nmcli connection add type team-slave con-name team0-2 ifname eth2 master team0

添加一个类型为team-slave的成员,配置文件名team0-1,设备为eth1,添加到team0组队中

3.配置IP地址

nmcli connection modify team0

ipv4.method manual ipv4.addresses 192.168.1.1/24 
connection.autoconnect yes

4.激活
[root@server0 ~]# nmcli connection up team0
[root@server0 ~]# nmcli connection up team0-1 
[root@server0 ~]# nmcli connection up team0-2
[root@server0 ~]# ifconfig team0

5.查看team信息
[root@server0 ~]# teamdctl team0 state

6.配置错误,删除重做
[root@server0 ~]# nmcli connection delete team0
[root@server0 ~]# nmcli connection delete team0-1
[root@server0 ~]# nmcli connection delete team0-2
###################################################
配置IPV6地址

ip地址:唯一标识,网络一个节点的地址

ipv4: 32个二进制 点分4个10进制

ipv6: 128个二进制 以":"分隔8段,每段用16进制表示

案例3:配置IPv6地址

nmcli connection modify 'System eth0'

ipv6.method manual ipv6.addresses 2003:ac18::305/64 connection.autoconnect yes

nmcli connection up 'System eth0'

ping6 2003:ac18::305

#####################################################
配置用户环境(永久别名的定义)
alias别名设置
• 查看已设置的别名
– alias [别名名称]
• 定义新的别名
– alias 别名名称= '实际执行的命令行'
• 取消已设置的别名
– unalias [别名名称]

用户个性化配置文件
• 影响指定用户的 bash 解释环境
– ~/.bashrc,每次开启 bash 终端时生效

全局环境配置
• 影响所有用户的 bash 解释环境
– /etc/bashrc,每次开启 bash 终端时生效

[root@server0 ~]# vim /root/.bashrc #root用户自定义别名
alias hello='echo hi'
[root@server0 ~]# vim /etc/bashrc #所有用户自定义别名
alias myls='ls -ld'
[root@server0 ~]# vim /home/student/.bashrc #student用户
alias hi='echo hello'

开启一个新的终端
[root@server0 ~]# hello #执行成功
[root@server0 ~]# myls /root/ #执行成功
[root@server0 ~]# hi #执行失败
[root@server0 ~]# su - student
[student@server0 ~]$ hello #执行失败 
[student@server0 ~]$ hi #执行成功
[student@server0 ~]$ myls /root/ #执行成功
[student@server0 ~]$ exit #回到root
####################################################

[root@server0 ~]# vim /etc/bashrc #所有用户自定义别名
alias qstat='/bin/ps -Ao pid,tt,user,fname,rsz'

####################################################
防火墙策略管理

一、Web服务器

Server服务端 :服务端软件
客户端:客户端软件,访问服务端资源

1.安装服务端软件httpd
[root@server0 ~]# yum -y install httpd

2.启动httpd服务,设置为开机自起
[root@server0 ~]# systemctl restart httpd
[root@server0 ~]# systemctl enable httpd

3.验证
[root@server0 ~]# firefox http://172.25.0.11

4.书写一个页面
默认网页文件路径:/var/www/html
默认网页文件名称:index.html

[root@server0 ~]# vim /var/www/html/index.html
<marquee><font color=red><h1>hahaxixihehelele

[root@server0 ~]# firefox http://172.25.0.11

#######################################################
二、FTP服务器

1.安装服务端软件vsftpd
[root@server0 ~]# yum -y install vsftpd

2.启动vsftpd服务,设置为开机自起
[root@server0 ~]# systemctl restart vsftpd
[root@server0 ~]# systemctl enable vsftpd

3.验证
[root@server0 ~]# firefox ftp://172.25.0.11

默认的共享路径:/var/ftp

#####################################################

• 系统服务:firewalld
• 管理工具:firewall-cmd、firewall-config

[root@server0 ~]# systemctl restart firewalld

作用:隔离, 严格控制入站请求,放行所有出站

• 根据所在的网络场所区分,预设保护规则集
– public:仅允许访问本机的sshd等少数几个服务
– trusted:允许任何访问
– block:拒绝任何来访请求
– drop:丢弃任何来访的数据包

防火墙判定的规则:
1.客户端数据中的源IP地址,查看所有区域中那个区域有该地址的规则,如果有则进入该区域

  1. 进入默认区域(管理员可以设置默认区域)

####################################################
虚拟机server0:

firewall-cmd --get-default-zone #查看默认区域

firewall-cmd --zone=public --list-all #查看区域规则

虚拟机desktop0:

ping -c 2 172.25.0.11 #可以通信

虚拟机server0:

firewall-cmd --get-default-zone #查看默认区域

firewall-cmd --set-default-zone=block #修改默认区域

firewall-cmd --get-default-zone

虚拟机desktop0:

ping -c 2 172.25.0.11 #不能通信,当可以收到回应

虚拟机server0:

firewall-cmd --set-default-zone=drop #修改默认区域

firewall-cmd --get-default-zone #查看默认区域

虚拟机desktop0:

ping -c 2 172.25.0.11 #不能通信,没有回应

######################################################
虚拟机server0:

firewall-cmd --set-default-zone=public

firewall-cmd --get-default-zone

firewall-cmd --zone=public --list-all #查看区域策略

firewall-cmd --zone=public --add-service=http #添加服务

虚拟机desktop0:

firefox http://172.25.0.11 #可以访问

firefox ftp://172.25.0.11 #不可以访问

虚拟机server0:

firewall-cmd --zone=public --list-all #查看区域策略

firewall-cmd --zone=public --add-service=ftp #添加服务

虚拟机desktop0:

firefox http://172.25.0.11 #可以访问

firefox ftp://172.25.0.11 #可以访问

#####################################################

– 永久配置(permanent)

虚拟机server0:

firewall-cmd --reload #重新加载防火墙配置

firewall-cmd --zone=public --list-all #查看防火器规则

firewall-cmd --permanent --zone=public --add-service=http

firewall-cmd --permanent --zone=public --add-service=ftp

firewall-cmd --zone=public --list-all #查看防火器规则

firewall-cmd --reload #重新加载防火墙配置

firewall-cmd --zone=public --list-all

#######################################################

实现本机的端口映射
• 本地应用的端口重定向(端口1 --> 端口2)
– 从客户机访问 端口1 的请求,自动映射到本机 端口2
– 比如,访问以下两个地址可以看到相同的页面:
http://172.25.0.11:5423/
http://172.25.0.11/

从客户机访问 ------》172.25.0.11:5423-----------》172.25.0.11:80

虚拟机Server0:

firewall-cmd --permanent --zone=public

--add-forward-port=port=5423:proto=tcp:toport=80

firewall-cmd --reload

firewall-cmd --zone=public --list-all

虚拟机Desktop0:

firefox http://172.25.0.11:5423

######################################################



     本文转自sweak_h 51CTO博客,原文链接:http://blog.51cto.com/13478354/2046915,如需转载请自行联系原作者



相关文章
How China's Developers Are Defining The Information Age (Infographic 5)
China’s Developers: the technologies of tomorrow that are defining the information age
1621 0
How China's Developers Are Defining The Information Age (Infographic 5)
How China's Developers Are Defining The Information Age (Infographic 4)
China’s Developers: the essentials of today that are defining the information age
1472 0
How China's Developers Are Defining The Information Age (Infographic 4)
|
Shell Linux 开发工具
|
Web App开发 测试技术 开发工具
|
网络安全 开发工具 数据安全/隐私保护
|
存储 关系型数据库 MySQL
|
Shell Linux 开发工具
|
安全 开发工具
|
Devops 网络安全 开发工具
|
JavaScript Java 程序员