2020-06-01 第十八周作业

▲就业班和全程班的小伙伴看这里:(学习老王视频的作业第35-36节)

1、实现基于MYSQL验证的vsftpd虚拟用户访问

实验环境:

一台ftp服务器:192.168. 37.7

一台mariadb服务器:192.168. 37.17

配置过程:

1 mariadb服务器-37.17

#yum install mariadb-server

#systemctl start mariadb

#mysql

mysql> create database vsftpd;

mysql> use vsftpd;

mysql> CREATE TABLE users (

id INT AUTO_INCREMENT NOT NULL PRIMARY KEY,

name CHAR(50) BINARY NOT NULL,

password CHAR(48) BINARY NOT NULL

);

mysql> desc users;

mysql> CREATE TABLE users ( id INT AUTO_INCREMENT NOT NULL PRIMARY KEY, name CHAR(50) BINARY NOT NULL, password CHAR(48) BINARY NOT NULL );

mysql> insert users (name,password) value('ftpuser1',password('centos'));

mysql> insert users (name,password) value('ftpuser2',password('magedu'));

mysql> grant select on vsftpd.users to vsftpd@'192.168.37.%' identified by  'centos';

2 编译安装pam_mysql-37.7

#tar xvf pam_mysql-0.7RC1.tar.gz 

#cd pam_mysql-0.7RC1/

#yum install gcc gcc-c++ pam-devel mariadb-devel

#./configure  --with-pam-mods-dir=/lib64/security/

#make && make install

#vim /etc/pam.d/vsftpd.mysql                          

auth required pam_mysql.so user=vsftpd passwd=centos

host=192.168.37.17 db=vsftpd table=users usercolumn=name

passwdcolumn=password crypt=2

account required pam_mysql.so user=vsftpd passwd=centos

host=192.168.37.17 db=vsftpd table=users usercolumn=name

passwdcolumn=password crypt=2

:wq

3 配置ftp服务器-37.7

#yum install vsftpd

#useradd -d /data/ftproot -s /sbin/nologin vuser

#chmod 555 /data/ftproot

#mkdir /data/ftproot/upload

#setfacl -m u:vuser:rwx /data/ftproot/upload

#vim /etc/vsftpd/vsftpd.conf

pam_service_name=vsftpd.mysql

guest_enable=YES

guest_username=vuser

user_config_dir=/etc/vsftpd/vusers.d/   

:wq

#mkdir /etc/vsftpd/vusers.d/ 

#vim /etc/vsftpd/vusers.d/ftpuser1

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

:wq

#vim /etc/vsftpd/vusers.d/ftpuser2

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/data/ftproot2

:wq

#mkdir /data/ftproot2

#chmod 555 /data/ftproot2

#mkdir /data/ftproot2/upload

#setfacl -m u:vuser:rwx /data/ftproot2/upload

2、通过NFS实现服务器/www共享访问。

实验环境:

NFS服务器:192.168.37.7

客户端:192.168.37.17

配置过程:

1、NFS端操作-37.7

#systemctl start nfs-server

#mkdir /www

#cp /etc/fstab /www/f1.txt

#cp /etc/fstab /www/f2.txt

#useradd -r -s /bin/nologin -u 987 apache     

#vim /etc/exports   

/www 192.168.37.0/24(rw,all_squash,anonuid=987,anongid=987)   

:wq

#exportfs -r

#setfacl -m u:apache:rwx /www

2、客户端操作

#showmount  -e 192.168.37.7           

Export list for 192.168.37.7:

/www

#mount 192.168.37.7:/www /mnt/www     

#vim /etc/fstab                                                     

192.168.37.7:/www /mnt/www nfs defaults 0 0

:wq

3、配置samba共享,实现/www目录共享

1 安装服务:

#yum install samba

#systemctl start smb

2 创建系统账号

#useradd  -s /sbin/nologin smbuser1

#useradd  -s /sbin/nologin smbuser2

#useradd  -s /sbin/nologin smbuser3

3 变为SMB账号(将系统账号加入SMB数据库,输入两次密码centos) 

#smbpasswd -a smbuser1

#smbpasswd -a smbuser2

#smbpasswd -a smbuser3

4 查看smb数据库

#ll /var/lib/samba/private/passdb.tdb

#pdbedit -L

#pdbedit -L -v     

#smbstatus           

5 WIN客户端访问UNC

\\192.168.37.7      输入用户名及密码 smbuser1 可以进入共享的文件夹

6 Linux命令行方式

#smbclient -L 192.168.37.1 -U smbuser1%centos                         

#smbclient //192.168.37.7/home/smbuser1 -U smbuser1%centos           

[root@centos6~]#mount -o sec=ntlmssp, username=smbuser1, password=centos  //192.168.253.1home/smbuser1   

[root@centos7~]#mount -o username=smbuser1, password=centos  //192.168.253.1home/smbuser1

4、使用rsync+inotify实现/www目录实时同步

实验环境:

192.168.37.7:安装inotify

192.168.37.17:安装配置rsync

实验过程:

1、安装配置inotify-37.7

[37.7]#epel

[37.7]#yum install inotify-tools

2、安装配置rsync-37.17

2.1 查询rsync包是否安装,如果没装,用yum安装

[root@37.17]#rpm -qf `which rsync`     

rsync-3.1.2-4.el7.x86_64

2.2 修改rsync配置文件

[root@37.17]#vim /etc/rsyncd.conf     

uid = root

gid = root

use chroot = no

max connections = 0

ignore errors

exclude = lost+found/

log file = /var/log/rsyncd.log

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsyncd.lock

reverse lookup = no

hosts allow = 192.168.37.0/24

[backup]

path = /backupdir/

comment = backupdir

read only = no

auth users = rsyncuser

secrets file = /etc/rsync.pass

:wq

2.3 端生成验证文件,用于存放远程登录rsync服务器(用户名及密码)同步数据

[root@37.17]#echo "rsyncuser:magedu" > /etc/rsync.pass

[root@37.17]#chmod 600 /etc/rsync.pass

2.4 服务器端准备同步备份的目录

[root@37.17]#mkdir /backupdir

2.5 启动服务并设为开机启动

[root@37.17]#systemctl start rsyncd   

[root@37.17]#systemctl enable rsyncd

3、客户端配置密码文件-37.7

[37.7]#echo "magedu" > /etc/rsync.pass

[37.7]#chmod 600 /etc/rsync.pass

4、客户端测试同步数据

[37.7]#rsync -avz --password-file=/etc/rsync.pass /data/www rsyncuser@192.168.37.17::backup   

5、客户端数据同步脚本

[37.7]#vim inotify_rsync.sh

#!/bin/bash

SRC='/data/www/'

DEST='rsyncuser@192.168.37.17::backup'

inotifywait -mrq --timefmt '%Y-%m-%d %H:%M' --format '%T %w %f' -e create,delete,moved_to,close_write,attrib ${SRC} |while read DATE TIME DIR FILE;do

FILEPATH=${DIR}${FILE}

rsync -az --delete --password-file=/etc/rsync.pass $SRC $DEST && echo "At ${TIME} on ${DATE}, file $FILEPATH was backuped up via rsync" >> /var/log/changelist.log

done

:wq

[37.7]#chmod +x inotify_rsync.sh

6、数据同步测试

[root@37.17]#watch -n1 ls -l /backupdir

[37.7]#. inotify_rsync.sh

[37.7/data/www]#touch rm cp ……

5、使用iptable实现: 放行telnet, ftp, web服务,放行samba服务,其他端口服务全部拒绝

允许放行的端口:

ssh :22

ftp tcp:20、21

telnet tcp:23

web tcp:80、443

samba udp:137、138

         tcp:139、445

#允许本机访问ssh端口

[root@centos7 ~]# iptables -I INPUT -s 192.168.37.11 -p tcp --dport 22 -j ACCEPT

#保持后续连接

[root@centos7 ~]# iptables -I INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

#放行端口

[root@centos7 ~]# iptables -A INPUT -p tcp -m multiport --dports 20,21,23,80,443,139,445 -j ACCEPT

[root@centos7 ~]# iptables -A INPUT -p udp --dport 137:138 -j ACCEPT

#拒绝连接

[root@centos7 ~]# iptables -A INPUT -j REJECT

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,530评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,403评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,120评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,770评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,758评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,649评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,021评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,675评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,931评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,751评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,410评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,004评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,969评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,042评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,493评论 2 343