在LInux上架设FTP服务

    今天在自己的FC4机器上安装FTP服务器,让他人通过FTP共享资料.
   
    在网上查阅了一翻,比较常用的FTP服务器有:Wu-FTP, ProFTP, VSFTP.
   
    我选中了VSFTP,不为别的,因为它叫Very Secure嘛.它的设计本来就是以安全性来考虑的.
 
    去主站点下了VSFTP的2.04版本,不大,一百多KB. 下载地址是:ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.4.tar.gz

    下完了之后make,在make install之前根做N步工作.
    1)需要添加nobody用户 #useradd nobody
    2)如果make没产生/usr/share/empty目录的话,建立该目录, #mkdir /usr/share/empty
    3)如果FTP需要匿名(anonymous)用户的话,需要建立ftp这个用户,并指定其HOME目录为/var/ftp  #useradd -d /var/ftp ftp
    4)更改/var/ftp文件夹的归属,并更改存取权限  #chown root.root /var/ftp   #chmod 755 /var/ftp
    5)make install

    make install之后,需根手工把vsftpd.conf拷贝到/etc目录下去,其INSTALL文件是这么说的:
    "make install" doesn't copy the sample config file. It is recommended youdo this:
        cp vsftpd.conf /etc

    下面就可以了.但是启动FTP服务可以有两种方式.一种是Smoke test (without an inetd).   另一种是Run from an inetd of some kind
   
    关于inted方式,我一直找不到我的FC4里面有这个服务,也找不到有这个文件.难道我没装这个包?虽然通过inted方式有更多的功能,但只好用smoke test功能.
    修改/etc/vsftpd.conf 然后在最后一行加入 listen=YES
    然后,启动/usr/local/sbin/vsftpd &  ,当然,必须要保证没有任何程序占用21端口.
    输入ftp 172.0.0.1
    会出现:
    Connected to localhost (127.0.0.1).
    220 (vsFTPd 1.1.1)
    Name (localhost:chris): ftp
    331 Please specify the password.
    Password:
    230 Login successful. Have fun.
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> ls
    .....

    问题:
    1.查看有没有程序占用某个端口,并关闭其端口:
       netstat -anp | more
       其中会显示出某个进程的PID,端口号,等等信息,根关闭其端口.一种方法是用Sercive 程序名 stop 关闭,另一种是用kill -9 PID 关闭.

    2.Linux有默认的防火墙,别的主机登录不上,报NO route to host
     桌面->系统设置->安全级别有相应设置,也可以使用iptables命令,如:
        [root@t81a143 ~]# iptables -F
        [root@t81a143 ~]# iptables -X
        [root@t81a143 ~]# iptables -t nat -F
        [root@t81a143 ~]# iptables -t nat -X
        [root@t81a143 ~]# iptables -t mangle -F
        [root@t81a143 ~]# iptables -t mangle -X

posted @ 2006-06-14 17:31  shipfi  阅读(1108)  评论(0编辑  收藏  举报