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

[经验分享] linux 下FTP服务的搭建详解

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-12 09:57:34 | 显示全部楼层 |阅读模式
第1章 centos 6.8搭建FTP服务详解1.1搭建环境:[iyunv@oldboy ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[iyunv@oldboy ~]# uname -r
2.6.32-642.el6.x86_64
[iyunv@oldboy ~]# uname -m
x86_64
[iyunv@oldboy ~]#
1.2yum 安装FTP软件:[iyunv@oldboy ~]# rpm -qa vsftpd    #查看系统是否已经安装了该软件
[iyunv@oldboy ~]# yum install -y vsftpd  #安装FTP软件命令
Installed:
  vsftpd.x86_640:2.2.2-21.el6     #结尾有这个提示说明安装成功。  

Complete!
[iyunv@oldboy ~]#
1.3设置开机自启动:[iyunv@oldboy ~]# chkconfig --list vsftpd    #默认服务是关闭的,需要手动设置下次开机自启动
vsftpd         0:off   1:off   2:off  3:off   4:off   5:off  6:off
[iyunv@oldboy ~]#
[iyunv@oldboy ~]# chkconfig vsftpd on    #设置下次开机自启动
[iyunv@oldboy ~]# chkconfig --list vsftpd    #查看是否设置成功
vsftpd         0:off   1:off   2:on   3:on    4:on    5:on   6:off
[iyunv@oldboy ~]#
注意!安装时发现这个错误:
Loaded plugins:fastestmirror, refresh-packagekit, security
Loading mirror speedsfrom cached hostfile
Could not retrievemirrorlist http://mirrorlist.centos.org/?re ... 64&repo=oserror was
14: PYCURL ERROR 6 -"Couldn't resolve host 'mirrorlist.centos.org'"
Error: Cannot find avalid baseurl for repo: base
是因为缺少DNS解析,解决如下:到/etc目录下配置resolv.conf加入nameserver IP(添加DNS服务器的IP,阿里云DNS:223.5.5.5)
也可以在nat模式的DNS指向网关就行了

1.4先关闭防火墙/etc/init.d/iptables stop
chkconfig iptables off
也可以不关防火墙,配置以下设置
打开/etc/sysconfig/iptables文件
vi /etc/sysconfig/iptables
在REJECT行之前添加如下代码
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp-p tcp --dport 21 -j ACCEPT
保存和关闭文件,重启防火墙
service iptables start
1.5配置FTP的主配置文件,默认的主配置文件是/etc/vsftpd/vsftpd.conf,(先备份!!!!) 97#chroot_list_enable=YES     #如果希望用户登录后不能切换到自己目录以外的其它目录,需要设置该项
98 #(default follows)
99#chroot_list_file=/etc/vsftpd/chroot_list   #设置指定登录的用户
将97和99的#去掉
可以使用sed替换的方法:
[iyunv@oldboy vsftpd]# sed  -i 's@#chroot_list_enable=YES@chroot_list_enable=YES@g' vsftpd.conf
[iyunv@oldboy vsftpd]# grep enable vsftpd.conf
chroot_list_enable=YES
[iyunv@oldboy vsftpd]#sed -i 's@#chroot_list_file=/etc/vsftpd/chroot_list@chroot_list_file=/etc/vsftpd/chroot_list@g'vsftpd.conf
[iyunv@oldboy vsftpd]# grep  list_file vsftpd.conf
chroot_list_file=/etc/vsftpd/chroot_list
1.6添加用户增加用户ftp001,指向目录/home/ftp001,禁止登录SSH权限
[iyunv@oldboy vsftpd]# useradd -d /home/ftp001 -gftp  -s /sbin/nologin ftp001   #该用户是vftp的程序运行的用户。
[iyunv@oldboy vsftpd]# id ftp001
uid=810(ftp001) gid=50(ftp) groups=50(ftp)
[iyunv@oldboy vsftpd]#

设置密码:
passwdftp001  123456

创建文件chroot_list:
[iyunv@oldboy vsftpd]# vi /etc/vsftpd/chroot_list

oldboy
test    #添加用户

[iyunv@oldboy vsftpd]# /etc/init.d/vsftpd start  #重新启动FTP服务
Starting vsftpd for vsftpd:                                [  OK  ]
测试
windows中输入:ftp://10.0.0.130 进行测试
有结果但是不能创建和添加?
解决办法:
1、改文件/var/ftp/pub/ 目录其他用户加权限w。
[iyunv@oldboy ftp]# chmod o+w pub/
2、编辑配置文件vsftpd.conf:
修改以下几项:(有注释的去掉注释)
local_enable=yes    #是否允许本地用户登录FTP服务器,默认是允许
write_enable=yes    #是否允许用户具有在FTP服务器文件中执行写的权限,默认是允许
local_umask=022     #设置本地用户的文件生成掩码为022,默认是077
修改配置文件即可vsftpd.conf,确定有以下几行,没有自己添加进去就可以了.
anonymous_enable=yes    #是否允许anonymous登录FTP服务器,默认是允许的.
anon_upload_enable=yes  #是否允许匿名用户上传文件。只有在write_enable设置为
YES时,该配置项才有效。
anon_mkdir_write_enable=yes     #是否允许匿名用户创建目录。只有在write_enable设置为    YES时有效。且匿名用户对上层目录有写入的权限。默认为NO。
anon_umask=022

此时匿名用户能够上传文件了。

1.7其他服务器测试(linux中):[iyunv@oldboy ~]# ftp 10.0.0.130
Connected to 10.0.0.130 (10.0.0.130).
220 (vsFTPd 2.2.2)
Name (10.0.0.130:root): oldboy
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (10,0,0,130,177,153).
150 Here comes the directory listing.
-rw-r--r--   1 500      501             0 Sep 06 08:15

下载:
mget  文件    #从远程服务器上下载文件到当前系统的目录    
格式:mget [remote-files]
切换到要下载的目录,
ftp> mget person.txt
mget person.txt? y
227 Entering Passive Mode (10,0,0,130,103,230).
150 Opening BINARY mode data connection forperson.txt (71 bytes).
226 Transfer complete.
71 bytes received in 5.1e-05 secs (1392.16Kbytes/sec)
ftp>
[iyunv@oldboy test]# ls
person.txt

上传:
mput    #上传文件到FTP服务器
格式:mput local-files
将本地主机中一批文件传送至远端主机.
注意!将要上传的文件拷贝到一个目录中,并且在该目录中连接FTP服务(ftp:10.0.0.130)
然后使用命令
ftp> mput *.* ./
mput num.txt? y
227 Entering Passive Mode (10,0,0,130,118,152).
150 Ok to send data.
226 Transfer complete.
40 bytes sent in 0.000267 secs (149.81 Kbytes/sec)
mput pass.txt? y
227 Entering Passive Mode (10,0,0,130,82,252).
150 Ok to send data.
226 Transfer complete.
126 bytes sent in 0.000177 secs (711.86 Kbytes/sec)
mput ./? y
./: not a plain file.
ftp>
ftp> ls
-rw-r--r--   1 500      501           53 Sep 10 02:14 G.bak
-rw-r--r--   1 500      501            40 Sep 10 02:17 num.txt
--wx------   1 500      501            18 Sep 07 07:45 oldboy.sh
d-wx------   2 500      501          4096 Sep 07 07:44 oldboydir
-rw-r--r--   1 500      501          126 Sep 10 02:17 pass.txt
-rw-r--r--   1 500      501            71 Sep 10 02:14 person.txt
226 Directory send OK.


运维网声明 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-271109-1-1.html 上篇帖子: vsftp 使用虚拟用户 下篇帖子: 配置vsftp通过openldap认证 linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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