redhat9下简单配置ftp服务器zz

redhat9下简单配置ftp服务器
   发展了那么长时间,linux还是有些不完善,像我的lumaqq,不能传东西,所以别人想给我东西非要我跑过去,插U盘,拔U盘,跑回来,再插U盘,然后输命令,总之麻烦死了。一生气,决定建个ftp。
    我选用的软件是vsftpd,vs是very secure的意思,动心把,绝对安全。这年头什么最重要,安全!
    其实配置挺简单,我基本照着我以前从网上当的一个资料做的,讲的也挺详细的,名字叫《使用vsftpd架设ftp服务器》(有想要的可以发邮件联系我)。
      闲话少说,我们纳入正题。
一、前期准备。
先用rpm -qa|grep vsftpd 查找是否装了vsftpd,若没有则到ftp://vsftpd.beasts.org/users/cevans/下载vsftpd版本,我用的版本是2.0.4。
    安装之前我们应该看看用户“nobody”和目录“/usr/share/empty”是否存在,如果不存在需要新建这个用户和目录。
# useradd nobody
# mkdir /usr/share/empty

    如果要允许匿名访问,还需要创建ftp用户,并将其主目录设置为/var/ftp。在RH9中这些都已默认设置好了,只需要创建一个/var/ftp目录即可。

 # mkdir /var/ftp

    为了安全,目录“/var/ftp”不应该属于用户“ftp”,也不应该有写权限。
二、开始安装。
以管理员身份登录Linux系统,将vsftpd-2.0.4.tar.gz复制到/root目录下。
    [root@localhost root]# tar xzvf vsftpd-2.0.3.tar.gz

    [root@localhost root]# cd vsftpd-2.0.4

    [root@localhost vsftpd-2.0.4]# make

    [root@localhost vsftpd-2.0.4]# make install
 
install后,还有一些文件由于未知原因未能拷到正确的地方,是要自己手动复制的。
[root@localhost vsftpd-2.0.4]# cp vsftpd.conf /etc
 
复制pam验证文件:(多数使用vsftpd的用户在用源代码安装后都会遇到这样的问题:匿名用户可以登录,而本地用户无论怎样设置都无法登录,原因就在于vsftpd采用了PAM验证的方式,需要复制一个验证文件本地用户才能访问。)
[root@localhost vsftpd-2.0.4]# cp RedHat/vsftpd.pam /etc/pam.d/ftp
 
[root@localhost vsftpd-2.0.4]# cp xinetd.d/vsftp /etc/xinetd.d/vsftp(我这里用的是xinetd方式启动的,所以拷这个文件,具体后面解释)
 
[root@localhost vsftpd-2.0.4]# cp vsftpd.conf.5 /usr/local/man/man5
[root@localhost vsftpd-2.0.4]# cp vsftpd.8 /usr/local/man/man8
三、启动ftp
    在启动ftp之前,需要先对其配置, vsftpd服务器的配置文件为/etc/vsftpd.conf,常见配置选项见附录。
     ftp有两种方式:可以单独(Standalone)方式运行,如同httpd、named这类的服务器的运行方式,这是RHL9中默认的方式;也可以采用xinetd方式运行,这是RHL7.x、8中的默认方式。简单解释一下,standalone一次性启动,运行期间一直驻留在内存中,优点是对接入信号反应快,缺点是损耗了一定的系统资源,因此经常应用于对实时反应要求较高的专业FTP服务器。xinetd恰恰相反,由于只在外部连接发送请求时才调用FTP进程,因此不适合应用在同时连接数量较多的系统。此外,xinetd模式不占用系统资源。(我不用专业服务器,所以选的是xinetd模式)
修改/etc/xinetd.d/vsftpd里的disable,改为disable=no.然后执行service xinetd restart重启ftp。
检测ftp是否启动:
#telnet 127.0.0.1
trying 127.0.0.1
connected to 127.0.0.1
Escape character is '^]'
220 ready,dude(vsFTPd 2.0.4;beat me,break me)
//从上面的内容可以确定vsftpd已经被启动,按Ctrl+]中断会话
^]
//按q退出telnet
telnet>q
Connection closed.
后面的就是一点一点摸索配置vsftpd.conf文件了,内容太多也不好写,不过基本上只要知道每个语句什么意思就好办了。
还有后面什么虚拟ftp等等我没配,等配过了再说吧。
 
附录:常用配置
    1.禁止匿名用户访问。

    anonymous_enable=NO

    2.允许本地用户登录并允许其上传文件。

    local_enable=YES

    write_enable=YES

    要使上述选项生效,必须复制一个pam验证文件到/etc/pam.d,并改名为ftp。当然也可以改为其他名称,但必须修改pam_service_name的值,默认为ftp。

    3.将本地用户锁定在主目录中,不允许切换到上一级目录中。

    chroot_local_user=YES

    4.禁止某些用户通过ftp登录服务器。

  如果设置了local_enable=YES,那么所有的用户包括root也能通过ftp登录服务器,出于安全考虑,需要对某些用户进行限制。

    在vsftpd.conf中有三个选项控制:

    userlist_deny=YES/NO

    userlist_enalbe=YES

    userlist_file=/etc/vsftpd.user_list

    如果userlist_deny=YES,/etc/vsftpd.user_list中列出的用户名就不允许登录ftp服务器;如果userlist_deny=NO,/etc/vsftpd.user_list中列出的用户名允许登录ftp服务器。

    我们只要在/etc目录下创建vsftpd.user_list文件,文件内容为允许登录或禁止登录的用户名,每个用户占一行。

    5.禁止用户通过FTP修改文件或文件夹的权限。

    chmod_enable=NO(默认值为YES)

    6.设置本地用户上传的文件或文件夹的umask值。

    local_umask=022(默认值为077)

    umask的值设为022表示,上传的如果是文件将权限改为644,如果是文件夹将权限改为755。在上传网页时,如果设置为077,就会出现用户没有权限(Permission denied)访问网页的问题,所以建议将umask的值设为022。

    7.添加一个只能从ftp登录服务器,而不能从本地登录的用户。以下创建一个用户ftpuser,不允许从本地登录,并创建该用户的密码。

    [root@localhost root]# useradd –g ftp –s /sbin/nologin ftpuser

    [root@localhost root]# passwd ftpuser

    Changing password for user ftpuser.

    New password:

    Retype new password:

    passwd: all authentication tokens updated successfully.

    8.让vsftp服务器限制总的连接数以及每个IP最大的连接数。

    #最多同时允许100个客户连接

  max_clients=100

    #每个ip地址最多允许开3个线程

  max_per_ip=3

  vsftpd的配置文件中有很多选项,但个人认为,如果是架设一个简单的ftp服务器,以上选项就足够了。 
 
ps:我曾经遇到过一个问题,我的电脑是在一个局域网中的,自动分配地址,没想到在windows和linux下地址居然不一样 ,所以做好服务器后要用ifconfig|grep -1 eth0 命令查一下自己的ip地址。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值