zoukankan      html  css  js  c++  java
  • Linux环境ftp搭建及问题总结

         环境:centos 7.0

    一、安装软件

    vsftpd - 服务器端

    rpm -qa |grep vsftpd

          yum  -y   install  vsftpd

    ftp 客户端登录ftp服务器 或者lftp

    yum -y  install ftp

    二、启动服务

    systemctl  restart  vsftpd

    默认共享目录为 /var/ftp/pub

    三、配置ftp

    默认配置文件目录:/etc/vsftpd/

    vsftpd.conf ——vsftpd的核心配置文件

    ftpusers    ——用户登陆黑名单

    user_list   ——用户登陆白名单:

              userlist_deny=no只允许该文件下的用户登陆

              userlist_deny=yes(默认)不允许该文件下的用户登陆

    四、客户端登录

    终端:ftp 172.20.100.161 -u ftpadmin

    网页:

    升级配置:

    设置ftp权限 -禁止匿名登录

    将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”

    添加ftp账号

    useradd ftpadmin -s /sbin/nologin –d  家目录(即该用户的共享目录) #创建本地禁止登录用户,如不存在需要创建并设置共享目录相应权限

    如: chmod -R o+w /var/www/html/  

    passwd ftpadmin  #修改用户密码

    配置文件常用说明:

    anonymous_enable=NO #允许匿名用户访问

    anon_upload_enable=YES #允许匿名用户上传文件并可以创建目录

    anon_mkdir_write_enable=YES

    local_enable=YES  # 允许本地用户登录

    local_root=/var/www/html:设置本地用户的根目录为/var/www/html

    chroot_list_enable=YES:激chroot 功能

    chroot_list_file=/etc/vsftpd/chroot_list:设置锁定用户在根目录中的列表文件。此文件存放要锁定的用户名 ,使用了chroot需建立/etc/vsftpd/chroot_list 文件,如添加team1 和team2 帐号

    设置指定的用户执行chroot,按照如下方法进行设置:

    chroot_local_user=NO

    chroot_list_enable=YES

    chroot_list_file=/etc/vsftpd.chroot_list

    设置后,只有/etc/vsftpd.chroot_list文件中指定的用户才能够执行chroot命令。

    在使用FTP服务的过程中,可以使该服务在非标准端口(非21端口)工作,不过要完成这项工作,须要使vsftpd服务器运行在独立启动方式下,而且要配置vsftpd的主配置文件/etc/vsftpd/vsftpd.conf,将listen_port=10003或者是其他端口号的选项加入该文件即可,然后要重新启动vsftpd守护进程

     

    常见问题解决:

    报错: vsftpd 530 login incorrect

    1.密码错误。

    2.检查/etc/vsftpd/vsftpd.conf配置

    vim /etc/vsftpd/vsftpd.con

    local_enable=YES  

    pam_service_name=vsftpd    //这里重要,有人说ubuntu是pam_service_name=ftp,可以试试

    userlist_enable=YES 

    3.检查/etc/pam.d/vsftpd

    vim /etc/pam.d/vsftpd

    注释掉

    #auth    required pam_shells.so

    最后无论哪种情况 重启试试

    sudo service vsftpd restart

    基础命令

    进入想要连接的FTP站点后,用户就可以进行相应的文件传输操作了,其中一些重要 的命令及相似的命令 如下:

    1、HELP、、RHELP、REMOTEHELP

    HELP显示LOCAL端的命令说明,若不接受则显示所有可用命令;

    ?相当于HELP,例如:?CD:

    RHELP同HELP,只是它用来显示REMOTE端的命令说明;

    REMOTEHELP相当于RHELP。

    2、ASC(ASCll)、bin(BINARY)、IMAGE、TYPE

    ASCⅡ切换传输模式为文字模式(只能用来传送DOC文件,因为是7-BIT);

    BINARY切换传输模式为二进制模式(除文字文件外皆用此模式);

    IMAGE相当于BINARY:

    TYPE让你更改或显示传输模式。

    3、BYE、QUIT

    BYE退出FTP:

    QUIT相当于BYE。

    4、CD、CDUP、LCD、P~WD、 !

    CD改变当前工作目录,例如:CDPUB;

    CDUP回到上一层目录,相当于你打CD..:

    LCD让你更改或显示LOCAL端的工作目录,例如:LCDTMP;

    PWD显示的工作目录(REMOTE端):

    !让你执行外壳命令,例如:!LS。

    5、DELETE、MDELETE、RENAME

    DELETE删除REMOTE端的文件:

    MDELETE批量删除文件,需配合?或,*

    RENAME更改REMOTE端的文件名。

    6、GET、MGET、PUT、MPUT、RECV、SEND

    GET下传文件;

    MGET批量下传文件,需配合万用字元,例如:MGET*.GZ;

    PUT上传文件;

    MPUT批量上传文件,需配合万用字元;

    RECV相当于GET(RECV为RECEIVE的简写):

    SEND相当于PUT。

    7、HASH、PROMPT、VERBOSE、STATUS、BELL

    HASH切换#字号的出现,每一个#字号表示传送了1024/8192BYTES:

    PROMPT切换iNTERACTⅣEON/OFF;

    VERBOSE切换所有文件传输过程的显示;

    STATUS显示的一些参数:

    BELL当指令做完时会发出叫声。

    8、LS、DIR、MLS、MDIR、MKDIR、RMDIR

    LS有点像UNIX下的LS(LIST)命令:

    DIR相当于LS-L(LIST-LONG);

    MLS只是将远端某目 录下的文件存于LOCAL端的某文件里;

    MDIR相当于MLS;

    MKDIR像DOS下的MD(创建子目录)一样:

    RMDIR像DOS下的RD(删除子目录)一样。

    9、OPEN、CLOSE、DISCONNECT、USER

    OPEN连接某个远端FTP服务器

    CLOSE关闭连接; DISCONNECT相当于CLOSE;

    USER再输入一次用户名和口令(有点像UNⅨ下的SU)

  • 相关阅读:
    《学习要像加勒比海盗》读书摘录
    【转载】关于软件测试的几点思考
    黑客与画家 摘录
    基于Jenkins的持续集成CI
    重新开始,整装出发
    java重写equals方法需要注意的几点
    《Google软件测试之道》摘录
    Using sql azure for Elmah
    Invalid object name ‘sys.configurations’. (Microsoft SQL Server, Error: 208)
    Cannot install ubuntu or other linux flavours on citrix Xen server
  • 原文地址:https://www.cnblogs.com/leo001/p/10353708.html
Copyright © 2011-2022 走看看