精华内容
下载资源
问答
  • yum客户端: yum客户端可通过FTP或HTTP这类网络协议来访问yum服务器,缓存下yum服务器上提供的缓存数据文件,通过这份文件获取需要的软件包,然后去服务器一次性下载安装,解决依赖性问题。 准备工作 以确保实验的...

    yum的工作机制
    yum服务器: yum服务器的作用主要是为yum客户机提供访问,上面提供了用户所需的所有RPM软件包,并且会根据这些软件包生成一份元数据repodate,这里面记录有所有软件包的信息,以及依赖关系等。

    yum客户端: yum客户端可通过FTP或HTTP这类网络协议来访问yum服务器,缓存下yum服务器上提供的缓存数据文件,通过这份文件获取需要的软件包,然后去服务器一次性下载安装,解决依赖性问题。

    准备工作
    以确保实验的成功。由于yum服务器是在局域网里面为众多的客户机提供访问服务,所以要在防火墙上打开相应的访问端口,客户机才能进行访问,如果不在防火墙上打开相应的端口或关闭防火墙,即使服务器配置成功,客户机也无法进行访问。所以为了实验的简单易懂 关闭Linux上的两大安全堡垒,防火墙和SELinux。

    1.关闭防火墙
    systemctl disable firewalld.service 禁止防火墙自启动
    systemctl stop firewalld.service 关闭防火墙服务
    iptables -L 验证防火墙是否成功关闭

    2.关闭SElinux
    vim /etc/selinux/config 编辑SELinux配置文件
    SELINUX=enforcing 更改参数,设置SELINUX=disable

    setenforce 0 设置监控模式为许可状态
    getenforce 验证设置是否生效,设置生效后执行命令后会回显"permissive"

    安装FTP服务
    做完准备工作后,就可开始搭建的第一步,安装vsftpd软件包,搭建ftp服务器

    mkdir /mnt/cdrom 创建挂载点
    mount /dev/sr0 /mnt/cdrom/ 挂载光盘到挂载点
    df -h 查看挂载,检查光盘是否挂载成功
    rpm -ivh /mnt/cdrom/Packages/vsftpd-3.0.2-21.el7.x86_64.rpm 使用rpm安装FTP服务

    rpm -ql vsftpd 检查安装的服务
    执行rpm -ql vsftpd 命令,确保下面两个文件是存在的。
    /usr/lib/systemd/system/vsftpd.service
    /var/ftp

    systemctl start vsftpd 启动ftp服务
    ss -tnl 21端口打开,验证服务开启

    LISTEN 0 32 :::21 ::😗

    systemctl enable vsftpd 设为开机自动启动ftp服务

    配置yum服务器
    完成上面的步骤后ftp就搭建成功了,可以开始配置yum服务器了。生产环境内部有可能存在多个版本的系统,所以可以多建几个yum源,放在不同的目录下,供不同版本的系统使用。这里我以centos7
    为例,创建个yum源

    1.在/var/ftp/pub/下建立两个存放yum源的目录
    mkdir -p /var/ftp/pub/centos7

    2.将centos7的安装光盘内的软件拷贝到对应目录下
    cp -r /mnt/cdrom/* /var/ftp/pub/centos7

    3.设置完成后我们可在浏览器里访问我们设置好的yum服务器,方式如下:ftp:\localhost/pub/ (IP地址)

    配置yum客户端
    在设置完成服务器之后就可以进行客户端的配置,配置好客户端之后,便可以利用yum服务器进行安装了。

    1.创建配置文件
    进入到/etc/yum.repos.d/目录中,删除原有配置文件或者移到其他位置,创建一个名为base.repo的文件,并进行编辑。
    cd /etc/yum.repos.d/
    rm -rf * 或 mv /etc/yum.repos.d/* ./repo
    vim /etc/yum.repos.d/base.repo

    2.编辑配置文件
    在配置文件里写入以下内容,就可以完成配置了。
    [base] yum仓库名
    name=描述
    baseurl=访问yum源的路径
    enabled=yum仓库是否启用
    gpgcheck=是否检验软件合法性

    注:
    [local]
    name=CentOS yum install
    baseurl=ftp://192.168.1.254/pub/centos7/
    enabled=1
    gpgcheck=0
    这样一个简单的VSFTP搭建完成

    在这里插入图片描述

    展开全文
  • 问题3、向ftp服务器传图片只能传入ftpuser的根目录不能传入下级目录的问题 解决:出现该问题的原因是访问FTP服务器时用了ftp用户名和密码,获取的是该ftp用户的权限,而服务器根目录下的文件夹权限是属于root的,...

    参考:https://www.cnblogs.com/lgjava/p/13134936.html

    问题1、Filezilla客户端无法访问

    在站点配置如下加密方式:

    问题2、VSFTP服务器报错导致连接不上或验证不通过

    可尝试在etc/pam.d目录下注释掉第四行

    问题3、向ftp服务器传图片只能传入ftpuser的根目录不能传入下级目录的问题

    解决:出现该问题的原因是访问FTP服务器时用了ftp用户名和密码,获取的是该ftp用户的权限,而服务器根目录下的文件夹权限是属于root的,所以没有获得权限,可通过如下命令改变文件夹权限

    附:

    # 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=NO
    #
    # Uncomment this to allow local users to log in.
    # When SELinux is enforcing check for SE bool ftp_home_dir
    local_enable=YES
    #
    # Uncomment this to enable any form of FTP write command.
    write_enable=YES
    #
    # 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.
    # When SELinux is enforcing check for SE bool allow_ftpd_anon_write, allow_ftpd_full_access
    #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
    #
    # Activate logging of uploads/downloads.
    xferlog_enable=YES
    #
    # Make sure PORT transfer connections originate from port 20 (ftp-data).
    connect_from_port_20=YES
    #
    # 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=whoever
    #
    # You may override where the log file goes if you like. The default is shown
    # below.
    #xferlog_file=/var/log/xferlog
    #
    # If you want, you can have your log file in standard ftpd xferlog format.
    # Note that the default log file location is /var/log/xferlog in this case.
    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
    #
    # 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. The vsftpd.conf(5) man page explains
    # the behaviour when these options are disabled.
    # 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_download_enable=YES
    #
    # You may fully customise the login banner string:
    #ftpd_banner=Welcome to blah FTP service.
    #
    # You may specify a file of disallowed anonymous e-mail addresses. Apparently
    # useful for combatting certain DoS attacks.
    #deny_email_enable=YES
    # (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().
    # (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
    # the user does not have write access to the top level directory within the
    # chroot)
    chroot_local_user=YES
    #chroot_list_enable=YES
    # (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
    #
    # 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=NO
    #
    # This directive enables listening on IPv6 sockets. By default, listening
    # on the IPv6 "any" address (::) will accept connections from both IPv6
    # and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
    # sockets. If you want that (perhaps because you want to listen on specific
    # addresses) then you must run two copies of vsftpd with two configuration
    # files.
    # Make sure, that one of the listen options is commented !!
    listen_ipv6=YES
    
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=YES
    
    user_sub_token=$USER
    local_root=/home/$USER/packets
    pasv_min_port=9500
    pasv_max_port=10000
    

     

     

    展开全文
  • 目录 1)vsftpd简介 2)安装vsftpd 3)firewalld防火墙和selinux设置 4)运行,登录 5)局域网登录 ...6)认识vsftpd软件配置文件 ...FTP,File transfer protocol的缩写,中文叫文本传输协议,是...

    ( 更新日志:
    时间:2019年1月12日
    事件:
    1、在目录7第4点修改了错误。pam_service_name=vsftpd.virtual修改为vsftpd。
    2、在目录7第5点增加了配置选项:write_enable=YES,解决无法读取目录的问题。
    3、在目录6vsftpd.conf配置文件中添加以下配置选项,解决云服务器被动模式无法登录的问题,提示,要在云服务器平台安全策略那里开放40000~40080的端口。一个人用的话就用主动模式,把pasv_enable=YES改为NO。
    pasv_enable=YES
    pasv_min_port=40000
    pasv_max_port=40080
    pasv_promiscuous=YES

    目录

    1)vsftpd简介
    2)安装vsftpd
    3)firewalld防火墙和selinux设置
    4)运行,登录
    5)局域网登录
    6)认识vsftpd软件配置文件
    7)设置虚拟账号登录
    8)认识vsftpd传输模式
    9)500 OOPS:priv_sock_get_cmd错误
    10)参考文献

    一、vsftpd简介

    FTP,File transfer protocol的缩写,中文叫文本传输协议,是用于在网络上进行文件传输的一套标准协议,属于网络传输协议的应用层。注意,它是协议,不是软件,今天搭建的vsftpd是基于FTP开发的一套程序,也是一款在Linux发行版中最受推崇的FTP服务器程序,特点是小巧轻快,安全易用。

    二、安装vsftpd

    yum install vsftpd
    

    三、firewall防火墙和selinux设置

    firewall-cmd  --list-services //查看防火墙允许的服务。
    firewall-cmd  --zone=public --add-service=ftp  --permanent //永久开放ftp服务
    firewall-cmd  --zone=public --add-port=20/tcp  --permanent
    firewall-cmd  --zone=public --add-port=21/tcp  --permanent //允许外网访问
    firewall-cmd --reload //重新载入配置
    setsebool ftpd_full_access 1  //selinux设置
    setsebool tftp_home_dir 1
    

    四、运行,登录

    useradd test
    passwd test
    ftp localhost
    

    输入账号密码,成功登录。
    如果你的服务器没有ftp,yum install ftp就搞定了。
    ftp localhost

    五、局域网测试

    Centos下的网卡设置是在/etc/sysconfig/network-scripts/这个文件夹下,进入该文件夹,前缀为ifcfg-后面跟的就是网卡的名称。
    默认的话是开启dhcp的,首先把BOOTPROTO="dhcp"改成BOOTPROTO="static"表示静态获取。之后在写进以下配置:

    IPADDR=192.168.1.6
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=192.168.1.1
    BROADCAST设置的是局域网广播地址,IPADDR就是静态IP,NETMASK是子网掩码,
    GATEWAY就是网关或者路由地址,DNS就是域名系统地址,
    这里用的就是本地网关,也可以设置其它,比如谷歌、360DNS地址。
    systemctl restart network //重启网络服务
    ip addr或者ifconfig //查看ip地址。
    接下来在windows平台用FileZilla Client软件登陆。
    

    这里有些朋友会使用虚拟机测试,但是按照上面配置后发现链接不了,那是因为虚拟机的网络连接模式的影响。这里有一个简单的方法,就是直接获取虚拟机里面系统的ip地址,然后在FileZilla客户端填入。
    ftp 局域网登录
    设置被动连接登录成功
    系统账号默认登陆是在账号的家目录,可以切换到其它目录。
    到这里,基本的vsftpd搭建成功。

    六、认识vsftpd配置文件vsftpd.conf

    主程序:/usr/sbin/vsftpd
    主配置文件:/etc/vsftpd/vsftpd.conf
    数据根目录:/var/ftp
    就算是经验丰富的老手也会做好备份工作。

    cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
    

    做好备份

    anonymous_enable=NO //设定不允许匿名访问
    local_enable=YES //设定本地用户可以访问。
    write_enable=YES //设定可以进行写操作。
    local_umask=022 //设定上传后文件的权限掩码。 
    anon_upload_enable=NO //禁止匿名用户上传。 
    anon_mkdir_write_enable=NO //禁止匿名用户建立目录。 
    dirmessage_enable=YES //设定开启目录标语功能。
    xferlog_enable=YES //设定开启日志记录功能。
    connect_from_port_20=YES //设定端口20进行数据连接。(主动模式)
    chown_uploads=NO //设定禁止上传文件更改宿主。
    #chown_username=whoever
    xferlog_file=/var/log/xferlog //设定Vsftpd的服务日志保存路径。
    xferlog_std_format=YES //设定日志使用标准的记录格式。
    #idle_session_timeout=600 //设定空闲连接超时时间,单位为秒,这里默认。 
    #data_connection_timeout=120 //设定空闲连接超时时间,单位为秒,这里默认。 
    #nopriv_user=ftptest 
    async_abor_enable=YES //设定支持异步传输功能。
    ascii_upload_enable=YES 
    ascii_download_enable=YES //设定支持ASCII模式的上传和下载功能。 
    ftpd_banner=Welcome to blah FTP service. //设定Vsftpd的登陆标语。 
    #deny_email_enable=YES // (default follows) 
    #banned_email_file=/etc/vsftpd/banned_emails 
    Chroot_local_user=YES
    chroot_list_enable=YES //禁止用户登出自己的FTP主目录。
    chroot_list_file=/etc/vsftpd/chroot_list //这个文件里的用户不受限制,不限制在本目录。
    ls_recurse_enable=NO //禁止用户登陆FTP后使用"ls -R"的命令。该命令会对服务器性能造成巨大开销。
    #listen=NO 
    #listen_ipv6=YES
    userlist_enable=YES //设定userlist_file中的用户将不得使用FTP。
    tcp_wrappers=YES //设定支持TCP Wrappers
    allow_writeable_chroot=YES //这个可以解决chroot权限问题
    pasv_enable=YES
    pasv_min_port=40000
    pasv_max_port=40080
    pasv_promiscuous=YES
    systemctl restart vsftpd //重启vsftpd服务
    

    登录成功

    注意,“/”在这里就是用户账号的家目录,并不是系统的根目录

    七、vsftpd虚拟用户的使用

    vsftpd提供了三种认证方式,分别是:匿名用户认证、本地用户认证和虚拟用户认证。上面test用户就是本地用户。从安全的角度来说,虚拟用户最安全,接下来,我们开始配置虚拟用户。
    虚拟用户配置步骤:
    1) 建立虚拟FTP用户数据库文件。
    2) 创建FTP根目录及虚拟用户映射的系统用户。
    3) 建立支持虚拟用户的PAM认证文件。
    4) 在vsftpd.conf中添加支持配置。
    5) 为虚拟用户设置权限。
    6) 虚拟账号登录。

    1. 建立虚拟FTP用户数据库文件

    建立了一个虚拟用户名单文件,这个文件就是来记录vsftpd虚拟用户的用户名和口令的数据文件,我这里给它命名为vuser.list,保存在/etc/vsftpd/目录下。

     vim vuser.list
    

    一行账号,一行密码

    vuser
    123456
    

    安装Berkeley DB

    yum install db4*
    

    安装后生成用户数据库;

    db_load -T -t hash -f vuser.list  vuser.db//生成用户加密文件
    chmod 600 vuser.db  //敏感文件限制只允许属主读写
    
    1. 创建虚拟用户及虚拟用户的家目录
    useradd -d /var/vusers -s /sbin/nologin vftp  //创建系统用户vftp,并制定其家目录为/var/vusers
    chmod -Rf 755 /var/vusers/  //修改目录的权限使得其他用户也可以访问。
    
    1. 建立支持虚拟用户的PAM认证文件

    vsftpd的pam文件在/etc/pam.d/目录下,先做备份工作。

    cp vsftpd vsftpd.bak
    vim vsftpd
    

    先注释掉所有的内容后添加以下内容.

    auth required /lib64/security/pam_userdb.so  db=/etc/vsftpd/vuser //此句用于检查用户密码,数据库文件不要写后缀.db 
    account required /lib64/security/pam_userdb.so  db=/etc/vsftpd/vuser //此句用于检查用户是否在有效期内,数据库支持虚拟用户的PAM认证文件。
    
    1. 在vsftpd.conf中添加支持配置
    guest_enable=YES  //开启虚拟用户模式
    guest_username=vftp  //指定虚拟用户账号
    pam_service_name=vsftpd //指定pam文件
    user_config_dir=/etc/vsftpd/vusers_profile  //指定虚拟用户的权限配置目录。
    virtual_use_local_privs=NO  //虚拟用户和匿名用户有相同的权限
    
    1. 为虚拟用户设置不同的权限。
    mkdir /etc/vsftpd/vusers_profile //新建虚拟用户目录
    vim /etc/vsftpd/vusers_profile/vuser//新建虚拟用户配置文件,文件名要和上面的虚拟用户名单里的账号名字对等。
    local_root=/var/vusers/vuser  //虚拟账号的家目录
    write_enable=YES
    anonymous_enable=NO
    local_umask=022
    anon_upload_enable=YES  //上传权限
    anon_mkdir_write_enable  //创建文件和目录的权限
    anon_other_write_enable  //删除文件和目录的权限
    anon_world_readable_only=YES //当文件的“其他人”有读权限的时候可以下载
    download_enable=YES //下载权限
    

    保存配置,重启服务。
    systemctl restart vsftpd

    1. 虚拟账号登录
      虚拟用户登录

    登录成功

    八、认识vsftpd传输模式

    1. 主动模式
      FTP 主动模式
      在主动模式下,FTP客户端从任意端口5150(端口号>1023)发起一个FTP请求,并携带自己监听的端口号5151(发送的端口号+1=监听端口号);随后服务器返回确认,然后从服务器本地的20端口主动发起连接请求到客户端的监听端口5151,最后客户端返回确认。
    2. 被动模式
      FTP 被动模式
      在被动模式中,命令连接和数据连接都由客户端来发起,如上图所示,客户端用随机命令端口5150向服务器的21命令端口发送一个PASV请求,然后服务器返回数据端口3267,告诉客户端我在哪个端口监听数据连接。然后客户端向服务器的监听端口3268发起数据连接,最后服务器回复确认。
      vsftpd默认是被动模式。所以客户端要设置被动模式连接,如果到现在还没连接成功的看客户端有没有设置被动传输模式。
      再次提醒一遍,云服务器,例如阿里云平台,你需要在安全策略那里开放端口。通常你在本地配置可以使用,但在云服务器上发现不行,可以从日志文件、防火墙、selinux这几块入手。

    九、500 OOPS:priv_sock_get_cmd错误

    网上很多说是selinux设置问题,我按照他们的都改了,但是还是不行。最后我发现问题是出在pam文件里。
    auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
    account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
    如果你是64位,你需要添加的/lib64/,我遇到的问题就这么的解决了。

    十、参考文献

    vsftpd 配置:chroot_local_user与chroot_list_enable详解
    virtual_use_local_privs 参数
    vmware虚拟机三种网络模式详解

    如果哪里有写错的,请指出来,谢谢。
    一起学习,一起讨论。

    展开全文
  • Centos7.5搭建FTP服务

    千次阅读 2019-01-08 14:39:35
    前言:前期在我自己搭建FTP时,也曾在百度上搜索了一段时间,但是百度上的步骤要么理得不清,要么就是错误的。就像是一篇写着Centos7以上版本的FTP搭建,却用着iptables防火墙步骤,在7版本以上其实默认使用的是...

    前言:前期在我自己搭建FTP时,也曾在百度上搜索了一段时间,但是百度上的步骤要么理得不清,要么就是错误的。就像是一篇写着Centos7以上版本的FTP搭建,却用着iptables防火墙步骤,在7版本以上其实默认使用的是firewall作为防火墙,以下是我整理,且配置成功的步骤,若有不足或错误,请大家指出,谢谢大家。

    一、FTP的安装

    1.安装

    yum install -y vsftpd
    

    2.设置开机启动

    systemctl enable vsftpd
    

    3.启动及停止

    systemctl start vsftpd
    
    systemctl stop vsftpd
    

    4.查看状态

    systemctl status vsftpd
    

    二、配置FTP

    5.打开配置文件

    vim /etc/vsftpd/vsftpd.conf
    

    6.显示行号

    :set number
    

    7.修改配置

    #修改配置 12 行

    anonymous_enable=NO
    

    #修改配置 33 行

    anon_mkdir_write_enable=YES
    

    #修改配置48行

    chown_uploads=YES
    

    #修改配置72行

    async_abor_enable=YES
    

    #修改配置82行

    ascii_upload_enable=YES
    

    #修改配置83行

    ascii_download_enable=YES
    

    #修改配置86行

    ftpd_banner=Welcome to blah FTP service.
    

    #修改配置100行

    chroot_local_user=YES
    

    #添加下列内容到vsftpd.conf末尾
    #ftp时间和系统同步,如果启动有错误,请注释掉

    use_localtime=YES
    

    #ftp端口

    listen_port=21
    

    #超时设置

    idle_session_timeout=300
    

    #空闲1秒后服务器断开

    data_connection_timeout=1
    

    #设定本地用户可以访问。
    注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问

    local_enable=YES
    

    #设定启用虚拟用户功能。

    guest_enable=YES
    

    #指定虚拟用户的宿主用户(这个是我们后面要新建的用户)

    guest_username=vsftpd
    

    #设定虚拟用户个人Vsftp的配置文件存放路径。

    user_config_dir=/etc/vsftpd/vconf
    

    #当该参数激活(YES)时,虚拟用户使用与本地用户相同的权限

    virtual_use_local_privs=YES
    

    #设置被动模式的端口范围

    pasv_min_port=50270
    

    #设置被动模式的端口范围

    pasv_max_port=50274
    

    #保持5秒

    accept_timeout=5
    

    #1秒后重新连接

    connect_timeout=1
    
    allow_writeable_chroot=YES
    

    三、创建远程登录FTP的账户

    8、新建系统用户vsftpd(虚拟用户的宿主用户),用户目录为/home/vsftpd

    useradd vsftpd -d /home/vsftpd -s /bin/false
    
    chown -R vsftpd:vsftpd /home/vsftpd
    

    9、建立用户(虚拟用户,登录ftp用的)文件
    #创建编辑用户文件

    vim /etc/vsftpd/virtusers
    

    #第一行为用户名,第二行为密码。不能使用root作为用户名

    ftpuser
    123456
    

    10、建立虚拟用户个人配置文件

    mkdir /etc/vsftpd/vconf
    
    cd /etc/vsftpd/vconf
    

    #这里建立虚拟用户ftpuser配置文件

    touch ftpuser
    

    #编辑ftpuser用户配置文件,内容如下,其他用户类似

    vim ftpuser
    

    local_root=/home/www/root/ #该用户登录ftp所展现的目录(可随便指定web根目录下的文件夹,我这里指定的就是web根目录)

    write_enable=YES
    
    anon_world_readable_only=NO
    
    anon_upload_enable=YES
    
    anon_mkdir_write_enable=YES
    
    anon_other_write_enable=YES
    

    11、生成用户数据文件

    db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
    

    #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取

    chmod 600 /etc/vsftpd/virtusers.db
    

    注:如果你添加虚拟用户或者修改虚拟用户配置文件(即9、10两步),都要重新执行11,
    重新生成一下用户数据文件,并重启vsftpd

    12、修改 /etc/pam.d/vsftpd 文件
    修改前先备份

    cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
    
    vi /etc/pam.d/vsftpd
    

    #先将配置文件中原有的 auth 及 account 的所有配置行均注释掉

    auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers 
    
    account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers 
    

    如果系统为32位,上面改为lib

    四、防火墙的配置

    13、防火墙设置(更多请看本文末尾)
    IPtables 的设置方式(Centos7以下版本):

    vi /etc/sysconfig/iptables
    

    #编辑iptables文件,添加如下内容,开启21端口

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
    
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 40000:40010 -j ACCEPT
    

    firewall 的设置方式(Centos7以上版本):

    firewall-cmd --zone=public --add-service=ftp --permanent
    
    firewall-cmd --zone=public --add-port=21/tcp --permanent
    
    firewall-cmd --zone=public --add-port=40000-40010/tcp --permanent
    

    注:两种方式用其一,看你的系统有哪个就用哪个,40000-40010是ftp被动链接的端口返回,如果
    你的服务器是第三方提供的,比如阿里云,美橙,如果他们有指定的端口范围,就用他们指定的。

    14、重启vsftpd服务器

    systemctl restart vsftpd.service
    

    15、使用ftp工具连接测试

    这个时候,使用ftp的工具连接时,我们发现是可以连接的。传输文件的时候,会发现文件上传和下载都会出现
    500、503 、200等问题。这个时候,可以进行以下操作:

    方式一、关闭SELINUX
    #打开SELINUX配置文件

    vim /etc/selinux/config
    

    #修改配置参数
    #注释

    SELINUX=enforcing
    

    #增加

    SELINUX=disabled
    

    #修改完成后,需要重启系统!

    方式二、 SELINUX不对vsftp不做任何限制

    setsebool -P ftpd_connect_all_unreserved 1
    

    到这里就完成了,试试能不能用FTP登录到你的服务器?

    附:Centos7以上版本的firewall防火墙的基本命令和配置。
    1、firewalld的基本使用命令
    启动: systemctl start firewalld
    关闭: systemctl stop firewalld
    查看状态: systemctl status firewalld
    开机禁用 : systemctl disable firewalld
    开机启用 : systemctl enable firewalld
    2、Centos7.5版本的firewall防火墙的打开80(或其他)端口
    (1)、查看80端口是否打开:

    firewall-cmd --query-port=80/tcp
    

    (2)、永久打开80端口

    firewall-cmd --add-port=80/tcp --permanent
    

    (3)、重新载入配置

    firewall-cmd --reload
    

    (4)、关闭防火墙

    systemctl stop firewalld 
    

    (5)、开启防火墙

    systemctl start firewalld
    

    (6)、查看80端口是否开放,显示successful即为成功

    firewall-cmd --query-port=80/tcp
    

    3、若想用iptables防火墙
    (1)、安装iptables配置文件

    yum install iptables-services
    

    (2)、编辑配置文件

    vi /etc/sysconfig/iptables
    

    (3)、往22端口下增加

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
    
    展开全文
  • 安装了一台CentOS7.5,字符界面,为方便上传文件到这台机器上,拟采用FTP服务上传和下载文件,在CentOS上搭建vsftpd服务环境。 记录我的安装过程,供有需要的人参考。 一、系统环境 1、安装FTP服务的机器操作系统...
  • centos 7.5安装配置FTP服务器

    万次阅读 2018-11-26 10:40:25
    centos 7默认是没有开启FTP服务的,我们必须手动开启。 具体安装开启步骤如下: 安装vsftpd yum -y install vsftpd # -y表示不用输入确定,直接一路安装到底 设置开机启动ftp systemctl enable vsftpd 启动...
  • Centos7搭建FTP服务器

    2020-09-30 04:37:49
    作为前端工程师,要想在中国有一席之地,你不得不作出不可能的努力,把自己变成一个全能的人。...所以下面我们变来聊聊的服务器的配置,在本文中我们要介绍的是在 Centos 7 下安装及配置 FTP 服务。
  • vsftpd搭建ftp服务器 centos7.5,自己踩坑安装了,写下文档供大家下载学习,分数只是为了自己下载东西,内含vsftp安装包。不通用户有自己的用户目录。
  • 环境:centos7.5 防火墙关闭状态 yum -y install samba #安装samba useradd -s /sbin/nologin hufeng #新建用户hufeng,但是不能让此用户登陆系统 pdbedit -a hufeng #设置samba用户密码 配置文件修改 vim /etc/...
  • Centos7.5 搭建FTP服务

    2020-03-31 16:22:30
    Centos7.5 搭建FTP服务1.安装FTP2.配置FTP3.建立用户文件4.生成用户数据文件5.修改 /etc/pam.d/vsftpd 文件6.生成主目录,修改权限7.建立虚拟用户个人配置文件 1.安装FTP #查看ftp 是否安装 rpm -qa | grep vftpd ...
  •  # wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tar.xz # 获取新版的 python  # tar xvf Python-3.8.0.tar.xz # 解压文件  # cd ./Python-3.8.0 # 进入解压后的文件目录  # mkdir /...
  • CentOS7.5 防火墙关闭状态 二、安装samba和介绍 1、samba安装 yum -y install samba 2、samba登录验证模式,即samba的安全级别 验证模式 介绍 备注 share 匿名验证模式 user(默认) 本地用户验证模式 ...
  • 最近买了个华为云做一些服务器学习,下面分享下搭建ftp服务器遇到的流程和遇到的问题,我的系统是CentOS 7.5 1、安装vsftpd 执行以下命令安装vsftpd,命令为 :yum install -y vsftpd ,如果出现下面图片则说明...
  • 基础服务--CentOS7.5--FTP服务

    千次阅读 2018-07-20 01:14:51
    基础服务--CentOS7.5--FTP服务 在linux集群环境中,能够为用户提供社区贡献的服务,印象中有这么几个。 ①NFS ②samba ③FTP 有人会说,samba是微软研发的,跟linux有什么关系。作者在这里告诉大家,服务不分家,...
  • 一、安装ftp服务器 1.通过yum命令安装 yum install vsftpd 2.安装成功之后就是配置ftp用户比如zhangsan useradd -g root -d /home/wwwroot -s /sbin/nologin zhangsan 如果提示目录已存在,不需要理会,继续...
  • yum -y install ftp 2.修改配置文件 vi /etc/vsftpd/vsftpd.conf # 不支持匿名访问 anonymous_enable=NO # 所有用户都被限制在其主目录下 chroot_local_user=YES chroot_list_enable=NO allow_writeable_...
  • CentOS 7.5 环境下安装 Nginx 记录 Linxu 云服务器各种环境部署的点点滴滴~ 一、下载 Nginx 1.1 安装包安装 Nginx 下载 Nginx 安装步骤自行百度即可,比如菜鸟教程跟着步骤一步一步走,但是相对麻烦 1.2 包管理工...
  • CentOSCentOS Linux release 7.5.1804 (Core) Linux version 3.10.0-862.14.4.el7.x86_64 vsftpd:vsftpd-3.0.2-29.el7_9.x86_64 pam:pam-1.1.8-22.el7.x86_64 目录安装备份配置匿名账户登陆本地账户登陆方式...
  • CentOS 系统搭建ftp

    2017-12-16 21:56:25
    CentOS 系统搭建ftp
  • 基于 CentOS 7 搭建服务器环境一、搭建 Java Web 环境1.1 安装 JDK1.2 安装 Tomcat 71.3 MySQL 安装 记录服务器环境搭建的基本流程 一、搭建 Java Web 环境 配置 JDK 安装 Tomcat 安装 MySQL 1.1 安装 JDK 先查看...
  • 大家好,今天来给大家分享一个基于centos 7的ftp服务器搭建 实现功能:匿名访问,本地登录 查看系统版本: [root@localhost ~]# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) 查看本地ip地址 ...
  • 此用户就是用来登录ftp服务器用的。命令如下: useradd ftpuser 这样一个用户建完,可以用这个登录,记得用普通登录不要用匿名了。登录后默认的路径为/home/ftpuser 三、 给ftp用户添加密码 执行以下命令,设置...
  • 给个衷心的建议给初次接触Linux的萌新:不要用yum安装LNMP,不要去看那些单独的搭建...我的配置:腾讯云centos7.5 前言:可以说我为了解决这个php404。。把所有能查的网上资料都查了,把能排的坑都排了,搞了整整3...
  • 用 vsftpd 配置FTP服务器 vsftpd 的所有选项 注意,如果要所有人同时编辑 FTP 上的所有文件,可以将 vsftpd.conf 配置文件中的 local_umask 选项设置为 002,并且在创建用户时通过 -g ftp 将所有的 FTP 用户加入同...
  • rsync的服务端和客户端搭建 首先要看看有没有rsync,没有就按装一个rsync rpm -qa |grep rsync 没有就用yum安装一个, yum install rsync 1配置文件 然后创建rsyncd.conf文件,并添加如下内容(文件默认不...
  • 文章目录CentOS 7.5 安装KVM虚拟机(Windows)一、KVM环境搭建二、网桥搭建三、VNC环境搭建四、虚拟机安装五、VNC端口说明六、KVM命令解释 一、KVM环境搭建 1.检测系统是否支持 cat /proc/cpuinfo | egrep 'vmx|svm' ...
  • CentOS7 搭建FTP服务器

    2018-11-01 12:28:53
    本文来记录一下自己的虚拟机CentOS7搭建FTP服务器的过程 用到了vsftpd,如果没有需要安装 1、本机虚拟机系统 [root@centos7 pub]# uname -a Linux centos7.5 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC ...
  • 下载nginx和vsftpd[下载也可以通过二进制包的方式,这里用yum] yum install nginx vsftpd -y 修改相关的配置文件 ...关闭匿名登录FTP # Allow anonymous FTP? (Beware - allowed by default if you co...
  • Centos7 ftp服务搭建

    2018-05-10 15:56:42
    1、安装vsftpd yum install -y vsftpd 2、修改vsftpd配置文件...// 禁用,如果启用,ftp会运行单一模式,只能运行在ipv4 listen=NO // ftp可以运行在ipv4和ipv6下 listen_ipv6=YES // 取消匿名登录 an...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 510
精华内容 204
关键字:

centos7.5搭建ftp服务器