Linux下安装配置FTP服务器

时间:2024-03-21 15:16:12

在Centos下搭建Ftp服务,步骤如下。

1、检查是否安装 了vsftpd,如果未安装 则安装vsftpd。

1)查看系统中是否安装了vsftpd,可以通过执行命令 :

[[email protected] ftp_test]# rpm -qa | grep vsftpd

vsftpd-2.2.2-24.el6.i686

  1. 如果没有安装 vsftpd,则安装 :

yum -y install vsftpd

 

  1. 创建ftp用户,比如ftp_test。命令:

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

注意:

1)目录尽量不要选择根目录下,这里是/home/ftp_test,并且ftp_test这个目录不要手动创建,否则权限会有问题,执行命令的时候会自动创建

2)注意目录的权限,如果有需要,应该设置相应的权限

 

3、为ftp_test用户创建密码。命令:

passwd ftp_test

执行之后输入2次密码确认就设置好了密码。

 

  1. 编辑vsftpd配置文件,命令:

vim /etc/vsftpd/vsftpd.conf

找到anonymous_enable这个配置项,默认是YES,修改成NO,表示不允许匿名用户登录。

 

vsftpd的配置

vsftpd.ftpusers:位于/etc目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。

vsftpd.user_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。

vsftpd.conf:位于/etc/vsftpd目录下。来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。

/etc/vsftpd.conf 内容详解

#####################################

#禁用匿名用户登陆

anonymous_enable=NO

 

#允许本地用户登陆

local_enable=YES

 

#允许本地用户写入

write_enable=YES

 

#注意:这个地方如果不配置,就会出现只有root用户可以登陆,普通用户不可以

check_shell=NO

 

#掩码,决定了上传上来的文件的权限。设置为000使之有最大权限

local_umask=000

 

#允许记录日志

xferlog_enable=YES

 

#允许数据流从20端口传输

connect_from_port_20=YES

 

#日志路径

xferlog_file=/var/log/vsftpd.log

 

#ftp欢迎语,可以随便设置

ftpd_banner=hi,guys!

 

#注意:这个选项可以保证用户锁定在指定的家目录里,防止系统文件被修改。

chroot_local_user=YES

 

#注意:这个不配置有可能出现只能下载不能上传

allow_writeable_chroot=YES

 

#配置了可以以stand alone模式运行

listen=YES

#说明我们要指定一个userlist,里边放的是允许ftp登陆的本地用户。如果设置为YES,则文件里设置的是不允许登陆的本地用户

userlist_deny=NO

userlist_enable=YES

 

#记录允许本地登陆用户名的文件

userlist_file=/etc/vsftpd/allowed_users

#####################################

 

  1. 启动vsftp服务,命令:

  service vsftpd start

 

  1. 查看ftp服务的状态,命令:

  service vsftpd  status

 

  1. 用ftp客户端进行连接访问。

Linux下安装配置FTP服务器

出错原因:用户没有变更根目录的权限。

 

 ftp_test用户默认的根目录是/home/ftp_test,如果要切换登陆目录,需要给予权限

 

解决方法:

 

第一步,

 

打开/etc/vsftpd/vsftpd.conf,做如下配置:

                           

            chroot_local_user=YES

            chroot_list_enable=YES

            chroot_list_file=/etc/chroot_list

 第二步,

 

  在/etc/vsftpd下新建chroot_list,加入登陆用户的名字。(用户需要配置密码,在这里就不详述如何添加用户和密码了)

 

重启vsftpd服务,测试出现下面的情况

Linux下安装配置FTP服务器

查看资料修改selinux   

[[email protected] ~]# cat /etc/selinux/config 

# This file controls the state of SELinux on thesystem.

# SELINUX= can take one of these three values:

#     enforcing- SELinux security policy is enforced.

#     permissive- SELinux prints warnings instead of enforcing.

#     disabled -No SELinux policy is loaded.

SELINUX=enforcing

 # SELINUXTYPE=can take one of these two values:

#     targeted -Targeted processes are protected,

#     mls -Multi Level Security protection.

SELINUXTYPE=targeted 

[[email protected] ~]#

selinxu=enforcing   改成  selinux=disabled 

然后必须重启服务器,测试windows和filezilia

Linux下安装配置FTP服务器

Linux下安装配置FTP服务器

登录用户为 ftp_test  密码为ftp_test

测试成功!