第九周作业——3

1、判断UID是否大于等于500,如果为真就显示为普通用户,如果为假就显示为系统或管理用户

 

awk -F":" '{if($3>500){print "Common User:",$1,$3}else{print "System User:",$1,$3}}' /etc/passwd

 

2、显示用户id为奇数的用户。

 

awk -F":" '{if($3%2 != 0)print $1,$3}' /etc/passwd

 

3、统计web服务访问日志中的ip访问量

①、好方法:

awk '{ip[$1]++}END{for(i in ip){print ip[i],i}}' httpd-access.log

第九周作业——3

②、我觉得的好方法:

awk '{print $1}' httpd-access.log |sort -n |uniq -c |sort -nr

第九周作业——3

4、简述加密类型以及数据加密解密过程

加密类型大致有三种:对称加密、非对称加密(公钥加密)、单向散列(hash单向加密)

对称加密过程

第九周作业——3

  1. Bob要传输数据给Alice,首先先把用于加密的**发送给Alice
  2. Bob用Pb**加密数据,然后把加密过的数据发送给Alice
  3. Alice收到后用Pb解密,得到数据

 

非对称加密(公钥加密)过程

第九周作业——3

  1. Bob生成2个自己的**,分别是公钥Pb、私钥Sb
  2. Alice生成2个自己的**,分别是公钥Pa、私钥Sa
  3. Bob要传输数据给Alice,先要获取Alice的公钥Pa,这样可以Bob发送数据给Alice,可以保证只有Alice才能看
  4. Bob用Alice的公钥加密,把加密的数据发送给Alice
  5. Alice收到后用自己的私钥Sa解密,得到数据

 

单向散列(hash单向加密)过程

注:单向散列不是加密文件,而是对文件生成hash摘要,如果同文件的摘要不一样,则说明文件在传输中被人篡改,可以和上面的加密一起混合使用

第九周作业——3

  1. Bob生成2个自己的**,分别是公钥Pb、私钥Sb
  2. Alice生成2个自己的**,分别是公钥Pa、私钥Sa
  3. Bob把要发送的文件用md5得到文件摘要
  4. Bob用自己的私钥加密文件摘要,把文件、Bob加密的文件摘要、Bob的公钥打个压缩包,用Alice的公钥加密发送给Alice
  5. Alice收到后用自己的私钥Sa解密,得到压缩包,并解压
  6. Alice用压缩包里Bob的公钥解密Bob加密的文件摘要
  7. Alice用md5对文件进行摘要比对,看看文件是不是原始文件

 

 

5、搭建私有CA并实现证书颁发

①、在/etc/pki/CA创建CA私钥证书

cd /etc/pki/CA

( umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048 ).

第九周作业——3

②、自签名CA证书

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650

第九周作业——3

③、在/etc/pki/CA目录下创建文件  serial 和 index.txt

touch serial index.txt

第九周作业——3

还要在serial写入(随便写入)十六进制数作为第一个证书的起始编号

echo FF > serial

第九周作业——3

④、在网站服务器先生成一个私钥(路径可以是网站的目录)

(umask 077;openssl genrsa -out /usr/local/httpd/ssl/web.key 1024)

第九周作业——3

⑤、服务器端生成一个证书申请文件

注:输入的信息,国家、省、公司名称必须要和CA的信息一样(默认信息可以在openssl.cnf更改)

openssl req -new -key app.key -out app.csr

第九周作业——3

⑥、CA签署并颁发证书

openssl ca -in app.csr -out certs/app.crt -days 365

第九周作业——3

注:证书路径、验证填写的信息是由/etc/pki/tls/openssl.cnf文件决定的

 

使用证书前:

第九周作业——3

使用证书后

第九周作业——3

Ps:谷歌浏览器还是说我的证书有问题、不受信任,不过ie浏览器可以受信任