您的位置:首页 > 编程语言 > PHP开发

搭建FTP服务

2015-10-01 20:37 751 查看
搭建FTP服务

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

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

[root@localhost Data]# rpm -ivh vsftpd-3.0.2-9.el7.x86_64.rpm




第二节 启动FTP服务

查看vsftpd状态 service vsftpd status

启动vsftpd service vsftpd start

停止vsftpd service vsftpd stop

重启vsftpd service vsftpd restart





第三节 匿名用户登录FTP

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



访问ftp服务器:
ftp://192.168.88.8
用户名:anonymous
密 码:任意字符

第四节 配置文件管理

[root@localhost ~]# 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.shvsftpd操作的一些变量和设置脚本
vsftpd.confFTP主配置文件
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数据传输端口为20,21为连接控制端口
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。如要同时监听IPv4和IPv6端口,
则必须运行两套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
[root@localhost Data]# mkdir Public IT Admin Finance Sale



2、修改目录权限
[root@localhost Data]#chmod 770 Public
[root@localhost Data]#chmod 770 Admin
[root@localhost Data]#chmod 770 Finance
[root@localhost Data]#chmod 770 IT
[root@localhost Data]#chmod 770 Sale




3、创建用户及用户组
it--ituser

admin--adminuser

finance--financeuser

sale--saleuser

[root@localhost Data]#groupadd public
[root@localhost Data]#groupadd it
[root@localhost Data]#groupadd admin
[root@localhost Data]#groupadd finance
[root@localhost Data]#groupadd sale

[root@localhost Data]#useradd -G public,it ituser [root@localhost Data]#useradd -G public,admin adminuser [root@localhost Data]#useradd -G public,finance financeuser [root@localhost Data]#useradd -G public,sale saleuser



4、为用户创建密码



5、设置虚拟用户
[root@localhost ~]# vi /etc/passwd



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





[root@localhost ~]# vi /etc/group



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




6、修改目录所有者及组






7、添加允许访问FTP服务的用户到user_list配置文件里
[root@localhost vsftpd]# vi user_list




8、修改主配置文件
anonymous_enable=NO # 禁止匿名帐号登录
local_root=/Data # 设置FTP主目录
userlist_deny=NO # 允许user_list里的用户登录FTP服务
userlist_enable=YES # 允许user_list里的用户登录FTP服务
其他设置保持默认即可。

9、启动vsftpd



10、访问FTP






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ftp 搭建FTP服务