一、SELINUX
1、作用:用于增强系统安全
2、运行模式:disabled / permissive / enforcing
3、更改模式
(1)临时setenforc 0|1
(2)永久/etc/selinux/config - > SELINUX=enforcing
4、查看模式

getenforce

5、selinx安全上下文环境值,是文件的锁,只有进程钥匙与锁匹配才能读取。

echo 'cd: test1' > index.html

ls -Z index.html

mv index.html /var/www/html/

访问服务器看不到index.html内容
#sealert -b 服务器上运行命令
#ls -Z index.html
6、布尔值,是功能开关
[root@client ~]# yum install -y vsftpd
[root@client ~]# vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES #33行
[root@client ~]# systemctl restart vsftpd
[root@client ~]# mkdir -m 777 /var/ftp/incoming

[root@room3pc19 ~]# yum -y install ftp
[root@room3pc19 ~]# ftp 192.168.4.100

7、selinux允许服务绑定的端口

vim /etc/httpd/conf/httpd.conf

Listen 8100
#systemctl restart httpd 启动失败
#sealert -b
#semanage port -a -t http_port_t -p tcp 8100
#systemctl restart httpd 启动成功

二、其他

8、命令查找顺序:函数>别名>内部命令>外部命令
[root@client ~]# vim ~/.bashrc
lh(){
ls --color -lh $
}
alias lld='ls --color -ld $
'
[root@client ~]# source ~/.bashrc
[root@client ~]# lh
[root@client ~]# lld

9、脚本执行
(1)bash script.sh 脚本中的shebang(#!/bin/bash)没用,必须用bash解释
(2)./script.sh 必须有X权限,需要使用shebang
第(1)(2)都使用fork子进程方式
(3)source ./script.sh 在当前进程中执行
10、管道也会开启子进程
[root@client ~]# echo wangwu | read -p "username" name
[root@client ~]# echo $name #name为空
子进程name变量获得了值wangwu
[root@client ~]# echo wangwu | (read -p "username" name; echo $name)

11、不通过键盘为read提供值的方式
[root@client ~]# read -p "username:" name <<< bob
[root@client ~]# echo $name

12、ipv6地址128位,每16位换算成16进制数并用冒号分开
22334:2:334::1 错误22334是20位进制数
2::1 正确 连续的0可以用::表示
2001::1::3 错误 ::只能出现一次

13、特殊的ipv6地址
:: 全部的ipv6地址,相当于是0.0.0.0
::1 相当于127.0.0.1

14、链路聚合,等同于网络设备上的以太通道
链路捆绑的另一方式是bond

三、防火墙

15、查看允许状态
[root@client ~]# firewall-cmd --state

16、区域,是进入系统的检查站
(1)查看所有的可用区域
[root@client ~]# firewall-cmd --get-zones
truested:能进入该区域的数据包默认放行
drop:进入改区域的数据包默认丢弃
block:进入该区域的数据包默认拒绝
其他区域除明确标明的服务,默认拒绝
(2)查看所有生效的区域
[root@client ~]# firewall-cmd --get-active-zones

(3)数据包进入区域的归则:首先是源地址匹配,然后是端口(接收网卡)匹配,最后是默认区域
[root@client ~]# firewall-cmd --permanent --add- source-192.168.10.0/24 --zone=work
[root@client ~]# firewall-cmd --permanent --add-interface=eth1 --zone=dmz

17、配置允许通过的数据
[root@client ~]# firewall-cmd --permanent --add-service=http
[root@client ~]# firewall-cmd --permanent --add-port=10050/tcp
[root@client ~]# firewall-cmd --permanent --add-port=10051/tcp

四、邮件服务
18、linux系统默认的邮件服务器是postfix,它实现了smtp功能,dovecot实现了pop/imap功能

19、与邮件服务相关的dns记录是mx

五、
20、数据库
1、关系型数据库(E-R模型):mariadb/mysql、db2、SQLserver、orcale
2、非关系型数据库(nosql)memeache、redis、mongodb
3、数据库推荐书籍 mysql必知必会 http://down.51cto.com/search.php?q=%E5%BF%85%E7%9F%A5%E5%BF%85%E4%BC%9A

六、web服务
1、虚拟主机实现方式
(1)基于IP地址
(2)基于端口号
(3)基于域名
2、服务定位三要素:ip地址+协议+端口号
3、URL:统一资源定位符 协议+地址+端口号+路径
http://www.tedu.cn:8000/news
4、查看网站相应头信息
[root@room3pc19 ~]# curl -I http://www.pangdanet.com

5、https安全通信需要使用证书

6、证书包含的信息:密钥、服务器信息、CA信息

七、samba

1、实现windows和linux共享目录

八、nfs

1、实现linux间共享

2、nfs依赖rpcbind

九、shell脚步基础
1、变量赋值
2、判断
3、循环

#/bin/bash

password=123456

for user in user{1..10}
do
id $user &> /dev/null
if [ $? -ne 0 ] ; then
useradd $user
echo $password | passwd --stdin $user &> /dev/null
chage -d0 $user
echo -e "created ${user}...\t\t\t\t\033[32;1m[ok]\033[0m"
fi
done

作业:
1、编写创建用户的脚本adduser2.sh
2、bash adduser2.sh 将会创建10个用户
3、bash adduser2.sh 15 将会创建15个用户
4、用户名为userX

#!/bin/bash
if [ -n "$1" ];then
NUMBER=$1
else
NUMBER=10
fi

COUNTER=0

while [ $COUNTER -lt $NUMBER ]
do
let n++
id user$n &> /dev/null
if [ $? -ne 0 ];then
useradd user$n
echo -e "create user${n}\t\t\t\t\033[32;1m[ok]\033[0m"
let COUNTER++
fi
done