首页 > 代码库 > 部署ftp文件共享服务

部署ftp文件共享服务

部署ftp文件共享服务
一.部署ftp服务

常用的部署网络服务的步骤:

技术分享

部署 FTP 服务器

? FTP ( 文件传输协议 ) 是 INTERNET 上仍常用的最老的网络协议之一 , 它为系统提供了通过网络与远程服务器进行传输的简单方法

? 在 RED HAT ENTREPRISE LINUX 6 中。 FTP 服务器包的名称为 VSFTPD , 它代表 Very Secure File Transfer Protocol Damon 服务器名称也叫做 vsftpd

? 默认配置文件让 ANONYMOUS 用户只能下载位于CHROOT 目录中的内容。 /var/ftp/ 这意味着远程 FTP客户端能以用户 anonymous 或 ftp 身份连接到服务器( 无需密码 ), 并从 ftp 服务器上的 /var/ftp/ 目录下载文件( 其本地 ftp 用户可以读取这些文件 )

在安装之前要看一下这个是不是disable的,不是则修改一下

技术分享

技术分享

1.安装服务软件

技术分享

安装vsftpd服务和lftp命令

2.启动服务和启用服务开机自启

技术分享

3.测试服务

本机:

Lftp 172.25.7.11

技术分享

可以上去

其他主机未配置防火墙时还暂时登不上

二.Vsftpd服务关于匿名用户的配置

1.匿名用户设定登陆的限制

anonymous_enable=YES|NO ##匿名用户登陆限制

2.匿名用户实现上传文件的步骤

技术分享

在没有配置文件之前,上传东西给被拒绝,错误的信息是550,代表不可以上传,不提供这个服务功能。553错误代码是因为服务器你要上传的那个目标目录没有给上传文件的权限,如下进行修改。

##<匿名用户上传步骤>

vim /etc/vsftpd/vsftpd.conf

write_enable=YES

anon_upload_enable=YES

技术分享

chgrp ftp /var/ftp/pub

chmod 775 /var/ftp/pub

技术分享

技术分享

修改完之后可以实现上传

3.<匿名用户家目录修改>

anon_root=/direcotry

4.<匿名用户上传文件默认权限修改>

anon_umask=xxx

5.<匿名用户建立目录>

anon_mkdir_write_enable=YES|NO

6.<匿名用户下载>

anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载

7.<匿名用户删除>

anon_other_write_enable=YES|NO

8.<匿名用户使用的用户身份修改>

chown_uploads=YES

chown_username=student  ###与上边anon_umask不能同时生效

技术分享

技术分享

注意:只有上传文件的时候才能体现出

9.<最大上传速率>

anon_max_rate=102400

10.<最大链接数>

max_clients=2

技术分享

测试:

技术分享

三.关于本地用户的设定

local_enable=YES|NO ##本地用户登陆限制

write_enable=YES|NO ##本地用户写权限限制

#<本地用户家目录修改>

local_root=/directory

#<本地用户上传文件权限>

local_umask=xxx

#<限制本地用户浏览/目录>

所有用户被锁定到自己的家目录中

chroot_local_user=YES

chmod u-w /home/*

用户黑名单建立,不接受黑名单中的

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

用户白名单建立,只接受能登陆白名单的

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

#<限制本地用户登陆>

vim /etc/vsftpd/ftpusers ##用户永久黑名单

vim /etc/vsftpd/user_list ##用户临时黑名单

用户白名单设定

userlist_deny=NO

/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp

五.ftp虚拟用户的设定

1.创建虚拟帐号身份,并对帐号密码进行hash加密

技术分享

技术分享

技术分享

db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db

加密命令

2.在pam.d目录下建立文件,功能就是认证刚才写的用户和密码,把它们加进去

先看一下原来的

技术分享

在原来的这个文件中认证的,现在加虚拟的。可以在这底下自己建立个文件把虚拟用户的加进去

技术分享

3.在vsftpd.conf里边修改配置

技术分享

把pam_service_namw改成刚才在pan.d目录下加的那个名字,意思就是让你认证那个文件

Guest_enable=yes 让其可用

Guest_username=ftp 就是这些以虚拟用户身份登陆的到服务器是都是属于ftp用户

4.测试

Lftp -u zmm localhost

输入密码后,就可以进入到默认的加目录中去

六.让登陆虚拟用户都进入到自己的加目录中

1.建立各个用户不同的加目录

技术分享

技术分享

2.修改配置文件,重启服务

技术分享

其中$USER代表的是变量,由于其是在脚本文件中才能识别,所以在底下行写入,使其指定是shell的环境变量

3.测试 是否都进入到各自的加目录中

技术分享

都是进入到自己的加目录中

七.分开控制用户的权利,实现单独给某些用户特殊权限

1.给各用户下加个public目录,方便之后测试

技术分享

技术分享

首先给这几个用户底下都加了public目录,然后把这个目录的组归属到ftp中,把权限修改为775

2.修改配置文件

技术分享

技术分享

首先把上边配置的都先注销掉,最下加的,就是告诉系统找这个目录

3.建立这个目录,并将特殊的那个用户权限写到里边

技术分享

4.测试

技术分享

User1可以上传

技术分享

User2不可以

八.Selinux状态对登陆上服务器能不能查看文件的影响

1.首先在selinux处在disabled下登陆到默认的目录那里是可以看到从别处移过来的文件,如下图:

技术分享

技术分享

方便测试,把底下所有的文件都删除掉

部署ftp文件共享服务