`
lhy5201314
  • 浏览: 120936 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

WIN7下的VirtualBox虚拟机中安装的Fedora16系统搭建ftp基本方法

 
阅读更多

以下文章转自

http://shikuan.diandian.com/post/2011-12-16/11125514

http://md20040208.blog.163.com/blog/static/3006942720108158230115/

 

见过实验安装成功了的!!!

 

 

搭建环境】Linux (Fedora 16)

【基本实现】在自己的电脑上搭建ftp,实现同一网段匿名登录,并能上传下载文件。

【涉及技术】vsftpd,iptables

【方法】

1. 先查看自己的机子上是否已安装vsftpd (very secure FTP Daemon),这是linux上常用的ftpd技术,配置方法比较类似配置Apache。命令行输入:

#rpm -qa | grep vsftp

若出现内容,则表示已安装;若无,则手动抓包下载:

# sudo yum install vsftpd

 

注意:如果vsftpd包因要依赖其他包而安装不上的可以用强制安装命令进行安装,我是这样安装的,结果是安装成功了的!

 

2 . 启动vsftpd服务。很多教程写的是/etc/init.d/vsftpd start,但是我试了下后发现不行,应该如下输入:

# sudo service vsftpd start

相应的,start 可换成stop,restart等,从字面意思就知道其意思。

查看是否有启动vsftpd:

# pstree | grep vsftpd

若有则表示启动成功。至此,可通过#ftp 主机名/localhost/127.0.0.1 来测试ftp是否正常工作。

 

3. 配置 相关文件。vsftpd.conf 全局配置文件放在/etc/vsftpd/下。为了防止配置错了,先拷贝一份副本,之后进入文档进行编辑。完成后重启ftp即可。

#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd1.conf

#sudo vim /etc/vsftpd/vsftpd.conf

为了允许匿名登录,则anonymous_enable必须等于YES,其他相应的配置属性简单列表如下:

anonymous_enable=YES              允许匿名登录
Local_enable=YES                       允许本地用户登录
write_enable=YES                        开放本地用户的写权限
dirmessage_enable=YES              当切换到目录时,显示该目录下的.message隐含文件的内容
xferlog_enab1e =YES                   激活上传和下载日志
connect_from_port_20 = YES      启用FTP数据端口的连接请求
xferlog_std_format =YES            使用标准的ftpd xferlog日志格式
pam_service_name=vsftpd           设置认证服务的配置文件名称,该文件存放在/etc/pam.d/
userlist_enable=YES                   激活vsftpd检查userlist_file指定用户是否可以访问vsftpd服务器

 

4. 本机进行测试。在浏览器上输入ftp://localhost或者ftp://127.0.0.1,若搭建成功,则会有相应的文件夹,而这文件夹是默认在/var/ftp/下,当然以后你还可以进行修改。另一个方法是可以直接在命令行输入:

#ftp 127.0.0.1

因为匿名登录,跳过输入用户名和密码后输入:

ftp>user anonymous

再次跳过输入密码,此时会显示登录成功的字样。

 

5. 关闭防火墙。此时去同一网段的主机访问ftp,会发现一直链接不上。暂时了解到的是现在的linux系统为了更好地控制 IP 信息包过滤和防火墙配置,使用了iptables的东西。首先得关闭SElinux,该配置文件在/etc/selinux/下:

#vim /etc/selinux/config

找到相应语句,将其改成:SELINUX=disabled

重启之后,如果发现还不行,则暂时的办法可以关闭整个防火墙(不推荐):

#sudo service iptables stop

到了此步则肯定能从别的主机访问自己搭建的ftp的,只是可能还需要涉及文件夹权限问题,修改之后就能实现文件上传下载了。

完毕。

 

【补充】

若出现vsftpd: refusing to run with writable anonymous root 的错误,大概是ftp目录权限问题,修正方法:

# chown root:root /var/ftp
# chmod 755 /var/ftp

 

 

启动linux自带的ftp服务器 #   service   vsftpd   start    。如果想linux启动是自动启动ftp服务器 #   chkconfig  vsftpd   on   。

          运行putty,以root身份进入,出现了报错  530 Permission denied   ,感觉很奇怪,因以普通用户是可以进入的。

          原因是我们 /etc/vsftpd.ftpusers  和  /etc/vsftpd.user_list  禁掉了root这个用户。这时我们需要修改这两个文件。

    (1)/etc/vsftpd.user_list的默认文件(则是表示具体用户)

                 # vsftpd userlist
                 # If userlist_deny=NO, only allow users in this file
                 # If userlist_deny=YES (default), never allow users in this file, and
                 # do not even prompt for a password.
                 # Note that the default vsftpd pam config also checks /etc/vsftpd.ftpusers
                 # for users that are denied.
                 root
                  bin
                  daemon
                  adm
                  lp
                  sync
                  shutdown
                  halt
                  mail
                  news
                  uucp
                  operator
                  games
                  nobody

          这时我们要在 root 前加上 #

    (2)/etc/vsftpd.ftpusers  的默认文件(所有可以登录该FTP的用户属性)

          # Users that are not allowed to login via ftp
          root
          bin
          daemon
          adm
          lp
          sync
          shutdown
          halt
          mail
          news
          uucp
         operator
          games
          nobody
     这时我们要在 root 前加上 #

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics