二级知识2

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二级知识2相关的知识,希望对你有一定的参考价值。

一基本安装
 
Web网站服务端:软件包httpd、系统服务httpd
Web网站浏览器:软件包elinks或fireox
传输协议及端口:TCP 80
Web网站服务端配置文件
    /etc/httpd/conf/httpd.conf
    /etc/httpd/conf.d/*.conf
默认首页文件:index.html
httpd网站文档的默认根目录:/var/www/html
 
访问 http://user:密码@服务器地址[:端口号]/目录/文件名
 
步骤:
1yum -y install httpd
 
2修改配置文件
 
3重新启动服务,测试
 
###########################################################################
二虚拟主机(扩展)
1基于域名的,ip一样,多个域名,内容也不一样
2端口不一样,80,8080,ip域名一样,适用于内部测试
3ip不一样,域名一样
 
步骤:
vim /etc/httpd/conf.d/**.conf
listen 端口
<VirtualHost ip:监听的端口>
       ServerName    网站的名字
       DocumentRoot  网站的网页根目录
    DirectoryIndex 默认首页
    WSGIScriptAlias / /路径别名
</VirtualHost>   
 
一旦启用虚拟站点机制以后:
    外部的 DocumentRoot、ServerName 会被忽略
    第1个虚拟站点被视为默认站点,若客户机请求的URL不属于任何已知站点,则由第1个站点响应
 
########################################################################
三对网页的访问进行限制
方法:
1可以把根目录其他人修改为chmod o-rwx /根目录
 
2可以开启firewall防火墙,souch firewall-cmd --zone=public --add-source=
 
3可以修改/etc/httpd/conf.d/虚拟主机配置文件
 
<Directory  "父目录路径">
     Require all denied(拒绝)|granted(允许)
             ip  ip或者网段(表示方法:127.0.0.0/16)
</Directory>
 
######################################################################
四使用自定义的根目录
方法:
1关闭selinx即可
 
2selinux开启状态下
chcon  [-R]  --reference=模板目录  新目录 把允许属性复制到自定义的根目录
 
3将新目录增加到预设的标准Web目录范围
semanage  fcontext  -a  -t  httpd_sys_content_t      ‘新目录(/.*)?‘  
####################################################################
五设置https
安全Web传输协议及端口:TCP 443
访问HTTP站点(未加密):http://server0.example.com/
访问HTTPS站点(加密):https://server0.example.com/
为httpd服务端实现TLS加密的条件:1)启用一个 mod_ssl 模块;2)提供加密的素材:网站服务器的数字证书、网站服务器的私钥、根证书(证书颁发机构的数字证书)
TLS证书部署位置:/etc/pki/tls/certs/*.crt
TLS私钥部署位置:/etc/pki/tls/private/*.key
 
一共2个证书文件,一个是提供CA的证书服务器的数字证书,一个是网站的证书
 一个私钥,是网站的私钥
 
步骤:
1yum  -y  install  mod_ssl
2将下载的文件放到文件夹下,也可以随意存放,关键在于配置文件中的指定
3
    vim  /etc/httpd/conf.d/ssl.conf
   59 DocumentRoot "/var/www/html"                                     //网页目录
   60 ServerName server0.example.com:443                              //站点的域名
   100 SSLCertificateFile /etc/pki/tls/certs/server0.crt                  //网站证书
   107 SSLCertificateKeyFile /etc/pki/tls/private/server0.key             //网站私钥
   122 SSLCACertificateFile /etc/pki/tls/certs/example-ca.crt             //根证书
用https打开才行
###########################################################################################
netstat  -antpu | grep  httpd         //查看监听的端口
 
查询服务安装位置 rpm  -ql  httpd
下载重命名 wget 网址 -O 重命名
elinks -dump(不用交互) 地址
回滚
cp -p **  **.2017.5.3.1
查看selinux的条目  semanage fcontext -l  
restorecon -R #恢复selinux属性(要求原属性)
ls -Zd #查询selinux属性
semanage fcontext -a(添加) -t(指定属性) httpd_sys_content_t ‘/webroot(/.*)?‘
restorecon -R /webroot
 
 tail /var/log/httpd/error_log
so为模块文件  
##################################################################################
 
1安装php
2写文档,php结尾
<?php
                  phpinfo();
?>
3重起httpd服务
 
#################################################################################
WSGI
8909
 
semangae port -l | grep http_port 查看允许端口
semangae port -a -t http_port_t -p tcp 8909
补充命令:
 WSGIScriptAlias  /  /var/www/webapp0/webinfo.wsgi 别名转发

帮助文档:
 /usr/share/doc/

 httpd-2.4.6/httpd-vhosts.conf
#####################################################
Samba服务,完成跨平台的共享

Samba共享用户: 与系统用户同名,但有独立的samba密码

? 使用 pdbedit 管理工具
– 添加用户:pdbedit -a 用户名
– 查询用户:pdbedit -L [用户名]
– 删除用户:pdbedit -x 用户名

server0:
1.设置防火墙默认区域为trusted
2.安装samba软件
3.创建 harry、kenji、chihiro用户
4.pdbedit工具,将harry、kenji、chihiro用户添加为Samba共享用户
5. 查询用户:pdbedit -L


vim 命令模式 G  到全文的最后

server0:
1.修改配置文件/etc/samba/smb.conf在文件的最后

[nsd]                      #共享名
   path = /opt             #共享的实际路径

2.重起smb服务

desktop0:
1.smbclient -L //172.25.0.11  进行测试,能够看到nsd共享即可
   密码为空直接回车
2.安装samba-client包,提供smbclient命令
#######################################################
配置文件及参数(续1)
? 修改 /etc/samba/smb.conf
[自定共享名]

path = 文件夹绝对路径
; public = no|yes //默认no
; browseable = yes|no //默认yes
; read only = yes|no //默认yes
; write list = 用户1 .. .. //默认无
; valid users = 用户1 .. .. //默认任何用户
; hosts allow = 客户机地址 .. ..
; hosts deny = 客户机地址 .. ..

######################################################
修改工作组       
 89   workgroup = STAFF

访问的方式,user  必须要有用户名密码的方式
 123         security = user

#####################################################
在 server0 上发布共享文件夹,要求如下:
一、发布目录 /common,共享名为 common

1.创建/common,在此目录里面创建文件123.txt
2.修改/etc/samba/smb.conf
 [common]
        path = /common

3.重起smb服务

在 desktop0 上:
1.smbclient -L //172.25.0.11

了解内容,当前语言环境
[[email protected] /]# echo $LANG           #输出变量LANG的值
zh_CN.UTF-8

#####################################################
在 desktop0 上:
将common共享,挂载到本地/mnt/common

1. 创建目录 /mnt/common
2. 进行挂载
# mount -o username=kenji,password=123  
//172.25.0.11/common   /mnt/common

3. 查看挂载信息   df -h /mnt/common

###################################################
网络访问权限的判定
1.服务的权限
2.本地目录权限
3.安全的机制(防火墙、SELinux)
###################################################
SELinux
1.安全上下文值
# chcon -R --reference=/var/www  /webroot
2.布尔值,  开关
      查看所有布尔值,功能开关     
[[email protected] /]# getsebool -a | grep samba
      设置功能开启
[[email protected] /]# setsebool samba_export_all_ro on

#####################################################
在客户端测试desktop0

1. ls  /mnt/common  查看没有报错


#####################################################
实现读写的samba共享
server0:
1.创建目录 /devops
2.创建文件 /devops/abcd.txt
3.修改 /etc/samba/smb.conf
[devops]
   path = /devops
   write list = chihiro               #允许chihiro可写
4.重起smb服务

desktop0:
1. 创建目录 /mnt/dev
2. mount -o username=chihiro,pass=123  
//172.25.0.11/devops  /mnt/dev
3. 查看内容 ls /mnt/dev/
##################################################
server0上操作:
设置本地权限
[[email protected] /]# setfacl -m u:chihiro:rwx /devops/
[[email protected] /]# getfacl /devops/
设置SELinux
[[email protected] /]# getsebool -a | grep samba
[[email protected] /]# setsebool samba_export_all_rw on

补充: setsebool  -P   大写的‘P‘  选项可以让布尔值永久生效
####################################################
desktop0:
1.卸载 umount /mnt/dev
2.查看 ls /mnt/dev/
3.修改/etc/fstab 最后写

//172.25.0.11/devops  /mnt/dev  cifs  username=kenji,pass=123,_netdev 0 0

_netdev:代表启动网络服务,后进行挂载
cifs: samba使用的文件系统是cifs

4.验证 : mount  -a  
   查看 : df  -h /mnt/dev

#####################################################
实现多用户的samba共享
挂载参数调整
– multiuser,提供对客户端多个用户身份的区分支持
– sec=ntlmssp,提供NT局域网管理安全支持

1.修改 /etc/fstab
//172.25.0.11/devops /mnt/dev  cifs  username=kenji,pass=123,multiuser,sec=ntlmssp,_netdev 0 0

2.查询命令是由那个软件包产生的
[[email protected] ~]# yum provides */cifscreds
[[email protected] ~]# yum -y install cifs-utils

3.切换普通用户验证
# su - student
# cifscreds add -u chihiro 172.25.0.11   #切换身份
# touch /mnt/dev/1234.txt
######################################################
NFS共享
适用Linux与Linux平台之间
端口号:通常在2049
安装包:nfs-utils 和portmap
服务名:nfs-server

配置文件
  /etc/exports
– 文件夹路径      客户机地址(权限)
 /public   172.25.0.0/24(ro)      

查看nfs共享: showmount -e  172.25.0.11
######################################################
高级安全NFS共享的实现

? 作为普通NFS的增强版
– 结合 LDAP+kerberos 技术,实现认证和加密支持
– 同一个 kerberos 领域内,认证用户可实现“一次密码
认证,多次免密登录”的通行证机制

   网络用户       用户名  LDAP服务器    
                      密码 kerberos服务器   

一、非常强烈建议,还原classroom、server、desktop

  rht-vmctl  reset classroom
  rht-vmctl  reset server
  rht-vmctl  reset desktop

######################################################
服务端server0:
1.加入LDAP , lab nfskrb5 setup
  2.查看是否识别用户   id  ldapuser0
3. 设置防火墙默认区域 trusted

4. 创建共享目录 mkdir -p /nsd/test
5.下载加密所需的密钥文件
 wget http://classroom.example.com/pub/keytabs/server0.keytab  -O  /etc/krb5.keytab

6.修改配置文件/etc/exports
 /nsd   172.25.0.0/24(rw,sec=krb5p)

7.重起服务 nfs-server  nfs-secure-server
8.设置开机自起 nfs-server  nfs-secure-server
9.为/nsd/test/设置ACL策略  ldapuser0赋予rwx权限

客户端desktop0:
1.加入LDAP , lab nfskrb5 setup
2.查看是否识别用户   id  ldapuser0
3.设置防火墙默认区域 trusted

4.下载加密所需的密钥文件
 wget http://classroom.example.com/pub/keytabs/desktop0.keytab  -O  /etc/krb5.keytab

5.创建挂载点 mkdir /mnt/nfs
6.实现开机自动挂载 vim /etc/fstab
172.25.0.11:/nsd  /mnt/nfs  nfs  sec=krb5p,_netdev 0 0

7.重起  nfs-secure
8.设置开机自起    nfs-secure
9.验证  ssh [email protected]   #必须用这种方式
10. 用ldapuser0身份 测试写入 /nsd/test/1.txt



###############################################
Samba的用途:为多个客户机提供共享使用的文件夹。

Samba服务端:软件包samba、系统服务smb

Samba客户端:软件包samba-client和cifs-utils、客户端工具smbclient

传输协议及端口:TCP 139、TCP 445

Samba服务端配置文件:/etc/samba/smb.conf

Samba共享账号:存在独立的账号数据文件里,必须有同名系统账号(方便给权限)

Samba账号管理工具:

    pdbedit -a 用户名
    pdbedit -L [用户名]
    pdbedit -x 用户名

测试Samba共享资源:

    smbclient -L 服务器地址 【密码为空(直接回车)】
    smbclient -U 用户名 //服务器地址/共享名 【需要密码】
Samba客户端的multiuser挂载:支持切换访问Samba共享的用户身份,但不需要重新挂载共享资源。挂载参数需要添加“multiuser,sec=ntlmssp”,客户机上的普通用户可以通过cifscreds命令提交新的身份凭据。

在客户端挂载Samba共享目录,需要软件包cifs-utils的支持。

为访问网络资源配置开机挂载时,注意添加参数“_netdev”,表示等客户机网络配置可用以后才挂载对应资源。
对于普通NFS共享来说:

    服务端需要运行系统服务 nfs-server.service
    客户端不需要运行特定的系统服务
对于安全NFS共享来说:

    服务端需要运行系统服务 nfs-server.service、nfs-secure-server.service
    客户端需要运行系统服务 nfs-secure.service

kerberos认证/加密:一次认证(获取通行证),多次免密码登录。

客户机密钥部署位置:/etc/krb5.keytab 。

参与kerberos认证/加密的客户机需要加入同一个kerberos领域,在教学环境虚拟机中可通过执行lab nfskrb5 setup操作来实现。

 cifscreds  -u  chihiro  add  server0.example.com
Password:                                           //输入共享账号chihiro的密码
[[email protected] ~]$ touch  /mnt/dev/a.txt
[[email protected] ~]$ ls  /mnt/dev/a.txt
/mnt/dev/a.txt

host -t mx tedu.cn

以上是关于二级知识2的主要内容,如果未能解决你的问题,请参考以下文章

计算机二级 公共基础知识

二级C语言知识!高手请教!

计算机二级C语言知识点

计算机二级C语言知识点

计算机二级C语言公共基础知识,以及习题总结

计算机二级python 知识点篇(函数与代码复用)