精华内容
下载资源
问答
  • centos7 ftp安装与配置
    千次阅读
    2022-04-19 14:56:05

    ================================

    ©Copyright 蕃薯耀 2022-04-19

    蕃薯耀的博客_CSDN博客

    一、安装FTP服务端

    yum  install -y vsftpd

    安装ftp客户端(可省略)

    yum  install -y ftp

    二、FTP服务配置

    1、进入FTP配置文件目录

    cd /etc/vsftpd

    2、备份配置文件vsftpd.conf和去掉所有注释

    mv vsftpd.conf vsftpd.conf.bak
    grep -v "#" vsftpd.conf.bak > vsftpd.conf 

    3、编辑配置文件

    vi vsftpd.conf

    修改的内容

    
    #修改
    #是否支持匿名用户,默认YES,改成NO表示需要用户名密码登录不允许匿名登录
    anonymous_enable=NO
    
    #匿名上传。首先,文件系统上用户的家目录,要具备写权限。其次,ftp服务器要开启允许匿名上传的配置
    anon_upload_enable=YES
    
    #以下取消注释
    #允许匿名用户上传,建立目录
    anon_mkdir_write_enable=YES
    
    #默认只能下载全部读的文件。这句话的意思是说,如果启动了这句话,则匿名用户只能下载所有用户都具备读权限的文件。如果有一个文件,有一个用户不剧本读权限,匿名用户就不能够下载。
    anon_world_readable_only=YES
    
    #匿名用户能否删除和修改上传的文件
    anon_other_write_enable=YES
    
    #指定匿名上传文件的umask值。umask的值可以直接影响到上传文件的权限。
    anon_umask=077
    
    #指定上传文件的默认的所有者和权限。 完成了这些指定之后,匿名用户上传的元数据就是我们指定的那些内容。
    chown_uploads=YES
    #chown_username=wang
    #chown_upload_mode=0644
    
    #所有系统用户都映射成guest用户,但是映射的guest账户,需要人为地去指定下。
    #guest_enable=YES
    #guest_username=vsftpd
    
    #是否允许Linux用户登陆,默认是允许的,当然也可以禁止。
    local_enable=YES
    
    #是否允许Linux用户上传文件,如果用户默认允许登陆的话,linux用户登陆成功之后,默认位于自己的家目录,这时是允许上传文件的。 如果将下面的这句话,改成no,则服务拒绝linux用户上传文件,即便位于自己的家目录也不可以。
    #write_enable=YES
    
    #指定系统用户上传文件的默认权限
    #local_umask=022
    
    #非匿名用户登录所在目录,当使用Linux用户登陆成功之后,就不会默认在自己的家目录了。相反,会位于下面指定的目录里。
    #local_root=/ftproot
    
    #禁锢所有的用户在家目录中的意思是说,用户登陆成功之后,不能够随意切换目录,只能够在自己的家目录中进行操作。
    chroot_local_user=YES
    
    #ASCII码支持
    async_abor_enable=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    
    #登录提示信息
    ftpd_banner=Welcome to FTP server.  
    # 这一句话优先生效
    #banner_file=/etc/vsftpd/ftpbanner.txt
    
    #设置是否使用当地时间。默认就是YES
    use_localtime=YES
    
    #虚拟用户建立独立的配置文件
    user_config_dir=/etc/vsftpd/conf
    
    listen_port=21
    virtual_use_local_privs=YES
    
    ##被动模式端口
    pasv_min_port=40000
    pasv_max_port=40010
    
    # 被动模式数据连接超时时长,时间单位是秒
    accept_timeout=10
    #主动模式数据连接超时时长,时间单位是秒
    connect_timeout=10
    #数据连接无数据输超时时长,时间单位是秒
    data_connection_timeout=300
    # 无命令操作超时时长,时间单位是秒
    idle_session_timeout=300
    
    allow_writeable_chroot=YES

    三、创建虚拟用户

    创建虚拟用户,是为了避免FTP用户直接登录到服务器

    1、创建虚拟用户配置文件

    vi ftp_user.conf

    增加内容:奇数行是账号,偶数行是密码,下面第一行是账号,第二行是密码

    ftpuser
    ftpuser123

    2、加密虚拟用户配置文件

    db_load -T -t hash -f ftp_user.conf ftp_user.db

    如果没有db_load命令,需要安装:yum install db4 db4-utils

    改变权限和删除未加密的配置

    chmod 600 ftp_user.db
    rm -f  ftp_user.conf

    3、修改FTP的访问权限

    先备份

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

    修改权限文件

    vi /etc/pam.d/vsftpd

    先将配置文件中原有的 auth 及 account 的所有配置行均注释掉(不注释掉虚拟用户会登录不上),添加两行信息

    auth required pam_userdb.so db=/etc/vsftpd/ftp_user
    account required pam_userdb.so db=/etc/vsftpd/ftp_user

    4、增加虚拟用户,只能登录FTP,不能登录后台

    useradd -d /home/ftpuser -s /sbin/nologin ftpuser

    修改文件夹的拥有者

    chown -R ftpuser:ftpuser /home/ftpuser

    5、虚拟用户配置文件

    创建虚拟用户配置文件目录

    mkdir -p /etc/vsftpd/conf


    创建虚拟用户的配置文件(ftpuser文件和刚才创建的数据库文件的用户名必须一致)

    vi /etc/vsftpd/conf/ftpuser

    增加的内容:

    
    #用户的默认登陆目录。也就是FTP用户登陆成功之后的默认路径。
    local_root=/home/ftpuser/ftpuser
    write_enable=YES
    anon_world_readable_only=NO
    #虚拟用户上传权限
    anon_upload_enable=YES
    #虚拟用户创建文件夹
    anon_mkdir_write_enable=YES
    ## 虚拟的其他用户对指定用户目录的写权限
    anon_other_write_enable=YES

    创建FTP传输目录,对应上面的 local_root 配置项

    mkdir -p /home/ftpuser/ftpuser
    chown ftpuser:ftpuser /home/ftpuser/ftpuser
    chmod 775 /home/ftpuser/ftpuser

    四、开放FTP端口和FTP服务

    firewall-cmd --permanent --zone=public --add-service=ftp
    firewall-cmd --permanent --zone=public --add-port=21/tcp 
    
    #被动模式的端口
    firewall-cmd --permanent --zone=public --add-port=40000-40010/tcp
    
    #重新加载生效
    firewall-cmd --reload
    firewall-cmd --list-all
    firewall-cmd --zone=public --list-ports

    五、FTP启动和设置自动启动

    #启动
    systemctl start vsftpd
    #设置自动启动
    systemctl enable vsftpd
    #查看状态
    systemctl status vsftpd.service
    #重启
    systemctl restart vsftpd

    六、FTP访问地址

    ftp://192.168.10.100/

    七、错误解决

    1、500 OOPS: vsftpd: cannot locate user specified in 'guest_username':vsftpd

    
    注释下面的配置
    #guest_enable=YES
    #guest_username=vsftpd

    八、其它命令

    #安装filezilla
    yum install -y filezilla
    运行filezilla
    filezilla &
    
    #Selinux方式:查看防火墙状态
    getenforce
    
    #permissive表示:放任的;纵容的;姑息的;
    
    #临时关闭:setenforce 0
    setenforce 0 ->permissive
    
    #永久关闭:vim /etc/sysconfig/selinux
    将selinux=cnforcing改为selinux=disable
    
    
    Firewall
    1.关闭防火墙:service firewalld stop
    
    2.关闭防火墙:systemctl stop firewalld.service
    
    3.禁止防火墙开机启动:systemctl disable firewalld.service
    
    4,查看防火墙状态:firewall-cmd --state

     (时间宝贵,分享不易,捐赠回馈,^_^)

    ================================

    ©Copyright 蕃薯耀 2022-04-19

    蕃薯耀的博客_CSDN博客

    更多相关内容
  • CentOS7 FTP安装与配置

    2019-04-11 12:05:13
    自己利用一天时间在Linux系统上安装ftp服务,期间出现各种问题,最终解决,实现了ftp上传下载文件,包含具体步骤,每一行直接执行命令即可,简单明了
  • 1. 安装vsftpd最新版 [lidengyin@ldy ~]$ sudo yum -y install vsftpd 2. 在根目录下新建一个文件夹ftpfile [lidengyin@ldy /]$ sudo mkdir ftpfile 4. 添加vsftpd虚拟用户,使用上面的ftpfile作为根目录,无登录...
  • Centos7 ftp安装配置

    2017-11-13 17:29:28
    Centos7 ftp安装配置 配置信息详解 vsftpd 安装详细过程
  • 安装配置vsftpd做FTP服务,我们的Web应用使用git管理进行迭代,公共文件软件存储使用开源网盘Seafile来管理,基本够用。想不到FTP的使用的场景,感觉它好像老去了,虽然现在基本没有用到这个工具,但刚好公司公司刷...
  • Centos7搭建FTP服务器

    2020-09-30 04:37:49
    作为前端工程师,要想在中国有一席之地,你不得不作出不可能的努力,把自己变成一个全能的人。...所以下面我们变来聊聊的服务器的配置,在本文中我们要介绍的是在 Centos 7安装配置 FTP 服务。
  • 0、检测服务器是否已经...一、安装与配置FTP 1、安装 #安装命令:yum install -y vsftpd #设置开机启动:systemctl enable vsftpd.service #启动、重启、停止以及查看ftp状态:systemctl start vsftpd.service sys...

    0、检测服务器是否已经安装了ftp,命令:rpm -qa | grep ftp  如果出现了ftp版本说明已经安装成功

    一、安装与配置FTP

    1、安装

    #安装命令:
    yum install -y vsftpd
    #设置开机启动:
    systemctl enable vsftpd.service
    #启动、重启、停止以及查看ftp状态:
    systemctl start vsftpd.service
    systemctl restart vsftpd.service
    systemctl stop vsftpd.service
    systemctl status vsftpd.service

    2、配置FTP

    #打开配置文件
    vim /etc/vsftpd/vsftpd.conf

    #显示行号
    :set number

    #修改配置 12 行
    anonymous_enable=NO

    #修改配置 33 行
    anon_mkdir_write_enable=YES

    #修改配置48行
    chown_uploads=YES

    #修改配置72行
    async_abor_enable=YES

    #修改配置83行
    ascii_upload_enable=YES

    #修改配置84行
    ascii_download_enable=YES

    #修改配置87行
    ftpd_banner=Welcome to blah FTP service.

    #修改配置101行
    chroot_local_user=YES

    #添加下列内容到vsftpd.conf末尾
    use_localtime=YES
    listen_port=21
    idle_session_timeout=300
    guest_enable=YES
    guest_username=vsftpd
    user_config_dir=/etc/vsftpd/vconf
    data_connection_timeout=1
    virtual_use_local_privs=YES
    pasv_min_port=40000
    pasv_max_port=40010
    accept_timeout=5
    connect_timeout=1
    allow_writeable_chroot=YES

    3、建立用户文件

    #创建编辑用户文件
    vim /etc/vsftpd/virtusers
    #第一行为用户名,第二行为密码。不能使用root作为用户名 
    ftpuser
    123456

    4、生成用户数据文件

    db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
    #设定PAM验证文件,并指定对虚拟用户数据库文件进行读取
    chmod 600 /etc/vsftpd/virtusers.db 
    

    5、修改 /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
    #(我系统64位也是这么配置的,可以)

    6、新建系统用户vsftpd,用户目录为/home/vsftpd

    #用户登录终端设为/bin/false(即:使之不能登录系统)
    useradd vsftpd -d /home/vsftpd -s /bin/false
    chown -R vsftpd:vsftpd /home/vsftpd

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

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

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

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

    local_root=/home/vsftpd/ftpuser/
    write_enable=YES
    anon_world_readable_only=NO
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES


    #建立leo用户根目录
    mkdir -p /home/vsftpd/ftpuser/

    8、防火墙设置

    如果防火墙开启则需配置防火墙,没开启的话跳过即可。

    IPtables 的设置方式:
    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 的设置方式:
    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

    9、重启vsftpd服务器

    systemctl restart vsftpd.service

     

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

    方式①、关闭SELINUX

    #打开SELINUX配置文件
    vim /etc/selinux/config

    #修改配置参数
    #注释  
    SELINUX=enforcing

    #增加  
    SELINUX=disabled

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

    方式②、修改SELINUX

    setenforce 0 #暂时让SELinux进入Permissive模式

    #列出与ftp相关的设置
    getsebool -a|grep ftp

    #以下是显示出来的权限,off是关闭权限,on是打开权限。不同的机器显示的可能不一样。我看了我的显示的,和网上其他教程就不太一样
    ftp_home_dir --> off
    ftpd_anon_write --> off
    ftpd_connect_all_unreserved --> off
    ftpd_connect_db --> off
    ftpd_full_access --> off
    ftpd_use_cifs --> off
    ftpd_use_fusefs --> off
    ftpd_use_nfs --> off
    ftpd_use_passive_mode --> off
    httpd_can_connect_ftp --> off
    httpd_enable_ftp_server --> off
    sftpd_anon_write --> off
    sftpd_enable_homedirs --> off
    sftpd_full_access --> off
    sftpd_write_ssh_home --> off
    tftp_anon_write --> off
    tftp_home_dir --> off

    #将包含有 ftp_home_dir 和 ftpd_full_access 相关的都设置为 1

    setsebool -P ftp_home_dir 1
    setsebool -P allow_ftpd_anon_write 1
    setsebool -P ftp_home_dir 1

    setenforce 1 #进入Enforcing模式

    方式③、 SELINUX不对vsftp不做任何限制
    setsebool -P ftpd_connect_all_unreserved 1
     
    这个时候再使用工具连接,你发现,就可以正常的上传和下载文件了。


    如果还是有问题尝试给我们用户的ftp目录,设置一下操作权限:
    chmod -R 775 /home/vsftpd/ftpuser

    此处转载文章:cnblogs.com/haiyabtx/p/10762745.html

    二、使用连接工具连接ftp测试

    我是用的是WinSCP:

    连接成功之后,拖拉上传文件显示553错误:Could not create file。

    设置操作权限:chmod -R 777 /home/vsftpd/ftpuser 便可上传下载文件

    三、Linux直接登录ftp

    使用命令:ftp +ip回车之后输入ftp用户名和密码等待连接即可,但是我输入:ftp 139.0.0.1之后,总显示:-bash: ftp: command not found,无法使用ftp命令,上网查了之后说是ftp命令没有安装,通过yum方式安装ftp命令:

    yum -y install ftp

    安装完成之后再用ftp命令即可登入

    ls查看ftp里面的文件,help可以看ftp常用命令

    如果输入命令后显示Not connected.应该是断开连接了,quit或bye退出重新登一下或重启一下vsftpd

    which vsftpd #查看安装目录

     

    展开全文
  • Centos7安装ftp

    2017-10-12 10:32:34
    Centos7.1环境下安装ftpftp简单配置、用户创建及权限配置
  • 主要介绍了CentOS 7安装配置proftpd搭建ftp服务器的详细教程,需要的朋友可以参考下
  • CentOS安装FTP配置用户.doc
  • centos离线安装ftp配置用户
  • 一般我们在安装完系统后都会自动安装了vsftp服务了,但是有时候还是得需要自己动手的,比如这两天就在给我朋友配置了一下,顺手把过程记录下来,以便需要的时候查阅或者给需要的朋友提供方便:) 1. 安装 使用...
  • 主要介绍了CentOS8.0 安装配置ftp服务器的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建。FTP服务器需要安装vsftp服务端软件。我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问...
  • centos8或centos7配置FTP重点在在配置文件中开放浏览器访问端口组,防火墙开放21端口和浏览器访问端口组。 阿里云配置FTP重点在于安全组中开放21端口和浏览器访问端口组。 防火墙个人习惯开firewalld,不开SELinux。...
  • 目录Background1、安装2、修改配置 `/etc/vsftpd/vsftpd.conf`3、配置虚拟用户文件 `/etc/vsftpd/virtusers`4、生成用户数据文件5、修改配置文件 `/etc/pam.d/vsftpd`6、新建系统用户`vsftpd`,配置用户目录7、新建...

    Background

    • 安装记录,方便以后自己使用。
    • vsftpd是“very secure TTP daemon”的缩写,是一个完全免费的、开放源代码的ftp服务器软件,在Linux发行版中最受推崇的ftp服务器程序,小巧轻快,安全易用,支持虚拟用户,支持带宽限制等功能。

    1、安装

    #安装
    yum install -y vsftpd
    
    #设置开机启动
    systemctl enable vsftpd.service
    
    #启动
    systemctl start vsftpd.service
    
    #停止
    systemctl stop vsftpd.service
    
    #查看状态
    systemctl status vsftpd.service
    

    2、修改配置 /etc/vsftpd/vsftpd.conf

    # 12 行
    anonymous_enable=NO
    
    # 33 行
    anon_mkdir_write_enable=YES
    
    # 48行
    chown_uploads=YES
    
    # 72行
    async_abor_enable=YES
    
    # 83行
    ascii_upload_enable=YES
    
    # 84行
    ascii_download_enable=YES
    
    # 87行
    ftpd_banner=Welcome to blah FTP service.
    
    # 101行
    chroot_local_user=YES
    
    # 最末尾添加下列内容
    use_localtime=YES
    listen_port=21
    idle_session_timeout=300
    guest_enable=YES
    guest_username=vsftpd
    user_config_dir=/etc/vsftpd/vconf
    data_connection_timeout=1
    virtual_use_local_privs=YES
    pasv_min_port=40000
    pasv_max_port=40010
    accept_timeout=5
    connect_timeout=1
    allow_writeable_chroot=YES
    

    3、配置虚拟用户文件 /etc/vsftpd/virtusers

    # 奇数行为用户名,偶数行为密码。不能使用root作为用户名 
    wlf
    12345
    

    4、生成用户数据文件

    db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
    
    # 设定PAM验证文件,并指定对虚拟用户数据库文件进行读取
    chmod 600 /etc/vsftpd/virtusers.db 
    

    5、修改配置文件 /etc/pam.d/vsftpd

    如果系统为32位,下面动态库的目录改为lib

    # 修改前先备份 
    cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
    
    # 先将配置文件中原有的 auth 及 account 的所有配置行均注释掉,再添加下面两行
    auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers 
    account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers 
    

    6、新建系统用户vsftpd,配置用户目录

    # 用户登录终端设为/bin/false(即:使之不能登录系统)
    useradd vsftpd -d /home/vsftpd -s /bin/false
    chown -R vsftpd:vsftpd /home/vsftpd
    

    7、新建虚拟用户 wlf 配置文件

    # 创建虚拟用户配置存放目录
    mkdir /etc/vsftpd/vconf
    
    #这里建立虚拟用户wlf配置文件
    cd /etc/vsftpd/vconf
    touch wlf
    
    #编辑wlf用户配置文件,添加内容如下,其他用户类似
    local_root=/home/vsftpd/wlf/
    write_enable=YES
    anon_world_readable_only=NO
    anon_upload_enable=YES
    anon_mkdir_write_enable=YES
    anon_other_write_enable=YES
    

    8、配置用户 wlf 根目录

    mkdir -p /home/vsftpd/wlf/
    chown -R vsftpd:vsftpd /home/vsftpd
    

    9、重启vsftpd服务器

    systemctl restart vsftpd.service
    

    10、使用ftp工具连接测试

    在这里插入图片描述

    11、增添用户等自动化脚本

    该脚本实现了用户的添加、删除、查看已有用户和查看用户密码等功能。

    #!/bin/bash
    
    # 输入参数:操作、用户名和密码
    operate=$1
    username=$2
    password=$3
    
    # 用户配置
    user_home_dir=/home/vsftpd/$username/
    user_conf_file=/etc/vsftpd/vconf/$username
    user_pwd_file=/etc/vsftpd/virtusers
    
    # 提示信息
    s1="If query user, please input param 【list】"
    s2="\n If query user password, please input param 【secret <username>】"
    s3="\n If create user, please input param 【add <username> <password>】"
    s4="\n If delete user, please input param 【del <username>】"
    msg="$s1$s2$s3$s4"
    
    function custom_print(){
        echo -e "\033[5;34m ***** \033[0m"
        echo -e "\033[32m $@ ! \033[0m"
        echo -e "\033[5;34m ***** \033[0m"
    }
    
    # 查看已有用户
    function list_user(){
        cat -n $user_pwd_file | awk '{if($1%2==1){print $2}}'
    }
    
    # 查看用户密码
    function secret_user(){
        n0=`cat -n $user_pwd_file | grep $username | awk '{print $1}'`
    	let n1=n0+1
        cat -n $user_pwd_file | awk -v num=$n1 '{if($1==num){print $2}}'
    }
    
    # 添加用户
    function add_user(){
        # 1、在用户文件中添加用户名和密码
        cat <<EOF >> /etc/vsftpd/virtusers
    $username
    $password
    EOF
        # 2、更新用户数据
        db_load -T -t hash -f $user_pwd_file /etc/vsftpd/virtusers.db
        # 3、建立用户个人配置文件
        cp /etc/vsftpd/vconf/default $user_conf_file
        sed -i "s/default/$username/" $user_conf_file
        # 4、建立用户根目录
        mkdir -p $user_home_dir
        chown -R vsftpd:vsftpd /home/vsftpd
        # 5、重启vsftpd服务器
        systemctl restart vsftpd.service
        msg="User 【$username】 created successfully"
        custom_print $msg
    }
    
    # 删除用户
    function del_user(){
        rm -rf $user_home_dir
        rm -rf $user_conf_file
        # 获取用户所在配置文件的行号
        n1=$(cat -n $user_pwd_file | grep $username | awk '{print $1}')
        let n2=$n1+1
        # 删除那一行和下面的一行,用户名和密码
        sed -i "${n1},${n2}d" $user_pwd_file
        # 更新用户数据
        db_load -T -t hash -f $user_pwd_file /etc/vsftpd/virtusers.db
        msg="User 【$username】 deleted successfully"
        custom_print $msg
    }
    
    # 判断输入参数
    if [[ -z $operate || $operate = "help" ]]; then
        custom_print $msg
    elif [[ $operate = "add" ]]; then
        if [[ -z $password || -z $username ]]; then
            msg="Please input the username and password"
            custom_print $msg
        else
            add_user
        fi
    elif [[ $operate = "del" ]]; then
    	if [[ -z $username ]]; then
            msg="Please input the username"
            custom_print $msg
        else
            del_user
        fi
    elif [[ $operate = "list" ]]; then
    	list_user
    elif [[ $operate = "secret" ]]; then
        if [[ -z $username ]]; then
            msg="Please input the username"
            custom_print $msg
        else
            secret_user
        fi
    else
        custom_print $msg
    fi
    

    在这里插入图片描述

    展开全文
  • Linux Centos7安装配置FTP服务

    千次阅读 2022-04-25 21:21:30
    文章目录1、FTP简介2、安装FTP软件包3、配置FTP服务器4、启动vsftpd服务5、云平台访问策略6、主动模式和被动模式 1、FTP简介 ftp(File Transfer Protocol文件传输协议)是基于TCP/IP 协议的应用层协议,用于文件的...

    1、FTP简介

    ftp(File Transfer Protocol文件传输协议)是基于TCP/IP 协议的应用层协议,用于文件的传输,包括ftp服务器(或服务端)和ftp客户端。

    ftp客户端与服务器创建网络连接,请求登录服务器,登录成功后,就可以进行文件传输,主要包括开载文件和上传文件两种操作

    2、安装FTP软件包

    1、安装ftp服务端

    yum -y install vsftpd
    

    2、安装ftp客户端

    yum -y install ftp
    

    3、配置FTP服务器

    tp的传输模式有被动模式和主动式两种,缺省是被动模式,主动模式的应用场景极少,下面只使用被动模式

    1、关闭SELINUX

    修改/etc/selinux/config文件,把SELINUX参数的值改为disabled。

    重启Linux或者执行setenforce 0 使修改马上生效

    2、配置ftp数据端口参数

    ftp的数据端口也称为高端口,在/etc/vsftpd/vsftpd.conf文件中配置,由pasv_min_port和pasv_max_port两个参数指定,如果文件中没有这两个参数,手工的加进去。

    pasv_min_port=5000   # 高端口范围的最小值。
    pasv_max_port=5500   # 高端口范围的最大值
    

    3、开通防火墙
    1)开通防火墙的方法有两种:

    firewall-cmd --zone=public --add-service=ftp --permanent
    

    2)开通ftp服务需要的端口,21是控制端口,5000-5500是数据端口范围,也就是上一节中在/etc/vsftpd/vsftpd.conf文件中配置的pasv_min_port和pasv_max_port参数

    firewall-cmd --zone=public --add-port=21/tcp --permanent
    firewall-cmd --zone=public --add-port=5000-5500/tcp --permanent
    

    重启防火墙

    systemctl restart firewalld.service
    

    4、启动vsftpd服务

    systemctl start    vsftpd   # 启动服务。
    systemctl stop    vsftpd    # 停止服务。
    systemctl restart vsftpd    # 重启服务。
    systemctl status  vsftpd    # 查看服务状态。
    systemctl enable  vsftpd    # 启用开机自动动vsftpd服务。
    systemctl disable vsftpd    # 禁用开机自动动vsftpd服务。
    

    5、云平台访问策略

    需要登录云服务器提供商的管理平台开通访问策略(或安全组),开通21和高端口的访问策略。

    如果云服务器的ftp服务不能建立数据会话,在百度中输入“被动模式下FTP不能建立数据会话问题“可以找到解决问题的方法,目前的阿里云服务器就存在这个问题。

    6、主动模式和被动模式

    ftp有两种模式,分别是port模式(主动模式)和pasv模式(被动模式)。

    1、主动模式

    客户端给服务端的21端口发命令说:我要输传文件,我已经打开了自己的20端口,您向我的20端口发起TCP连接,我们来传输文件。服务端知道后,就会主动向客户端的20端口发起连接,连接成功后开始传输文件。

    在这里插入图片描述

    在主动模式下,ftp请求是由客户端TCP连接的;传输数据的时候,TCP连接却是由服务端发起的。

    2、被动模式

    客户端给服务器端的21端口发命令说:我要传输文件。服务器端知道后打开一个空闲的高端口,然后告诉客户端,我已经打开了某某端口,您向我这个端口发起TCP连接,然后我们用这个端口来传输文件。

    在这里插入图片描述

    在被动模式下,不管是ftp命令,还是传输数据,都是由客户端向服务端发起TCP连接。

    3、从主动模式到被动模式

    很久以前每台电脑都有一个ip地址,ftp只有主动模式,后来出现了共享上网技术,所以也就有了下面的问题。
    共享上网就是多台电脑共享一个公网ip去使用internet,例如某个局域网出口的公网ip是210.33.25.108,当内网用户(192.168.1.100)访问外网的ftp服务器时,如果采用主动模式,192.168.1.100告诉了ftp服务器我需要某个文件和我打开了20端口之后,由于共享上网的原因,192.168.1.100在出网关的时候ip已经被转换成了210.33.25.108,所以ftp服务器端收到的消息是210.33.25.108需要某个文件并打开了20端口,ftp服务器就会尝试连接210.33.25.108的20端口,这样当然不会成功。
    在主动模式中,ftp的两个端口是相对固定的,如果命令端口是n的话,那数据端口就是n-1,也就是说默认情况下,命令端口是21,数据端口就是20,如果您把ftp服务的端口改成了521,那么数据端口就是520,这样配置防火墙很方便,只需要开通两个端口就可以了。但是,在共享上网的环境中无法使用主动模式。
    在被动模式中,默认情况下命令端口是21,数据端口是随机分配的。但是,被动模式中数据端口的范围可以配置,防火墙也可以配置端口范围
    
    展开全文
  • FTP Centos
  • 主要介绍了Centos7 ftp环境搭建,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • 阿里云ECS服务器Linux CentOS7安装与配置vsftpd 1. 查看是否安装vsftp rpm –qa|grep vsftpd 2. 安装vsftp yum -y install vsftpd 3. 配置vsftpd服务 vim /etc/vsftpd/vsftpd.conf 按 i 键进入编辑模式 vsftpd.conf ...
  • centos 搭建ftp服务器 1.安装vsftpd sudo yum install vsftpd 2.配置vsftpd.conf # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=NO # When SELinux is ...
  • Linux(centos7)安装FTP服务

    千次阅读 2022-01-26 18:44:11
    Linux(centos7)安装FTP服务
  • FTP配置
  • CentOS7安装ftp服务器用于保存服务端上传的图片。 1、CentOS卸载vsftpd的方法 如果服务器上已经安装了vsftpd服务,配置出错需要卸载vsftpd服务。 1.1 查找vsftpd服务 [root@localhost /]# rpm -aq vsftpd 返回...
  • 1、安装ftp服务器yum -y install vsftpd2、安装ftp客户端yum -y install ftp三、配置ftp服务器ftp的传输模式有被动

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 73,931
精华内容 29,572
关键字:

centos7 ftp安装与配置