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

[经验分享] Linux中如何搭建一个ftp服务服务器-超详细

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-18 13:28:10 | 显示全部楼层 |阅读模式
ftp工作是会启动两个通道:
控制通道 , 数据通道
在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)
PORT模式:
在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21)  发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ftp_server将通过自己的TCP 20 端口和PORT中包含的端口建立新的连接来传送数据。

PASV模式:
传送数据时,ftp_client--PASV命令-->ftp_server(21) 发送PASV命令时,ftp_server自动打开一个1024--5000之间的随机端口并且通知ftp_client在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。
1 安装ftp
1
#rpm -qa vsftpd 查看是否已经安装



1
#yum install -y vsftpd



1
2
3
4
5
6
7
8
9
10
11
12
13
#rpm -ql vsftpd
/etc/logrotate.d/vsftpd.             vsftpd的日志文件
/etc/pam.d/vsftpd                    PAM认证文件
/etc/rc.d/init.d/vsftpd              启动脚本
/etc/vsftpd                          vsftpd的配置文件存放的目录
/etc/vsftpd/ftpusers                 禁止使用vsftpd的用户列表文件
/etc/vsftpd/user_list                禁止或允许使用vsftpd的用户列表文件
/etc/vsftpd/vsftpd.conf              主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh   vsftpd操作的一些变量和设置
/usr/sbin/vsftpd                     vsftpd的主程序
其他一些说明文档和手册文件略!
/var/ftp                            匿名用户主目录
/var/ftp/pub                        匿名用户的下载目录



1
2
3
#service vsftpd start
#chkconfig --level vsftpd
#chkconfig --level 2345 vsftpd on



2 匿名用户的登录名:ftp(anonymous)  密码空 ,登录的目录为/var/ftp
用匿名用户登录的时候默认是只有下载的权限,没有上传,创建和删除的权限:

1
2
3
4
5
#vim  /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES      上传
anon_mkdir_write_enable=YES    创建
anon_other_write_enable=YES    删除
#service vsftpd restart



为了安全应该禁止匿名用户的登录:
1
2
3
4
5
6
#vim  /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
#anon_upload_enable=YES       上传
#anon_mkdir_write_enable=YES    创建
#anon_other_write_enable=YES    删除
#service vsftpd restart





3 创建一个直接登录系统用户来登录ftp:
1
2
#useradd -s /sbin/nologin viong
#passwd viong



用户具有 上传 创建 下载 切换目录
------------------------------------------------------------------
4 加强vsftp安全设置:
限制系统用户锁定在家目录:
1
2
3
4
5
#vim  /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list  限制更多的系统用户,把需要限制的用户加入/etc/vsftpd/chroot_list中即可
#touch /etc/vsftpd/chroot_list
#cut -d: -f 1 /etc/passwd >>/etc/vsftpd/chroot_list 将本地用户都加入到chroot_list



限制重要系统用户不能登录ftp:
1
2
#cat /etc/vsftpd/ftpusers  默认已经添加了系统中一些比较重要的用户
#echo "viong" >>/etc/vsftpd/ftpusers   此时viong不能登录ftp



利用ftp用户策略允许登录ftp的系统用户:
1
2
3
4
5
/etc/vsftpd/user_list 只有在这个文件中的用户才能登录系统:
#vim /etc/vsftpd/vsftpd.conf
#在userlist_enable=YES 的后面添加
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list




设置登录ftp目标ip地址:用iptables设置

---------------------------------------   
搭建支持SSL加密传输的vsftpd:
1
2
3
4
5
6
7
8
9
10
#openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem    生成证书
#vim /etc/vsftpd/vsftpd.conf
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem





下面是ssl参数一些定义,根据自己需求去修改:

ssl_enable=yes/no             //是否启用 SSL,默认为no
allow_anon_ssl=yes/no         //是否允许匿名用户使用SSL,默认为no
rsa_cert_file=/path/to/file       //rsa证书的位置
dsa_cert_file=/path/to/file      //dsa证书的位置
force_local_logins_ssl=yes/no    //非匿名用户登陆时是否加密,默认为yes
force_local_data_ssl=yes/no     //非匿名用户传输数据时是否加密,默认为yes
force_anon_logins_ssl=yes/no    //匿名用户登录时是否加密,默认为no
force_anon_data_ssl=yes/no     //匿名用户数据传输时是否加密,默认为no
ssl_sslv2=yes/no               //是否激活sslv2加密,默认no
ssl_sslv3=yes/no                //是否激活sslv3加密,默认no
ssl_tlsv1=yes/no                //是否激活tls v1加密,默认yes
ssl_ciphers=加密方法            //默认是DES-CBC3-SHA

#service vsftpd restart

用flashftp连接:
连接类型为:FTP使用公开SSL(验证SSL)
地址:192.168.137.130:21
登录类型:普通
用户:viong   
密码:123




运维网声明 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.yunweiku.com/thread-68146-1-1.html 上篇帖子: 创建vsftpd服务器基于mysql的虚拟用户认证 下篇帖子: Vsftp配置详解 服务器 Linux 如何
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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