Centos6.8搭建FTP服务器(vsftpd 2.2.2)

  1. 安装vsftpd

    yum  install -y vsftpd
    
  2. 配置文件说明

    /etc/vsftpd/vsftpd.conf 			#核心配置文件。
    /etc/vsftpd/ftpusers 				#黑名单文件,此文件里的用户不允许访问 FTP 服务器。
    /etc/vsftpd/user_list 				#白名单文件,是允许访问 FTP 服务器的用户列表。
    /etc/vsftpd/vsftpd_conf_migrate.sh  #vsftpd操作的一些变量和设置
    备注:使用命令 rpm -ql vsftpd  可列出vsftpd中包含的文件
    
  3. 配置本地用户登录

    本地用户登录就是指用户使用 Linux 操作系统中的用户账号和密码登录 FTP 服务器。

    vsftpd 安装后默认只支持匿名 FTP 登录,用户如果试图使用 Linux 操作系统中的账号登录服务器,将会被 vsftpd 拒绝,但可以在 vsftpd 里配置用户账号和密码登录。命令如下:

    useradd -s /sbin/nologin -d /home/data/hs1 hs1
    passwd hs1   #输入两次密码
    #用户和工作组管理 nologin命令可以实现礼貌地拒绝用户登录系统,同时给出信息。如果尝试以这类用户登录,就在log里添加记录,然后在终端输出This account is currently not available信息,就是这样。一般设置这样的帐号是给启动服务的账号所用的,这只是让服务启动起来,但是不能登录系统。 
    
  4. 配置vsftpd配置文件,这里是关键点

    [root@FTPAP /]# ls /etc/vsftpd/
    chroot_list  ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
    #首先了解vsftpd主配置文件vsftpd.conf,更全面的功能和选项介绍参见vsftpd.conf.5的man page页面,使用命令行man vsftpd.conf
    vim /etc/vsftpd/vsftpd.conf
    修改对应的值如下:
    anonymous_enable=NO 		#禁止匿名用户登录,默认允许 
    local_enable=YES			#允许本地实体用户登录 
    write_enable=YES 			#允许用户上传数据,开启写权限 
    local_umask=022 			#对本地用户建立新目录(755)与文件(644)的权限,上传文件的权限掩码  
    dirmessage_enable=YES 		#若登录目录下有.message则会显示该文件内容 可以自己在登录目录下创建.message文件并写入信息 
    xferlog_enable=YES 			#启动日志文件记录,默认记录于/var/log/vsftpd.log,可用使用vsftpd_log_file改写 
    xferlog_file=/var/log/xferlog
    connect_from_port_20=YES 	#支持主动式连接功能,默认20,可用使用ftp_data_port指定为其他端口号 
    xferlog_std_format=YES 		#支持WuFTP的日志文件格式 
    local_root=/home/test 		#限制登录用户只能在/home/test目录下操作,该用户一登录就切换到该目录下面 
    chroot_local_user=YES 		#(全局性)将所有用户访问范围限制在主目录,YES为限制 NO表示不限制。默认为不限制
    chroot_list_enable=YES 		#是否启用list 列表里的用户作为例外
    listen=YES 					#使用stand alone方式启动vsftpd 
    pam_service_name=vsftpd 	#支持PAM模块的管理
    userlist_enable=YES 		#支持/etc/vsftpd/user_list文件内的账号登录控制,禁止其登陆
    tcp_wrappers=YES 			#支持TCP Wrappers的防火墙机制
    这里为了安全,我们可以编辑 user_list这个文件,把禁止通过FTP登录系统的账号添加进去。这样的话,这些账户尝试远程登录的时候。会被拒绝登录。
    
    实际修改配置项如下
    anonymous_enable=NO
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    
    新建一个文件/etc/vsftpd/chroot_list,因为上面的配置文件,在其中增加hs1
    
  5. chroot_local_user 和 chroot_list_enable 两个小冤家

    • 默认新建ftp用户是可以访问除主目录以外其他路径,如果要设置访问权限,在/etc/vsftpd/vsftpd.conf 里面修改参数,让chroot_list_enable=YES 规则生效

      chroot_local_user=YES 表示,(全局性)将所有用户访问范围限制在主目录,YES为限制 NO表示不限制。默认为不限制

      chroot_list_enable=YES 表示,是否启用list 列表里的用户作为例外。默认为不限制

      chroot_list_file=/etc/vsftpd/chroot_list

    • chroot_local_user YES 时,chroot_list_enable=YES时, 所有用户都可以ftp连接,限制在主目录下面。 启用chroot_list_file里面的用户名单,作为例外,不限制访问范围

      chroot_local_user=NO 时,chroot_list_enable=YES 时,所有用户都可以ftp连接,不限制范围。启用chroot_list_file里面的用户名单,作为例外,限制访问范围在主目录

      chroot_local_user=NO 时,chroot_list_enable=NO 时,所有用户可以ftp连接,不限制范围。不启用 chroot_list_file里面的用户名单,没有例外

      chroot_local_user =YES 时,chroot_list_enable=NO 时,所有用户可以ftp连接,限制在主目录下。不启用chroot_list_file里面的用户名单,没有例外

  6. 开机启动

    chkconfig vsftpd on
    chkconfig vsftpd --list    #查看vsftpd启动项
    
  7. 开始服务

    service vsftpd start
    
  8. 停止服务

    service vsftpd stop
    
  9. 查看FTP端口

    netstat -yulnp | grep vsftpd
    
  10. 安装ftp客户端组件

    yum -y install ftp
    ftp localhost  #localhost 也可以是ftp服务器ip地址
    #输入用户和密码,如果登陆成功,说明ftp服务可用了。
    
  11. FTP常用命令介绍

    如果没有远程机的专用登录帐号,许多ftp站点设有可以使用的特殊帐号。这个帐号的登录名为anonymous(也称为匿名ftp),当使用这一帐号时,要求输入email地址作为口令。
    如果远程系统提供匿名ftp服务,用户使用这项服务可以登录到特殊的,供公开使用的目录。一般专门提供两个目录:pub目录和incoming目录。pub目录包含该站点供公众使用的所有文件,incoming目录存放上载到该站点的文件。
    一旦用户使用ftp在远程站点上登录成功,将得到“ftp>”提示符。现在可以自由使用ftp提供的命令,可以用 help命令取得可供使用的命令清单,也可以在 help命令后面指定具体的命令名称,获得这条命令的说明。

    最常用的命令有:
    ls 列出远程机的当前目录
    cd 在远程机上改变工作目录
    lcd 在本地机上改变工作目录
    ascii 设置文件传输方式为ASCII模式
    binary 设置文件传输方式为二进制模式
    close 终止当前的ftp会话
    hash 每次传输完数据缓冲区中的数据后就显示一个#号
    get(mget) 从远程机传送指定文件到本地机
    put(mput) 从本地机传送指定文件到远程机
    open 连接远程ftp站点
    exit 断开与远程机的连接并退出ftp
    ? 显示本地帮助信息
    ! 转到Shell中

    常用命令说明
    ◆启动ftp会话
    open命令用于打开一个与远程主机的会话。该命令的一般格式是:
    open 主机名/IP
    如果在ftp 会话期间要与一个以上的站点连接,通常只用不带参数的ftp命令。如果在会话期间只想与一台计算机连接,那么在命令行上指定远程主机名或IP地址作为ftp命令的参数。
    ◆终止ftp会话
    close、disconnect、和bye命令用于终止与远程机的会话。close和disronnect命令关闭与远程机的连接,但是使用户留在本地计算机的ftp程序中。和bye命令都关闭用户与远程机的连接,然后退出用户机上的ftp 程序。
    ◆改变目录
    “cd [目录]”命令用于在ftp会话期间改变远程机上的目录,lcd命令改变本地目录,使用户能指定查找或放置本地文件的位置。
    ◆远程目录列表
    ls命令列出远程目录的内容,就像使用一个交互shell中的ls命令一样。ls命令的一般格式是:
    ls [目录] [本地文件]
    如果指定了目录作为参数,那么ls就列出该目录的内容。如果给出一个本地文件的名字,那么这个目录列表被放入本地机上您指定的这个文件中。
    ◆从远程系统获取文件
    get和mget命令用于从远程机上获取文件。get命令的一般格式为:
    get 文件名
    您还可以给出本地文件名,这个文件名是这个要获取的文件在您的本地机上创建时的文件名。如果您不给出一个本地文件名,那么就使用远程文件原来的名字。
    mget命令一次获取多个远程文件。mget命令的一般格式为:
    mget 文件名列表
    使用用空格分隔的或带通配符的文件名列表来指定要获取的文件,对其中的每个文件都要求用户确认是否传送。
    ◆向远程系统发送文件
    put和mput命令用于向远程机发送文件。Put命令的一般格式为:
    put 文件名
    mput命令一次发送多个本地文件,mput命令的一般格式为:
    mput 文件名列表
    使用用空格分隔的或带通配符的文件名列表来指定要发送的文件。对其中的每个文件都要求用户确认是否发送。
    ◆改变文件传输模式
    默认情况下,ftp按ASCII模式传输文件,用户也可以指定其他模式。ascii和brinary命令的功能是设置传输的模式。用ASCII模式传输文件对纯文本是非常好的,但为避免对二进制文件的破坏,用户可以以二进制模式传输文件。
    ◆检查传输状态
    传输大型文件时,可能会发现让ftp提供关于传输情况的反馈信息是非常有用的。hash命令使ftp在每次传输完数据缓冲区中的数据后,就在屏幕上打印一个#字符。本命令在发送和接收文件时都可以使用。
    ◆ftp中的本地命令
    当您使用ftp时,字符“!”用于向本地机上的命令shell传送一个命令。如果用户处在ftp会话中,需要shell做某些事,就很有用。例如用户要建立一个目录来保存接收到的文件。如果输入!mkdir new_dir,那么Linux就在用户当前的本地目录中创建一个名为new_dir 的目录。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CentOS 7.9搭建FTP服务器的步骤如下: 1. 首先,确保已经安装了vsftpd软件包。可以通过以下命令来安装:`sudo yum install vsftpd`。 2. 安装完成后,启动vsftpd服务。使用以下命令启动服务:`sudo systemctl start vsftpd`。 3. 接下来,设置vsftpd服务开机自启动。使用以下命令来设置:`sudo systemctl enable vsftpd`。 4. 默认情况下,匿名用户是不允许访问FTP服务器的。如果需要允许匿名用户访问,可以编辑vsftpd的配置文件`/etc/vsftpd/vsftpd.conf`,并找到配置项`anonymous_enable`,将其设置为`YES`。 5. 配置本地用户的访问权限。在vsftpd的配置文件中,可以通过添加以下配置来设置本地用户的访问权限: ``` userlist_enable=YES userlist_file=/etc/vsftpd/user_list userlist_deny=NO ``` 然后,创建`/etc/vsftpd/user_list`文件,并在文件中添加允许访问FTP服务器的本地用户的用户名。 6. 设置FTP服务器的根目录。默认情况下,FTP用户的根目录位于`/var/ftp`目录下。如果需要修改根目录,可以编辑vsftpd的配置文件,并找到配置项`local_root`,将其设置为所需的目录。 7. 最后,重启vsftpd服务以应用配置的更改。使用以下命令来重启服务:`sudo systemctl restart vsftpd`。 完成上述步骤后,CentOS 7.9上的FTP服务器搭建完成。您可以使用FTP客户端来连接并访问该服务器,具体的连接配置取决于您使用的FTP客户端。 ### 回答2: CentOS 7.9 系统可以使用 vsftpd(Very Secure FTP Daemon)来搭建 FTP 服务器。下面是基本的步骤: 1. 使用管理员身份登录到 CentOS 7.9 服务器。 2. 打开终端,并使用以下命令安装 vsftpd: ``` sudo yum install vsftpd ``` 3. 安装完成后,使用以下命令启动 vsftpd 服务,并设置开机自启动: ``` sudo systemctl start vsftpd sudo systemctl enable vsftpd ``` 4. 接下来,需要配置 vsftpd。使用以下命令编辑配置文件: ``` sudo vi /etc/vsftpd/vsftpd.conf ``` 在文件中,你可以根据需要进行以下设置: - 禁用匿名用户:将 `anonymous_enable=YES` 修改为 `anonymous_enable=NO`。 - 启用本地用户登录:取消注释(删除行首的 `#`)`local_enable=YES`。 - 允许本地用户上传文件:取消注释(删除行首的 `#`)`write_enable=YES`。 你还可以根据需要进行其他设置,然后保存并关闭文件。 5. 在防火墙中打开 FTP 服务器的端口。默认情况下,FTP 使用的端口是 20 和 21。你可以使用以下命令做出相应修改: ``` sudo firewall-cmd --zone=public --add-service=ftp --permanent sudo firewall-cmd --reload ``` 6. 接下来,你需要允许本地用户登录 FTP 服务器并设置其访问目录权限。使用以下命令添加用户: ``` sudo useradd ftpuser ``` 使用以下命令设置用户的密码: ``` sudo passwd ftpuser ``` 使用以下命令将用户的主目录设置为 FTP 目录: ``` sudo usermod -d /var/ftp ftpuser ``` 7. 最后,重新启动 vsftpd 服务以应用配置: ``` sudo systemctl restart vsftpd ``` 现在,你的 CentOS 7.9 服务器已经成功搭建了 FTP 服务器。通过使用 FTP 客户端工具,你可以使用添加的用户名和密码进行连接,并访问指定的 FTP 目录。 ### 回答3: 搭建FTP服务器可以实现网络文件传输和共享,CentOS 7.9是一种常用的Linux操作系统,以下是关于如何在CentOS 7.9上搭建FTP服务器的步骤: 1. 首先,使用root权限登录到CentOS 7.9服务器。 2. 安装vsftpd软件包,vsftpd是一种常用的FTP服务器软件。在终端中使用以下命令进行安装:yum install vsftpd -y 3. 安装完毕后,启动vsftpd服务并将其设置为开机自启动:systemctl start vsftpd && systemctl enable vsftpd 4. 默认情况下,vsftpd的配置文件位于/etc/vsftpd/vsftpd.conf。使用文本编辑器(如vi或nano)打开此文件:vi /etc/vsftpd/vsftpd.conf 5. 根据需要进行配置更改。一些常见的配置选项包括:启用匿名访问(anonymous_enable=YES)、禁止匿名用户上传(write_enable=NO)、添加本地用户访问(local_enable=YES)等。根据需要调整这些选项。 6. 保存并关闭配置文件后,重新启动vsftpd服务以使更改生效:systemctl restart vsftpd 7. 防火墙可能会阻止FTP访问。如果需要,可以使用firewalld或iptables等工具配置防火墙规则,允许FTP流量通过。 8. 检查FTP服务器的工作情况。您可以通过在Web浏览器中输入“ftp://your_server_ip”访问FTP服务器。使用服务器的IP地址来替换“your_server_ip”。 9. 如果需要,您可以进一步调整FTP服务器的相关配置,如限制用户的访问路径、设置访问权限和配额等。 通过以上步骤,您应该能够在CentOS 7.9上成功搭建FTP服务器。根据需要,您可以对FTP服务器进行进一步的配置和定制化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值