搭建FTP服务


第一节 安装FTP文件传输服务


FTP服务安装包: vsftpd-3.0.2-9.el7.x86_64.rpm


[[email protected] Data]# rpm -ivh vsftpd-3.0.2-9.el7.x86_64.rpm

搭建FTP服务


第二节 启动FTP服务


  • 查看vsftpd状态    service vsftpd status

  • 启动vsftpd        service vsftpd start

  • 停止vsftpd        service vsftpd stop

  • 重启vsftpd        service vsftpd restart

搭建FTP服务 


第三节 匿名用户登录FTP


在安装vsftpd服务时,系统默认创建一个匿名用户(anonymous),其主目录为/var/ftp。

搭建FTP服务

访问ftp服务器:

ftp://192.168.88.8

用户名:anonymous

密  码:任意字符


第四节 配置文件管理


[[email protected] ~]# rpm -ql vsftpd


/etc/pam.d/vsftpd                    **库文件

/etc/vsftpd                          存放主配置文件目录

/etc/vsftpd/ftpusers                 存放被拒绝访问ftp的用户列表

/etc/vsftpd/user_list                允许访问FTP服务用户列表文件

/etc/vsftpd/vsftpd.conf              主配置文件

/var/ftp                             匿名用户主目录

.

.

.


FTP配置文件解析


文件名
作用
ftpusers 禁止使用vsftpd的用户列表文件
user_list

禁止或允许使用vsftpd的用户列表文件。


1、禁止情况:---这个文件中指定的用户缺省情况 或 userlist_deny=YES时,user_list里的用户不能访问FTP服务器。

2、允许user_list里的用户访问FTP服务的情况:---在设置了userlist_deny=NO,仅允许user_list中指定的用户访问FTP服务器。

vsftpd_conf_migrate.sh vsftpd操作的一些变量和设置脚本
vsftpd.conf FTP主配置文件

anonymous_enable=YES

是否允许匿名登录FTP服务器,默认设置为YES允许
no_anon_password=YES 允许匿名用户登录FTP服务不需要密码

anon_upload_enable=YES

是否允许匿名用户上传文件,须将全局的write_enable=YES。默认为YES
anon_mkdir_write_enable=YES  是否允许匿名用户创建目录

local_enable=YE

允许本地用户访问FTP服务器

write_enable=YES

是否允许本地用户对FTP服务器文件具有写权限,默认设置为YES允许
local_umask=022 本地用户的文件掩码为缺省022,即本地用户的文件权限为755 drwxr-xr-x

dirmessage_enable=YES

此文件保存自定义的欢迎信息,由用户自己建立

xferlog_enable=YES

是否让系统自动维护上传和下载的日志文件

默认情况该日志文件为/var/log/vsftpd.log,也可以通过下面的xferlog_file选项对其进行设定

/var/log/vsftpd.log 设定系统维护记录FTP服务器上传和下载情况的日志文件
ftpd_banner=Welcome to blah FTP service. 登录FTP服务器时显示的欢迎信息
connect_from_port_20=YES

设定FTP服务器将启用FTP数据端口的连接请求

ftp-data数据传输端口为2021为连接控制端口

chown_uploads=YES

设定是否允许改变上传文件的属主,与下面一个设定项配合使用

注意,不推荐使用root用户上传文件

chown_username=whoever

设置想要改变的上传文件的属主,如果需要,则输入一个系统用户名

可以把上传的文件都改成root属主。whoever:任何人

idle_session_timeout=300

设置数据传输中断间隔时间,此语句表示空闲的用户会话中断时间为300

即当数据传输结束后,用户连接FTP服务器的时间不应超过300秒。可以根据实际情况对该值进行修改

data_connection_timeout=120

 设置数据连接超时时间为120秒,可根据实际情况对其个修改

ascii_upload_enable=YES

ascii_download_enable=YES

是否以ASCII方式传输数据。默认情况下,服务器会忽略ASCII方式的请求。

启用此选项将允许服务器以ASCII方式传输数据
不过,这样可能会导致由"SIZE /big/file"方式引起的DoS***
deny_email_enable=YES
黑名单设置。如果很讨厌某些email address,就可以使用此设定来取消他的登录权限
可以将某些特殊的email address抵挡住。
banned_email_file=/etc/vsftpd/banned_emails 当上面的deny_email_enable=YES时,可以利用这个设定项来规定哪些邮件地址不可登录vsftpd服务器
#
此文件需用户自己创建,一行一个email address即可

chroot_list_file=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

 用户登录FTP服务器后是否具有访问自己目录以外的其他文件的权限
#
设置为YES时,用户被锁定在自己的home目录中,vsftpd将在下面chroot_list_file选项值的位置寻找chroot_list文件
#
必须与下面的设置项配合
#chroot_list_enable=YES
#
被列入此文件的用户,在登录后将不能切换到自己目录以外的其他目录
#
从而有利于FTP服务器的安全管理和隐私保护。此文件需自己建立
#chroot_list_file=/etc/vsftpd/chroot_list
listen=YES  是否允许监听。
如果设置为YES,则vsftpd将以独立模式运行,由vsftpd自己监听和处理IPv4端口的连接请求
ls_recurse_enable=YES 是否允许递归查询。默认为关闭,以防止远程用户造成过量的I/O
listen_ipv6=YES 设定是否支持IPV6。如要同时监听IPv4IPv6端口,
则必须运行两套vsftpd,采用两套配置文件
#
同时确保其中有一个监听选项是被注释掉的
userlist_enable=YES

允许user_list文件中的用户允许登录FTP服务器


userlist_enable=YES必须和userlist_deny=NO同时配合使用,才能允许用户登录到FTP服务器


#
而如果默认情况 或 同时设置了userlist_deny=YES,则user_list文件中的用户将不允许登录FTP服务器,甚至连输入密码提示信息都没有。
local_root= 设置FTP服务主目录








第五节 配置FTP服务器高可用


根据公司部门职能分配,创建FTP服务。

要求:

1、创建一个公共文件夹,公司全体员工都可以访问公共文件夹。

2、根据部门安排,分别创建各个部门共享文件夹,只能同一部门的员工自己访问自己部门的共享文件夹,其他部门员工不能访问。

3、禁止匿名用户访问。


实施步骤:

1、创建共享目录

    创建公共共享文件夹--Public

    创建各部门共享文件夹--IT、Admin、Finance、Sale

    [[email protected] Data]# mkdir Public IT Admin Finance Sale

    搭建FTP服务

2、修改目录权限

    [[email protected] Data]#chmod 770 Public

    [[email protected] Data]#chmod 770 Admin

    [[email protected] Data]#chmod 770 Finance

    [[email protected] Data]#chmod 770 IT

    [[email protected] Data]#chmod 770 Sale

    搭建FTP服务


3、创建用户及用户组

    it--ituser

    admin--adminuser

    finance--financeuser

    sale--saleuser

    

    [[email protected] Data]#groupadd public

    [[email protected] Data]#groupadd it

    [[email protected] Data]#groupadd admin

    [[email protected] Data]#groupadd finance

    [[email protected] Data]#groupadd sale


    [[email protected] Data]#useradd -G public,it ituser

    [[email protected] Data]#useradd -G public,admin adminuser

    [[email protected] Data]#useradd -G public,finance financeuser

    [[email protected] Data]#useradd -G public,sale saleuser


    搭建FTP服务

4、为用户创建密码

    搭建FTP服务

5、设置虚拟用户

    [[email protected] ~]# vi /etc/passwd    

    搭建FTP服务

    进入用户配置文件,把每个用户的执行文件/bin/bash/修改为/sbin/nologin修改为如下:

    搭建FTP服务

    

    [[email protected] ~]# vi /etc/group

    搭建FTP服务

    删除创建用户时自动创建的组名

    搭建FTP服务

6、修改目录所有者及组

    搭建FTP服务

    搭建FTP服务

7、添加允许访问FTP服务的用户到user_list配置文件里

    [[email protected] vsftpd]# vi user_list

    搭建FTP服务  

8、修改主配置文件

    anonymous_enable=NO         # 禁止匿名帐号登录

    local_root=/Data            # 设置FTP主目录 

    userlist_deny=NO            # 允许user_list里的用户登录FTP服务          

    userlist_enable=YES         # 允许user_list里的用户登录FTP服务

其他设置保持默认即可。

    

9、启动vsftpd

    搭建FTP服务

10、访问FTP

    搭建FTP服务


    搭建FTP服务