设为首页 收藏本站
查看: 2115|回复: 0

[经验分享] FTP文件服务器搭建与应用

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-8-15 10:14:12 | 显示全部楼层 |阅读模式
1.ftp服务端部署搭建应用
1.1vsftd部署

1)基础环境

[iyunv@ceshi1 ~]# uname -r
2.6.32-573.el6.x86_64
[iyunv@ceshi1 ~]# cat /etc/centos-release
CentOS release 6.7 (Final)

2)关闭防火墙以及selinux

[iyunv@ceshi1 ~]# /etc/init.d/iptables stop
[iyunv@ceshi1 ~]# setenforce 0
setenforce: SELinux is disabled

3)yum安装vsftpd以及相关依赖

[iyunv@ceshi1 ~]# yum install -y vsftpd    #vsftpd安装程序
[iyunv@ceshi1 ~]# yum install -y pam* db4* #vsftpd虚拟登陆账户必要依赖包

1.2vsftpd配置文件详解

   ftp的配置文件主要有三个在centos中位于/etc/vsftpd/目录下分别是

[iyunv@ceshi1 vsftpd]# tree
├── ftpusers 该文件用来指定哪些用户不能访问ftp服务器
├── user_list 该文件用来指示的默认账户在默认情况下也不能访问ftp
├── vsftpd.conf 主配置文件

具体配置详解:

1)用户登录控制

anonymous_enable=YES允许匿名用户登录
no_anon_password=YES匿名用户登录时不需要输入密码
local_enable=YES允许本地用户登录
eny_email_enable=YES可以创建一个文件保存某些匿名电子邮件的黑名单以防止这些人
banned_email_file=/etc/vsftpd/banned_emails保存电子邮件黑名单的目录(默认)

2)用户权限控制

write_enable=YES开启全局上传
local_umask=本地文件上传的umask设置为系统默认
anon_upload_enable=YES允许匿名用户上传当然要在write_enable=YES的情况下同时必须建立一个允许ftp用户读写的目录
anon_mkdir_write_enable=YES允许匿名用花创建目录
anon_mkdir_other_write_enable=YES  是否允许匿名用户删除文件
chown_uploads=YES匿名用户上传的文件属主转换为别的用户一般建议为root
chown_username=whoever改此处的whoever为要转换的属主建议root
chroot_list_enable=YES用一个列表来限定哪些用户只能在自己目录下活动
chroot_list_enable=/etc/vsftpd/chroot_list指定用户列表文件
nopriv_user=ftpsecure指定一个安全账户让ftp完全隔离和没有特权的账户

3)用户连接和超时设置

idle_session_timeout=默认的超时时间
data_connection_timeout=设置默认数据连接的超时时间
服务器日志和欢迎信息
dirmessage_enable=YES允许为配置目录显示信息
ftpd_banner=WelcometoblahFTPserviceftp的欢迎信息
xferlog_enable=YES打开日志记录功能
xferlog_file=/var/log/xferlog日志记录文件的位置

4)

chown_uploads=YES  # 定义用户上传文件之后是否更改属主
chown_username=whoever # 定义用户上传文件之后属主更改为谁
连接
chroot_local_user=YES #是否禁锢系统用户,一旦启用,那么chroot_list中的用户不被禁锢
chroot_list_enable=YES   # 是否禁锢chroot_list中的用户
chroot_list_file=/etc/vsftpd/chroot_list  # chroot_list文件保存位置
listen=YES  # 是否作为一个独立守护进程运行
pam_service_name=vsftpd  # vsftpd使用的pam服务名称
user_list_enable=YES  # 是否启用user_list文件配合userlist_deny=YES|NO控制用户登录
userlist_deny=YES  # 值为YES时,user_list为黑名单;值为NO时,user_list为白名单
max_clients=N  # 最多允许N个客户端同时连接ftp
max_per_ip=N   # 最多允许N个来自同一ip的客户端连接请求

1.3虚拟用户登录配置部署1.3.1yum安装vsftpd程序以及相关依赖,见1.1(3)
[iyunv@ceshi1 ~]# yum install -y vsftpd    #vsftpd安装程序
[iyunv@ceshi1 ~]# yum install -y pam* db4* #vsftpd虚拟登陆账户必要依赖包

1.3.2修改/etc/vsftpd/vsftpd.conf

1)修改配置文件前备份

[iyunv@ceshi1 vsftpd]#cd /etc/vsftpd
[iyunv@ceshi1 vsftpd]# cp  vsftpd.conf  vsftpd.conf.org

2)建立相关文件及文件夹

[iyunv@ceshi1 vsftpd]# touch /etc/vsftpd/chroot_list
[iyunv@ceshi1 vsftpd]# mkdir /etc/vsftpd/ftplogin

正式配置文件

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=www
user_config_dir=/etc/vsftpd/ftplogin
pam_service_name=vvsftpd

1.3.3创建FTP虚拟登录账号

1.创建密码明文文件

[iyunv@ceshi1 vsftpd]# touch /etc/vsftpd/vuser
[iyunv@ceshi1 vsftpd]# vim /etc/vsftpd/vuser
boy
boy123
girl
girl123
test
test123

格式:

用户名1
用户名1密码
用户名2
用户名2密码

2.生成pam校验数据库文件

[iyunv@ceshi1 vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/login.db

为了安全期间,建议在生成校验数据库之后,删除vuser文件

或者修改vuser权限,不让别的用户读(root大神如果被攻陷,那就没什么好说的了)

chmod 600 /etc/vsftpd/vuser

3.添加新的pam service

[iyunv@ceshi1 vsftpd]# touch /etc/pam.d/vvsftpd
[iyunv@ceshi1 vsftpd]# vim /etc/pam.d/vvsftpd

内容如下(注意如果是32位系统,那就用32位的校验,本例是64位的):

#%PAM-1.0
#auth required /lib/security/pam_userdb.so db=/etc/vsftpd/login
#account required /lib/security/pam_userdb.so db=/etc/vsftpd/login
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/login

4.给FTP虚拟用户赋予权限(增加权限配置文件)

配置文件存放路径,就是conf中的user_config_dir,本文就是/etc/vsftpd/ftplogin,文件名必须和用户名相同

文件配置详解,默认路径需要提前用mkdir建立好,目录拥有者设置为conf中的guest_username,本文为www

#有上传/下载/修改权限

anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/u01/ftpb/upload/

#只有上传/修改权限

anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
local_root=/u01/ftpb/upload/

#只有下载权限

anon_world_readable_only=NO
local_root=/u01/ftpb/upload/

useradd –d /data/upload  www –s  /sbin/nologin -M
mkdir /data/upload  –p
chown –R www.www  /data/upload
cd  /etc/vsftpd/ftplogin
vim boy /girl/test
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/data/upload
1.3.4启动ftp服务
[iyunv@ceshi1 vsftpd]# /etc/init.d/vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]
1.4客户端利用虚拟用户登录

ftp://ip地址



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-258050-1-1.html 上篇帖子: vsftpd虚拟用户配置 下篇帖子: 自动添加VSFTP服务器虚拟用户脚本 服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表