本周作业内容:
1、详细描述一次加密通讯的过程,结合图示最佳。
一次加密通讯的过程:
首先Bob用单向加密的方法提取数据的特征码,用自己的私钥加密这段特征码,并附加到数据的后面。
Bob用对称加密算法把数据及特征码整个进行加密。
Bob用接收方的公钥加密对称密钥并附加到数据后面。
Alice用私钥解密对称密钥。
Alice用对称密钥解密出数据及加密的特征码。
Alice用发送方的公钥解密特征码,并用相同的算法算出数据的特征码,比较两个特征码是否一致,若一致即可获得Bob的数据。
如图所示:
单向加密:只能加密,不能解密,提取数据指纹(特征码),来保证数据的完整性,单向加密的协议有MD5,SHA等
非对称加密:公钥和私钥成对出现,私钥必须本机器保存,用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然,数字签名是私钥加密特征码,实现对称秘钥交换
对称加密:加密和解密使用同样的秘钥,实现数据加密,产生对称秘钥。
2、描述创建私有CA的过程,以及为客户端发来的证书请求进行颁发证书。
(1) 创建所需要的文件
cd /etc/pki/CA# touch index.txt
# echo 01 > serial
#
# (umask 077; openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)##生成私钥
(2) CA自签证书
# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 7300 -out /etc/pki/CA/cacert.pem-new: 生成新证书签署请求;-x509: 专用于CA生成自签证书;-key: 生成请求时用到的私钥文件;-days n:证书的有效期限;-out /PATH/TO/SOMECERTFILE: 证书的保存路径;
(3) 发证
(a) 用到证书的主机生成证书请求;
# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)# openssl req -new -key /etc/httpd/ssl/httpd.key -days 365 -out /etc/httpd/ssl/httpd.csr
(b) 把请求文件传输给CA;
scp ./httpd.csr root@192.168.137.30:/etc/pki/CA/certs/
(c) CA签署证书,并将证书发还给请求者;
# openssl ca -in /etc/pki/CA/certs/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 365# cat index.txt serialV171021154656Z01unknown/C=CN/ST=Beijing/O=Magedu/OU=ops/CN=www.magedu.com/emailAddress=webadmin@magedu.com
(d) ls /etc/pki/CA/certs ##到CA服务器上可以看到证书的httpd.crt
scp ./httpd.crt root@192.168.137.32:/etc/httpd/ssl/ls /etc/httpd/ssl ##到服务端/etc/httpd/ssl目录下查看证书。
3、搭建一套DNS服务器,负责解析magedu.com域名(自行设定主机名及IP)
(1)、能够对一些主机名进行正向解析和逆向解析;
(2)、对子域cdn.magedu.com进行子域授权,子域负责解析对应子域中的主机名;
(3)、为了保证DNS服务系统的高可用性,请设计一套方案,并写出详细的实施过程
使用node2(192.168.137.32)主机配置正向反向解析
[root@node2 ~]# yum -y install bind 常用的配置文件有: /etc/named.conf#主配置文件 /etc/named.rfc1912.zones#区域配置文件 /etc/rc.d/init.d/named#启动脚本 /var/named#存放区域解析文件 [root@node2 ~]# vim /etc/named.conf options {listen-on port 53 { any; }; ##表示监听本地IP的53端口,允许所用地址访问本地53端口;这行也可以注释掉,等同于any。//listen-on-v6 port 53 { ::1; };directory "/var/named"; ##区域解析文件路径dump-file "/var/named/data/cache_dump.db";statistics-file "/var/named/data/named_stats.txt";memstatistics-file "/var/named/data/named_mem_stats.txt";// allow-query { any; }; ##允许所有地址查询,也可注释掉。recursion yes;##是否递归,如果是no那么这台DNS服务器将不会递归解析,yes或注释掉不写,表是允许,默认是允许的// dnssec-enable yes;// dnssec-validation yes;/* Path to ISC DLV key */// bindkeys-file "/etc/named.iscdlv.key";// managed-keys-directory "/var/named/dynamic";};include "/etc/named.rfc1912.zones"; ##表示加载区域配置文件。
正向与反向区域配置
[root@node2 ~]# vim /etc/named.rfc1912.zones文件末行添加:zone "magedu.com" IN{ type master; file "magedu.com.zone";};zone "137.168.192.in-addr.arpa" IN { type master; file "137.168.192.zone";};
新建正向解析的zone文件
[root@node2 ~]# vim /var/named/magedu.com.zone$TTL 86400$ORIGIN magedu.com.@ IN SOA ns1.magedu.com. admin.magedu.com. (20160921011H5M7D1D )IN NS ns1IN NS ns2IN MX 10 mx1IN MX 20 mx2ns1 IN A 192.168.137.32ns2 IN A 192.168.137.33mx1 IN A 192.168.137.32mx2 IN A 192.168.137.33www IN A 192.168.137.32www IN A 192.168.137.33ftp IN CNAME www
新建反向解析zone文件
[root@node2 ~]# vim /var/named/137.168.192.zone$TTL 86400$ORIGIN 137.168.192.in-addr.arpa.@ IN SOA ns1.magedu.com. admin.magedu.com. (20160921011H5M7D1D )IN NS ns1.magedu.com.IN NS ns2.magedu.com.32 IN PTR ns1.magedu.com.33 IN PTR ns2.magedu.com.34 IN PTR mx1.magedu.com.35 IN PTR mx2.magedu.com.32 IN PTR www.magedu.com.33 IN PTR www.magedu.com.
检查语法错误,重启DNS服务
[root@node2 ~]# named-checkconf ##检查配置文件[root@node2 ~]# named-checkzone "magedu.com" /var/named/magedu.com.zone ##检查区域解析文件[root@node2 ~]# named-checkzone "137.168.192.in-addr.arpa." /var/named/137.168.192.zone[root@node2 ~]# service named restart
正向解析测试:
[root@node2 ~]# dig -t A www.magedu.com @192.168.137.32 ##@192.168.137.32表示通过32这台主机解析,-t:指明type,A表示A记录。; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.magedu.com @192.168.137.32;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58146;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2;; QUESTION SECTION:;www.magedu.com.INA;; ANSWER SECTION: ##应答段www.magedu.com.86400INA192.168.137.33www.magedu.com.86400INA192.168.137.32;; AUTHORITY SECTION: ##权威段magedu.com.86400INNSns2.magedu.com.magedu.com.86400INNSns1.magedu.com.;; ADDITIONAL SECTION:ns1.magedu.com.86400INA192.168.137.32ns2.magedu.com.86400INA192.168.137.33;; Query time: 0 msec;; SERVER: 192.168.137.32#53(192.168.137.32) ##DNS服务器,以及解析的客户端。;; WHEN: Sat Sep 24 11:34:14 2016;; MSG SIZE rcvd: 132
反向解析测试:
[root@node2 ~]# dig -x 192.168.137.32 @192.168.137.32 ##-x:表示反向解析; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -x 192.168.137.32 @192.168.137.32;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52944;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2;; QUESTION SECTION:;32.137.168.192.in-addr.arpa.INPTR;; ANSWER SECTION:32.137.168.192.in-addr.arpa. 86400 INPTRwww.magedu.com.32.137.168.192.in-addr.arpa. 86400 INPTRns1.magedu.com.;; AUTHORITY SECTION:137.168.192.in-addr.arpa. 86400INNSns1.magedu.com.137.168.192.in-addr.arpa. 86400INNSns2.magedu.com.;; ADDITIONAL SECTION:ns1.magedu.com.86400INA192.168.137.32ns2.magedu.com.86400INA192.168.137.33;; Query time: 0 msec;; SERVER: 192.168.137.32#53(192.168.137.32);; WHEN: Sat Sep 24 11:41:13 2016;; MSG SIZE rcvd: 155
主从同步:
##从DNS服务器主配置和node2(192.168.137.33)相同[root@node3 ~]# vim /etc/named.rfc1912.zoneszone "magedu.com" IN { type slave; masters { 192.168.137.32; }; ##指定主DNS服务器为32(node2) file "slaves/magedu.com.zone"; allow-transfer { none; };};zone "137.168.192.in-addr.arpa" IN { type slave; masters { 192.168.137.32; }; file "slaves/137.168.192.zone"; allow-transfer { none; };};
重启或reload 从DNS服务器
[root@node3 ~]# service named reload | restart服务启动后,会在/var/named/slaves/自动添加magedu.com.zone和137.168.192.zone文件[root@node3 ~]# ls /var/named/slaves/137.168.192.zone magedu.com.zone
测试从DNS服务器
[root@node3 ~]# dig -t A www.magedu.com @192.168.137.33; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.magedu.com @192.168.137.33;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8634;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2;; QUESTION SECTION:;www.magedu.com.INA;; ANSWER SECTION:www.magedu.com.86400INA192.168.137.33www.magedu.com.86400INA192.168.137.32;; AUTHORITY SECTION:magedu.com.86400INNSns2.magedu.com.magedu.com.86400INNSns1.magedu.com.;; ADDITIONAL SECTION:ns1.magedu.com.86400INA192.168.137.32ns2.magedu.com.86400INA192.168.137.33;; Query time: 0 msec;; SERVER: 192.168.137.33#53(192.168.137.33);; WHEN: Mon Oct 24 22:49:53 2016;; MSG SIZE rcvd: 132
子域授权
##重新配置一台主机:liu,IP:192.168.137.30在父域区域解析文件中添加[root@node2 ~]# vim /var/named/magedu.com.zoneliu IN NS ns1.liu.magedu.com.ns1.liu IN A 192.168.137.30同样方式安装bind配置主配置文件在区域配置文件末行添加:[root@liu ~]# vim /etc/named.rfc1912.zoneszone "liu.magedu.com" IN {type master;file "liu.magedu.com.zone";};zone "magedu.com" IN {type forward;forward only; ##区域转发forwarders { 192.168.137.32; }; ##尽转发32这台主机};
新建区域解析库文件:
[root@liu ~]# vim /var/named/liu.magedu.com.zone$TTL 86400@ IN SOA ns.liu.magedu.com. admin.liu.magedu.com. (20160922012H5M7D12H )IN NS ns.liu.magedu.com.IN MX 10 mx1.liu.magedu.com.IN A 192.168.137.30ns IN A 192.168.137.30mx1 IN A 192.168.137.30www IN A 192.168.137.30
测试子域授权:
##子域测试[root@liu ~]# dig @192.168.137.30 www.liu.magedu.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @192.168.137.30 www.liu.magedu.com; (1 server found);; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20681;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1;; QUESTION SECTION:;www.liu.magedu.com.INA;; ANSWER SECTION:www.liu.magedu.com.86400INA192.168.137.30;; AUTHORITY SECTION:liu.magedu.com.86400INNSns.liu.magedu.com.;; ADDITIONAL SECTION:ns.liu.magedu.com.86400INA192.168.137.30;; Query time: 30 msec;; SERVER: 192.168.137.30#53(192.168.137.30);; WHEN: Sat Oct 22 09:26:43 2016;; MSG SIZE rcvd: 85
父域测试:
[root@node2 ~]# dig -t www.magedu.com @192.168.137.30;; Warning, ignoring invalid type www.magedu.com; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t www.magedu.com @192.168.137.30; (1 server found);; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63122;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0;; QUESTION SECTION:;.INNS;; ANSWER SECTION:.511320INNSd.root-servers.net..511320INNSl.root-servers.net..511320INNSg.root-servers.net..511320INNSk.root-servers.net..511320INNSh.root-servers.net..511320INNSf.root-servers.net..511320INNSi.root-servers.net..511320INNSb.root-servers.net..511320INNSc.root-servers.net..511320INNSj.root-servers.net..511320INNSe.root-servers.net..511320INNSa.root-servers.net..511320INNSm.root-servers.net.;; Query time: 1 msec;; SERVER: 192.168.137.30#53(192.168.137.30);; WHEN: Sat Sep 24 12:18:09 2016;; MSG SIZE rcvd: 228
4、请描述一次完整的http请求处理过程;
1)客户端和服务器端建立连接。服务器接收或者拒绝请求。
2)服务器端接收客户端请求。接收来自于网络的请求报文中对某资源的一次请求。对请求的处理响应,可分为单进程(启动一个进程处理请求,一次只处理一个)和多进程(并行启动多个进程,每个进程处理一个请求)。
3)服务器端处理客户端请求。对请求报文进行解析,并获取请求的资源和请求方法等相关信息。
4)服务器访问资源。web服务器负责向请求者提供对方请求的静态资源,或动态运行后生成的资源。
5)服务器构建响应报文。
6)服务器发送响应报文
7)服务器端记录日志
5、httpd所支持的处理模型有哪些,他们的分别使用于哪些环境。
MPM:Multipath Processing Modules##多路处理模块prefork:多进程模型,每个进程响应一个请求;一个主进程:负责生成n个子进程,子进程也称为工作进程,每个子进程处理一个用户请求;即便没有用户请求,也会预先生成多个空闲进程,随时等待请求到达;最大不会超过1024个;使用于对系统要求稳定请求不是很高的环境。worker:多线程模型,每个线程响应一个请求;一个主进程:生成多个子进程,每个子进程负责生个多个线程,每个线程响应一个请求;工人的模式,支持多线程和多进程,用于海量请求相应的环境。m进程,n线程:m*nevent:事件驱动模型,每个线程响应n个请求;一个主进程:生成m个子进程,每个进程直接n个请求;m*n
6、建立httpd服务器(基于编译的方式进行),要求:
提供两个基于名称的虚拟主机:
(a)www1.stuX.com,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1.err,访问日志为/var/log/httpd/www1.access;
(b)www2.stuX.com,页面文件目录为/web/vhosts/www2;错误日志为/var/log/httpd/www2.err,访问日志为/var/log/httpd/www2.access;
(c)为两个虚拟主机建立各自的主页文件index.html,内容分别为其对应的主机名;
(d)通过www1.stuX.com/server-status输出httpd工作状态相关信息,且只允许提供帐号密码才能访问(status:status);
基于编译的方式搭建LAMP环境
可见本人博客:
http://ljohn.blog.51cto.com/11932290/1863283
配置基于名称的虚拟主机
首先禁用中心主机:
# vim /etc/httpd24/httpd.conf#DocumentRoot "/usr/local/apache/htdocs"Include /etc/httpd24/extra/httpd-vhosts.conf ##启用网页压缩这个模块。
配置虚拟主机
# vim /etc/httpd24/extra/httpd-vhosts.conf <VirtualHost 192.168.137.30:80> ServerName www1.stuX.com DocumentRoot "/web/vhosts/www1" ErrorLog "/var/log/httpd/www1.err" CustomLog "/var/log/httpd/www1.access" common</VirtualHost><Directory "/web/vhosts/www1"> Options none Require all granted</Directory><VirtualHost 192.168.137.30:80> DocumentRoot "/web/vhosts/www2" ServerName www2.stuX.com ErrorLog "/var/log/httpd/www2.err" CustomLog "/var/log/httpd/www2.access" common</VirtualHost>
创建所需要的文件:
# mkdir -p /web/vhost/{www1,www2} && echo "www1.site" > /web/vhost/www1/index.html && echo "www2.site" /web/vhost/www2/index.html#service httpd24 restart
测试:
[root@liu www2]# curl www1.stuX.comwww1.site[root@liu www2]# curl www2.stuX.comwww2.site
修改第一个虚拟主机
[root@liu ~]# htpasswd -m -c /usr/local/apache/.htpasswd admin ##创建口令admin/admin[root@liu ~]# vim /etc/httpd24/extra/httpd-vhosts.conf ##修改www1的配置<VirtualHost 192.168.137.30:80>DocumentRoot "/web/vhosts/www1/"ServerName www1.stuX.comErrorLog "/var/log/httpd/www1.err"CustomLog "/var/log/httpd/www1.access" common<Directory "/web/vhosts/www1/"> AllowOverride NoneOptions NoneRequire all granted</Directory><Location /server-status>SetHandler server-statusAuthType BasicAuthName "Only for Admin"AuthUserFile "/usr/local/apache/.htpasswd" ##密码存放位置Require valid-user</Location></VirtualHost>
测试:
[root@liu ~]# curl www1.stuX.com/server-status或者打开浏览器输入:www1.stuX.com/server-status 输入账号密码即可查看服务器的状态。
如图:
7、为第6题中的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点;
(1)要求使用证书认证,证书中要求使用的国家(CN)、州(HA)、城市(ZZ)和组织(MageEdu);
(2)设置部门为Ops,主机名为www2.stuX.com,邮件为admin@stuX.com;
自建CA
[root@liu CA]# cd /etc/pki/CA/[root@liu CA]# touch index.txt serial[root@liu CA]# echo 01 > serial[root@liu CA]# (umask 007; openssl genrsa -out ./private/cakey.pem 1024)[root@liu CA]# openssl req -new -x509 -key ./private/cakey.pem -days 7300 -out ./cacert.pem ##自签证书
httpd生成私钥,创建证书签署请求,然后由CA签署
[root@liu CA]# mkdir -pv /usr/local/apache/ssl[root@liu CA]# (umask 077; openssl genrsa -out /usr/local/apache/ssl/http.key 1024) ##创建私钥[root@liu CA]# openssl req -new -key /usr/local/apache/ssl/http.key -out /usr/local/apache/ssl/http.csr [root@liu CA]# openssl ca -in /usr/local/apache/ssl/http.csr -out /usr/local/apache/ssl/http.crt -days 3600 ##CA颁发证书
配置文件修改
修改httpd.conf:# vim /etc/httpd24/httpd.confLoadModule ssl_module modules/mod_ssl.so ##开启ssl模块,默认是注释掉的Include /etc/httpd24/extra/httpd-ssl.conf ##导入ssl配置文件,默认是注释掉的。修改ssl模块配置文件 # vim /etc/httpd24/extra/httpd-ssl.conf<VirtualHost *:443># General setup for the virtual hostDocumentRoot "/web/vhosts/www2/"ServerName www2.stuX.comServerAdmin you@example.comErrorLog "/var/log/httpd/www2.err"CustomLog "/var/log/httpd/www2.access" commonSSLCertificateFile "/usr/local/apache/ssl/http.crt"SSLCertificateKeyFile "/usr/local/apache/ssl/http.key"
重启或reload
# service httpd24 restart
浏览器访问:https://www2.stuX.com
如图:
8、建立samba共享,共享目录为/data,要求:(描述完整的过程)
1)共享名为shared,工作组为magedu;
2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;
3)添加samba用户gentoo,centos和ubuntu,密码均为“mageedu”;
4)此samba共享shared仅允许develop组具有写权限,其他用户只能以只读方式访问;
5)此samba共享服务仅允许来自于172.16.0.0/16网络的主机访问;
安装samba
[root@node2 ~]# yum install -y samba samba-client[root@node2 ~]# rpm -ql samba | less/etc/pam.d/samba #配置文件所在目录/etc/rc.d/init.d/nmb /etc/rc.d/init.d/smb #服务脚本,nmb和smb/etc/samba/smb.conf ##主配置文件
创建组,用户及samba用户:
[root@node2 ~]# useradd -G develop gentoo[root@node2 ~]# useradd -G develop centos[root@node2 ~]# useradd ubantu[root@node2 ~]# echo 'gentoo' | passwd --stdin gentoo更改用户 gentoo 的密码 。passwd: 所有的身份验证令牌已经成功更新。[root@node2 ~]# echo 'centos' | passwd --stdin centos更改用户 centos 的密码 。passwd: 所有的身份验证令牌已经成功更新。[root@node2 ~]# echo 'ubantu' | passwd --stdin ubantu更改用户 ubantu 的密码 。passwd: 所有的身份验证令牌已经成功更新。[root@node2 ~]# smbpasswd -a gentooNew SMB password:Retype new SMB password:Added user gentoo.[root@node2 ~]# smbpasswd -a centosNew SMB password:Retype new SMB password:Added user centos.[root@node2 ~]# smbpasswd -a ubantuNew SMB password:Retype new SMB password:Added user ubantu.
创建samba目录并赋权
[root@node2 ~]# mkdir /data[root@node2 ~]# ls -ld /data/drwxr-xr-x. 2 root root 4096 10月 27 12:00 /data/[root@node2 ~]# chmod g+w /data/[root@node2 ~]# ls -ld /data/drwxrwxr-x. 2 root root 4096 10月 27 12:00 /data/[root@node2 ~]# chown :develop /data/[root@node2 ~]# ls -ld /data/drwxrwxr-x. 2 root develop 4096 10月 27 12:00 /data/
修改主配置文件:
# vim /etc/samba/smb.conf[global]workgroup = MAGEDUhosts allow = 192.168.[shared] comment = My Shared Testing.. path = /data guest ok = yes valid users = gentoo,centos,ubantu write list = @develop writable = yes
启动samba服务:
[root@node2 ~]# service nmb start;service smb start启动 NMB 服务: [确定]启动 SMB 服务: [确定]
客户端测试:
[root@node2 ~]# smbclient -L 192.168.137.30 -U gentoo ##获取samba共享信息
Enter gentoo's password:
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.9-164.el6]
Sharename Type Comment
--------- ---- -------
shared Disk My Shared Testing..
IPC$ IPC IPC Service (Samba Server Version 3.6.9-164.el6)
gentoo Disk Home Directories
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.9-164.el6]
Server Comment
--------- -------
NODE2 Samba Server Version 3.6.9-164.el6
Workgroup Master
--------- -------
MAGEDU NODE2
[root@node2 ~]# smbclient //192.168.137.30/shared -U centos ##通过smbclient访问共享存储。
Enter centos's password:
Domain=[MAGEDU] OS=[Unix] Server=[Samba 3.6.9-164.el6]
smb: \>
Windows访问共享存储:
如图所示:
9、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)
1)基于虚拟用户的访问形式;
2)匿名用户只允许下载,不允许上传;
3)禁锢所有的用户于其家目录当中;
4)限制最大并发连接数为200:;
5)匿名用户的最大传输速率512KB/s
6)虚拟用户的账号存储在mysql数据库当中。
7)数据库通过NFS进行共享。
部署前准工作
两台机器:node1:192.168.137.31在这服务器上安装nfs服务,设置共享目录:nfsahre,为数据库提供共享目录。[root@node1 ~]# yum -y install nfs-utils[root@node1 ~]# mkdir /nfshare创建mysql用户,设置 /nfshare 的所属主,所属组为mysql[root@node1 ~]# groupadd �Cg 306 mysql[root@node1 ~]# useradd �Cg 306 �Cu 306 �Cs /sbin/nologin �CM mysql[root@node1 ~]# chown -R mysql.mysql /nfshare配置nfs的配置文件vim /etc/exports /nfshare 192.168.137.32/255.255.255.0(no_root_squash,rw)启动nfs:service nfs startnode2:192.168.137.30在这台机器上安装mysql,创建目录/mydata 用来挂载nfs共享目录。[root@node2 ~]# mkdir /mydata挂载nfs共享目录:[root@node2 ~]# vim /etc/fstab添加:192.168.137.31:/nfshare /mydata nfs defaults 0 0[root@node2 ~]# mount -a
创建mysql用户,设置/mydata 所属主,及所属组。
[root@node2 ~]# groupadd �Cg 306 mysql[root@node2 ~]# useradd �Cg 306 �Cu 306 �Cs /sbin/nologin �CM mysql[root@node2 ~]# chown -R mysql:mysql /mydata
安装数据库,vsftpd,pam_mysql
# yum -y vsftpd pam_mysql ##pam_mysql要安装epelyum源[root@node2 ~]# ls /lib/security/pam_mysql.so /lib/security/pam_mysql.so ##查看lib中是否有这个pam_mysql.so 库文件编译安装mysql数据库下载mysql-5.5的二进制的源码包。# tar xf mysql-5.5.33-linux2.6-i686.tar.gz -C /usr/local# cd /usr/local/# ln -sv mysql-5.5.33-linux2.6-i686 mysql# cd mysql # chown -R mysql:mysql .# scripts/mysql_install_db --user=mysql --datadir=/mydata/data# chown -R root .为mysql提供主配置文件:# cd /usr/local/mysql# cp support-files/my-large.cnf /etc/my.cnf# mkdir -pv /mydata/data并修改此文件中thread_concurrency的值为你的CPU个数乘以2thread_concurrency = 2指定mysql数据文件的存放位置:datadir = /mydata/data为mysql提供sysv服务脚本:# cd /usr/local/mysql# cp support-files/mysql.server /etc/rc.d/init.d/mysqld# chmod +x /etc/rc.d/init.d/mysqld添加至服务列表:# chkconfig --add mysqld启动数据库:service mysqld start
配置数据库,和vsftpd
创建数据库:vsftpd,用户:vsftp 表名:users 并插入两条(虚拟用户)数据mysql> create database vsftpd;mysql> grant select on vsftpd.* to vsftp@192.168.137.30 identified by 'magedu';mysql> use vsftpdmysql> create table users (id int AUTO_INCREMENT NOT NULL,name char(20) binary NOT NULL,password char(48) binary NOT NULL,primary key(id));mysql> insert into users(name,password) values('magedu1',password('magedu')),('magedu2',password('magedu'));mysql> select * from users;mysql> flush privileges;
配置vsftp
1.建立pam认证所需文件#vi /etc/pam.d/vsftpd.mysql添加如下两行auth required /lib/security/pam_mysql.so user=vsftp passwd=magedu host=192.168.137.30 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 ##用于用户认证account required /lib/security/pam_mysql.so user=vsftp passwd=magedu host=192.168.137.30 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2 ##用于检查用户时效性2.修改vsftpd的配置文件,使其适应mysql认证建立虚拟用户映射的系统用户及对应的目录[root@node2 ~]# useradd -s /sbin/nologin -d /var/ftproot vuser[root@node2 ~]# chmod go+rx /var/ftproot/请确保/etc/vsftpd.conf中已经启用了以下选项anonymous_enable=YESlocal_enable=YESwrite_enable=YESanon_upload_enable=NOanon_mkdir_write_enable=NOchroot_local_user=YES ##禁锢所有本地用户于家目录下pam_service_name=vsftpd.mysql ##认证文件max_clients=200 ##并发连接数anon_max_rate=524288 ##单位是字节每秒,512KB/s 512*1024
启动vsftpd,并测试
service vsftpd start到node1上安装ftp客户端工具# yum install -y ftp lftp# ftp 192.168.137.30验证magedu1,magedu2两个用户
本文出自 “Ljohn” 博客,请务必保留此出处http://ljohn.blog.51cto.com/11932290/1866905