第十八周实践操作

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

1、安装vsftpd、pam_mysql包
yum install -y vsftpd
# 由于centos7没有pam_mysql的包所以需要编译安装
wget http://prdownloads.sourceforge.net/pam-mysql/pam_mysql-0.7RC1.tar.gz
tar -xzvf pam_mysql-0.7RC1.tar.gz
# 安装相关依赖包
yum -y groupinstall   Development tools mariadb-devel pam-devel 
# 进入pam安装文件夹进行编译安装
./configure  --with-pam-mods-dir=/lib64/security 
make && make install 
2、 配置数据库
mysql -uroot -p
Enter password: 
# 创建一个为ftpdbde 数据库
mysql> create database vsftpd; 
# 创建一个为ftp 用户对vsftpd数据库有最大权限
mysql> grant all on ftpdb.* to 'ftp'@'%' identified by 'ftp'; 
# 创建表
mysql> create table ftpusers(id int unsigned auto_increment primary key,name char(50),password char(48)); 
# 建立用户ftp1 与 ftp2用户
mysql> insert into ftpusers(name,password) values('ftp1',password('123456')),('ftp2',password('123456'));
mysql> flush privileges;
3、配置ftp服务器配置
# 配置pam的配置文件
vim /etc/vsftpd/vsftpd.conf 
anonymous_enable=YES
# 添加下面两项
guest_enable=YES
guest_username=ftpuser
# 修改下面一项,原系统用户无法登录
pam_service_name=vsftpd # 改成以下配置
pam_service_name=vsftpd.mysql
# 保存退出

# 防火墙开启21端口允许访问
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --reload
# 重启vsftpd服务
systemctl restart vsftpd
systemctl enable vsftpd
4、测试ftp能否正常连接即可
image.png

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

# 服务端10.50.6.23安装nfs-utils rpcbind组件
yum install -y nfs-utils rpcbind

# 启动rpc服务以及设置开机自启动
systemctl start rpcbind    
systemctl enable rpcbind

# 启动nfs服务设置开机自启动
systemctl start nfs-server
systemctl enable nfs-server

# 配置防火墙放行nfs服务
firewall-cmd --permanent --add-service=nfs
firewall-cmd  --reload 

# 创建共享目录,在/etc/exports配置文件中编辑配置即可
mkdir /www
vim /etc/exportfs
/www 10.0.0.0/8(rw,sync,fsid=0)
#  保存退出


# 客户端10.50.6.22测试机器
yum install rpcbind
systemctl enable rpcbind.service
systemctl restart rpcbind.service
mount -v -t nfs 10.50.6.23:/www /mnt
df -h 验证一下即可

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

# 服务端10.50.6.23安装samba服务
yum install -y samba
# 服务器端创建samba认证用户
groupadd samba
useradd samba -g samba -s /sbin/nologin -d /dev/null
smbpasswd -a samba
# 输入两遍自定义的密码,我这里用用户名samba作为密码

# 编辑配置文件,配置共享目录/www
vim /etc/samba/smb.conf
# 文件结尾添加以下内容
[www]
        comment = www
        path = /www
        valid user = samba
        writable = yes
        browseable = yes
        create mode = 0755
        directory mode = 0755
# 保存退出
# 使用Windows电脑或者mac电脑连接samba服务器做测试即可

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

# centos7 默认自带rsync,修改服务端(10.50.6.23)配置文件
vim /etc/rsnycd.conf

uid = root
gid = root
use chroot = no       # 如果上面的uid不是root用户启动,则更改为yes,如果是root则更改为弄
max connections = 4
pid file = /var/run/rsyncd.pid
exclude = lost+found/
log file = /var/log/rsyncd.log
log format = %t %a %m %f %b
transfer logging = yes
timeout = 900
ignore nonreadable = yes
dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
hosts allow = 10.50.6.22     # 允许传输数据的ip  网段也可以,生产建议精确到ip

[wwwroot]     # 定义同步时的名称
path = /www   # 需要同步的路径
comment = wwwroot   # 与同步名称相同
ignore errors
read only = no     # 是否允许client上传文件到server,设置成yes 则client的数据无法推送到server上
write only =no     # 是否允许client从server上拉取数,设置成yes则client无法从server上拉取数据
list = no 
auth userrs = rsync   # 同步数据时用到的用户,非系统用户,不用创建
secrets file = /etc/rsyncd.passwd   # 保存密码和用户名的文件,根据自己的需求进行生成,路径可以自定义
# 保存退出
# 创建用户名密码文件
vim /etc/rsyncd.passwd
rsync:rsync123
# 保存退出
# 设置密码文件的权限,否则会报错
chmod 600 /etc/rsyncd.passwd
# 启动服务并加入到开机自启动
systemctl rstart rsyncd
systemctl enable rsyncd
客户端测试
# 创建用于存放server端密码的文件不需要用户名
vim /etc/rsyncd.passwd
rsync123
# 保存退出
# 创建存储同步文件的文件夹
mkdir /www
# 运行同步server端文件命令
rsync -avzp --delete rsync@10.50.6.23::wwwroot /www --password-file=/etc/rsyncd.passwd 
# 在/www文件夹创建一个文件,反之client同步到server
rsync -avzp /www rsync@10.50.6.23::wwwroot  --password-file=/etc/rsyncd.passwd 

注意:客户端同步到server端切记文件夹/www与/www/是有区别的

/www 表示将整个文件夹同步到服务端的/www下面会单独生成一个文件夹

/www/ 表示将客户端的/www文件夹下面的文件同步到服务端的/www下面

参数说明
--delete
# 表示在同步时,server端/opt/ldx目录中不论是删除,添加,修改,都会同步到client
# 如果不加该参数,则只会同步server端新添加和修改的数据,server端删除掉的数据,client端不会删除
# 依然存在,该选项按个人需求选择

/data  
# 本地同步的路径

--password-file=/root/rsyncd.passwd    
# 本地存放密码的文件
安装inotify
# 首先在客户端安装
yum install inotify-tools -y 
# 当要监控的目录、文件数量较多或者变化较频繁时,建议加大内核的三个参数的值
vim /etc/sysctl.conf
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 1024
fs.inotify.max_user_watches = 1048576
# 保存退出
sysctl -p # 生效内核配置
编辑监听脚本
#!/bin/bash
host=10.50.6.23
src=/www/
des=wwwroot
password=/etc/rsyncd.passwd
user=rsync
inotifywait=/usr/bin/inotifywait

${inotifywait} -mrq --timefmt '%Y%m%d %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib ${src} | while read files
do
 rsync -avzP ${src} --timeout=100 --password-file=${password} ${user}@${host}::${des}
 echo "${files} was rsynced" >>/tmp/rsync.log 2>&1
done
# 保存退出
将脚本添加到开机自启动
chmod +x /opt/inotify_monitor.sh
echo "nohup bash /opt/inotify_monitor.sh" >> /etc/rc.d/rc.local
以上脚本只能用于客户端文件发生变更同步到服务端,无法做到服务端文件变更自动同步,需要在客户端将rsync的服务搭建起来,服务端再搭建一套inotify环境即可进行双向同步

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

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

推荐阅读更多精彩内容