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

[经验分享] redhat9下简单配置ftp服务器zz

[复制链接]

尚未签到

发表于 2016-6-10 06:18:29 | 显示全部楼层 |阅读模式
redhat9下简单配置ftp服务器
http://blog.iyunv.com/templates/default/images/right_line.gif
   发展了那么长时间,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目录下。
    [iyunv@localhost root]# tar xzvf vsftpd-2.0.3.tar.gz

    [iyunv@localhost root]# cd vsftpd-2.0.4

    [iyunv@localhost vsftpd-2.0.4]# make

    [iyunv@localhost vsftpd-2.0.4]# make install
 
install后,还有一些文件由于未知原因未能拷到正确的地方,是要自己手动复制的。
[iyunv@localhost vsftpd-2.0.4]# cp vsftpd.conf /etc
 
复制pam验证文件:(多数使用vsftpd的用户在用源代码安装后都会遇到这样的问题:匿名用户可以登录,而本地用户无论怎样设置都无法登录,原因就在于vsftpd采用了PAM验证的方式,需要复制一个验证文件本地用户才能访问。)
[iyunv@localhost vsftpd-2.0.4]# cp RedHat/vsftpd.pam /etc/pam.d/ftp
 
[iyunv@localhost vsftpd-2.0.4]# cp xinetd.d/vsftp /etc/xinetd.d/vsftp(我这里用的是xinetd方式启动的,所以拷这个文件,具体后面解释)
 
[iyunv@localhost vsftpd-2.0.4]# cp vsftpd.conf.5 /usr/local/man/man5
[iyunv@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,不允许从本地登录,并创建该用户的密码。

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

    [iyunv@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地址。





运维网声明 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-228356-1-1.html 上篇帖子: wget 下载ftp的通过用户名和密码的方式 下篇帖子: Windows下FTP服务器架设攻略
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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