shell的一些注意点:
特殊字符:
$[] | 代表运算 |
' ' | 取消所有字符特殊意义 |
$( ) | 将命令的输出,当作参数,参与其他命令执行 |
定义变量或者赋值:变量名=变量值 ( 两边不能有空格)
使用变量中的值:$变量名
环境变量 | 由系统定义完成,并且赋值完成,用户直接使用即可 | $USER 永远储存当前登陆的用户名 |
位置变量 | 在执行脚本时提供的命令行参数 | $1、$2、.. .. ${10}、${11}、.. ..用户输入的第n个参数 |
预定义变量 | 由系统定义完成,并且赋值完成,用户直接使用即可 | $# 已加载的位置变量的个数,求和 $* 所有位置变量的值 $? 程序退出后的状态值,0表示正常,其他值异常 |
read:产生交互,捕捉用户在键盘上的输入,并且赋值给一个变量
-p:'屏幕提示信息'
-s:不显示用户输入的数据
for 循环体系,反复执行类似的操作
for 变量名 in 值列表
do
命令序列
done
循环的列表值,可以不参与,循环执行的重复操作
造数工具: {起始值..结束值} {1..50}:产生1到50之间的数字
注意点:
1.if判断中每次用到判断都要在后面加上;then 在判断结束后加上fi
2.if的开始标志是then 结束标志三fi 循环的开始标志三do 结束标志三done
系统安全保护
SELinux安全机制
Security-Enhanced Linux
美国NSA国家安全局主导开发,一套增强Linux系统安全的强制访问控制体系
集成到Linux内核(2.6及以上)中运行
RHEL7基于SELinux体系针对用户、进程、目录和文件提供了预设的保护策略,以及管理工具
SELinux的运行模式:
enforcing(强制)、permissive(宽松)
disabled(彻底禁用)任何模式变成disabled都要重起才可以
查看当前SELinux的运行模式
getenforce
切换运行模式
临时切换:setenforce 1|0 #本次开机临时切换状态
1是enforcing 0是permissive
设置开机运行模式
固定配置:/etc/selinux/config 文件
给用户设置永久别名
影响指定用户的 bash 解释环境
~/.bashrc,每次开启 bash 终端时生效
影响所有用户的 bash 解释环境
/etc/bashrc,每次开启 bash 终端时生效
在用户个人别名文件和所有用户别名文件冲突的时候,以/etc/bashrc为准
搭建基本Web服务
服务端:虚拟机Server0
1.安装软件包 Apache(httpd)
yum -y install httpd
2.重起httpd服务
systemctl restart httpd #重起httpd服务
systemctl enable httpd #设置为开机自启动
3.书写一个自己的页面文件
默认网页文件存放路径:/var/www/html
默认主页文件名称: index.html
[root@server0 ~]# vim /var/www/html/index.html
搭建基本FTP服务:文件传输
1.安装软件包vsftpd
yum -y install vsftpd
2.重起vsftpd服务
systemctl restart vsftpd
systemctl enable vsftpd
3.默认vsftpd共享路径 /var/ftp/
防火墙策略管理:
严格过滤入站 , 允许出站隔离
防火墙分为:
硬件防火墙
软件防火墙: firewalld
软件防火墙的管理工具:firewall-cmd(命令)、firewall-config(图形)
预设安全区域
根据所在的网络场所区分,预设保护规则集
public:仅允许访问本机的sshd dhcp ping等少数几个服务
trusted:允许任何访问
block:阻塞任何来访请求,明确拒绝,访问者会收到拒绝回复
drop:丢弃任何来访的数据包,直接丢弃,访问者不会收到任何回复
防火墙默认区域:public
防火墙进入区域的判断规则:匹配及停止
1.查看访问请求中源IP地址,查询所有的区域中,哪个区域有该源IP地址的策略,则进入该区域
2.进入默认区域即可
查看默认区域
firewall-cmd --get-default-zone
修改默认区域
firewall-cmd --set-default-zone=[预设安全区域]
默认区域的服务添加
firewall-cmd --zone=public --add-service=[服务名,如http ,ftp]
列出区域的所有服务
firewall-cmd --zone=public --list-all
互联网中常见协议:
http:超文本传输协议
https:安全的超文本传输协议
ftp:文件传输协议
tftp:简单的文件传输协议
telnet:远程管理协议
dns:域名解析协议
smtp:发邮件协议
pop3:收邮件协议
snmp:网络管理协议