zoukankan      html  css  js  c++  java
  • centos配置vsftpd服务2

    ftp搭建

    一、搭建前提
    a、ssh服务已经开启,b、防火墙关闭,c、连网
    1、查看ssh和防火墙的状态
    service sshd status
    service iptables status


    2、开启ssh
    service sshd start


    3、关闭防火墙
    chkconfig iptables off


    4、测试是否连网

    二、安装并开启tftp和vsftpd
    #yum install tftp
    #yum install vsftpd
    #chkconfig vsftpd on
    #chkconfig tftp on

    启动vsftpd服务
    service vsftpd start
    查看vsftpd的启动状态
    service vsftpd status

    三、打开21和20端口
    # /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
    # /sbin/iptables -I INPUT -p tcp --dport 20 -j ACCEPT
    # /etc/rc.d/init.d/iptables save

    四、添加ftp用户
    *进入etc下的vsftpd下再添加
    #cd /etc/vsftpd/
    #useradd ftpuser
    #passwd ftpuser

    五、修改vsftpd.conf配置文件
    #vi /etc/vsftpd/vsftpd.conf
    1、把第一行的 anonymous_enable=YES ,改为NO
    **ftpusers:位于/etc/vsftpd/目录下。它指定了哪些用户账户不能访问FTP服务器, 例如root等。
    **user_list:位于/etc/vsftpd目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。

    六、重启服务
    service vsftpd restart

    七、开启SELinux
    1、getsebool -a | grep ftp :查看SELinux下是否开启ftp的支持
    把allow_ftpd_full_access --> off,
    ftp_home_dir --> off 都改为on。

    #setsebool ftp_home_dir 1
    #setsebool allow_ftpd_full_access 1

    (*如果出现getsebool: SELinux is disabled的错误,需重新开启selinux
    #vi etc/selinux/config
    *SELinux=enable
    *重启linux,开启selinux)

    ftp登录
    1、ftp +ip地址
    2、name:
    3、password:
    4、返回Login successful登录成功

    ftp目录操作
    1、ls :列出当前文件夹下所有文件
    2、cd :和linux操作一样切换位置

    ftp文件下载
    1、lcd :指定下载到的位置 (eg:lcd c: est)
    2、getfile :下载文件 (eg:get index.html 然后瞎子啊到指定位置)
    mgetfile :下载多个文件 (eg:mget *.xls 下载以xls后缀的所有文件)

    ftp文件上传
    1、put file :上传文件到指定的ftp上传文件位置
    mput file :上传多个文件

    ftp关闭
    1、bye 2、exit 3、quit

    ftp搭建问题
    500 OOPS: cannot change directory:/home/***
    是路径目录错误,解决方法:
    在配置文件中添加或更改默认访问路径文件
    在vsftpd.conf最后添加 local_root=/home :登录后就会默认访问这个路径下的文件夹

    ***ftp权限设置(/etc/vsftpd/vsftpd.conf下)***
    1、在配置文件最后添加chroot_local_user=YES
    或者把配置中#chroot_local_user=YES的‘#’去掉 把所有的本地用户限制在给定的访问路径下的文件夹里
    如果只限制一些用户,则
    chroot_local_user=NO
    #chroot_list_enable=YES
    #(default follows)
    #chroot_list_file=/etc/vsftpd/chroot_list
    //去掉‘#’,chroot_local_user改为NO
    :将要限制的用户添加到此文件里面

    具体配置:

    根据 /etc/vsftpd/vsftpd.conf默认配置给出设定功能

    # Example config file /etc/vsftpd/vsftpd.conf

    # The default compiled in settings are fairly paranoid. This sample file

    # loosens things up a bit, to make the ftp daemon more usable.

    # Please see vsftpd.conf.5 for all compiled in defaults.

    # READ THIS: This example file is NOT an exhaustive list of vsftpd options.

    # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's

    # capabilities.

    # Allow anonymous FTP? (Beware - allowed by default if you comment this out).

    anonymous_enable=YES

    允许匿名用户登录

    # Uncomment this to allow local users to log in.

    local_enable=YES

    允许系统用户名登录

    # Uncomment this to enable any form of FTP write command.

    write_enable=YES

    允许使用任何可以修改文件系统的FTP的指令

    # Default umask for local users is 077. You may wish to change this to 022,

    # if your users expect that (022 is used by most other ftpd's)

    local_umask=022

    本地用户新增档案的权限

    # Uncomment this to allow the anonymous FTP user to upload files. This only

    # has an effect if the above global write enable is activated. Also, you will

    # obviously need to create a directory writable by the FTP user.

    #anon_upload_enable=YES

    允许匿名用户上传文件

    # Uncomment this if you want the anonymous FTP user to be able to create

    # new directories.

    #anon_mkdir_write_enable=YES

    允许匿名用户创建新目录

    # Activate directory messages - messages given to remote users when they

    # go into a certain directory.

    dirmessage_enable=YES

    允许为目录配置显示信息,显示每个目录下面的message_file文件的内容

    # Activate logging of uploads/downloads.

    xferlog_enable=YES

    开启日记功能

    # Make sure PORT transfer connections originate from port 20 (ftp-data).

    connect_from_port_20=YES

    使用标准的20端口来连接ftp

    # If you want, you can arrange for uploaded anonymous files to be owned by

    # a different user. Note! Using "root" for uploaded files is not

    # recommended!

    #chown_uploads=YES

    所有匿名上传的文件的所属用户将会被更改成chown_username

    #chown_username=whoever

    匿名上传文件所属用户名

    # You may override where the log file goes if you like. The default is shown

    # below.

    #xferlog_file=/var/log/vsftpd.log

    日志文件位置

    # If you want, you can have your log file in standard ftpd xferlog format

    xferlog_std_format=YES

    使用标准格式

    # You may change the default value for timing out an idle session.

    #idle_session_timeout=600

    空闲连接超时

    # You may change the default value for timing out a data connection.

    #data_connection_timeout=120

    数据传输超时

    # It is recommended that you define on your system a unique user which the

    # ftp server can use as a totally isolated and unprivileged user.

    #nopriv_user=ftpsecure

    当服务器运行于最底层时使用的用户名

    # Enable this and the server will recognise asynchronous ABOR requests. Not

    # recommended for security (the code is non-trivial). Not enabling it,

    # however, may confuse older FTP clients.

    #async_abor_enable=YES

    允许使用"async ABOR"命令,一般不用,容易出问题

    # By default the server will pretend to allow ASCII mode but in fact ignore

    # the request. Turn on the below options to have the server actually do ASCII

    # mangling on files when in ASCII mode.

    # Beware that on some FTP servers, ASCII support allows a denial of service

    # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd

    # predicted this attack and has always been safe, reporting the size of the

    # raw file.

    # ASCII mangling is a horrible feature of the protocol.

    #ascii_upload_enable=YES

    管控是否可用ASCII 模式上传。默认值为NO

    #ascii_download_enable=YES

    管控是否可用ASCII 模式下载。默认值为NO

    # You may fully customise the login banner string:

    #ftpd_banner=Welcome to blah FTP service.

    login时显示欢迎信息.如果设置了banner_file则此设置无效

    # You may specify a file of disallowed anonymous e-mail addresses. Apparently

    # useful for combatting certain DoS attacks.

    #deny_email_enable=YES

    如果匿名用户需要密码,那么使用banned_email_file里面的电子邮件地址的用户不能登录

    # (default follows)

    #banned_email_file=/etc/vsftpd/banned_emails

    禁止使用匿名用户登陆时作为密码的电子邮件地址

    # You may specify an explicit list of local users to chroot() to their home

    # directory. If chroot_local_user is YES, then this list becomes a list of

    # users to NOT chroot().

    #chroot_list_enable=YES

    如果启动这项功能,则所有列在chroot_list_file中的使用者不能更改根目录

    # (default follows)

    #chroot_list_file=/etc/vsftpd/chroot_list

    定义不能更改用户主目录的文件

    # You may activate the "-R" option to the builtin ls. This is disabled by

    # default to avoid remote users being able to cause excessive I/O on large

    # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume

    # the presence of the "-R" option, so there is a strong case for enabling it.

    #ls_recurse_enable=YES

    是否能使用ls -R命令以防止浪费大量的服务器资源

    # When "listen" directive is enabled, vsftpd runs in standalone mode and

    # listens on IPv4 sockets. This directive cannot be used in conjunction

    # with the listen_ipv6 directive.

    listen=YES

    绑定到listen_port指定的端口,既然都绑定了也就是每时都开着的,就是那个什么

    standalone模式

    # This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6

    # sockets, you must run two copies of vsftpd whith two configuration files.

    # Make sure, that one of the listen options is commented !!

    #listen_ipv6=YES

    pam_service_name=vsftpd

    定义PAM 所使用的名称,预设为vsftpd

    userlist_enable=YES

    若启用此选项,userlist_deny选项才被启动

    tcp_wrappers=YES

    开启tcp_wrappers支持

    anonymous_enable=YES

    local_enable=YES

    write_enable=YES

    local_umask=022

    #anon_upload_enable=YES

    #anon_mkdir_write_enable=YES

    dirmessage_enable=YES

    xferlog_enable=YES

    connect_from_port_20=YES

    #chown_uploads=YES

    #chown_username=whoever

    #xferlog_file=/var/log/vsftpd.log

    xferlog_std_format=YES

    #idle_session_timeout=600

    #data_connection_timeout=120

    #nopriv_user=ftpsecure

    #async_abor_enable=YES

    #ascii_upload_enable=YES

    #ascii_download_enable=YES

    #ftpd_banner=Welcome to blah FTP service.

    #deny_email_enable=YES

    #banned_email_file=/etc/vsftpd/banned_emails

    #chroot_list_enable=YES

    #chroot_list_file=/etc/vsftpd/chroot_list

    #ls_recurse_enable=YES

    listen=YES

    #listen_ipv6=YES

    pam_service_name=vsftpd

    userlist_enable=YES

    tcp_wrappers=YES

  • 相关阅读:
    Sql获取表中随机1到n条数据
    SQLite相关
    Eclipse自动生成api时报错“警告: 编码 GBK 的不可映射字符”
    Git基础命令
    Oracle查询结果行转列,列转行
    字符串编码方式转换
    Java字符串匹配正则表达式
    python爬虫--编码问题y
    GET与POST方法
    python爬虫(1)--Urllib库的基本使用
  • 原文地址:https://www.cnblogs.com/duanlinxiao/p/10950076.html
Copyright © 2011-2022 走看看