目录

vsftpd是Linux系统下非常常用的一款FTP程序。

一、安装、重装、卸载vsftp

全新安装:

apt-get install vsftpd

重新安装:

apt-get --reinstall install vsftpd

卸载并清除配置文件:

apt-get -purge remove vsftpd

安装后vsftp默认会创建一个名为ftp的用户,用户目录在/srv/ftp,好像匿名用户也会使用这个设置。

二、启动、停止vsftp

启动vsftp:

service vsftpd start

或指定路径,下同(注意:/etc/init.d/路径可能不同):

/etc/init.d/vsftpd start

重启:

/etc/init.d/vsftpd restart

停止vsftp:

service vsftpd stop
/etc/init.d/vsftpd stop

三、创建ftp用户组和目录

1、创建FTP用户组ftp-users

groupadd ftp-users

2、创建用户组目录ftp-docs

mkdir /home/ftp-docs

注意,这时还未指定跟ftp-users关联。
3、修改权限

chmod 777 /home/ftp-docs

750组只能读不能写,要组能写,请改成770或760。
4、指定文件夹归属用户和用户组

chown root:ftp-users /home/ftp-docs

这时,如果远程用户属于ftp-users组,则会共享该目录。
5、添加FTP用户并未他们设置缺省目录

useradd -g ftp-users -d /home/ftp-docs user1
useradd -g ftp-users -d /home/ftp-docs user2
passwd user1
passwd user2

6、拷贝额外那就到/home/ftp-docs目录
7、修改/home/ftp-docs目录下文件权限,对该组用户只读

chown root:ftp-users /home/ftp-docs/*
chmod 740 /home/ftp-docs/*

到这里,用户就可以通过FTP客户端登入服务器并下载文件了。当然了,深入一点,还有下文的VSFTP配置、通讯端口以及防火墙设置等问题。每个环节都可能造成连接访问问题。

四、vsftp配置

vsftp配置是出于安全和功能两种考虑需要而进行的,一般涉及的配置有:
匿名处理问题
上传下载权限问题
账户登录处理问题
安全登录问题
限速问题
....
等等。主要修改/etc/vsftpd.conf这个文件(没发现这个文件?看看有没/etc/vsftpd/vsftpd.conf...)。注意,修改VSFTP配置之后需要重启一下其服务。
常用几个:
1、下面三个是针对匿名用户设置的,一般均关闭掉(#注释)。

#anonymous_enable=YES
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES

2、下面这个控制用户上传许可:

write_enable=YES//该选项一般要打开,否则用户无法上传文件

3、下面这个限制用户在其Home目录,不能无限制的“到处逛”:

chroot_local_user=YES//该命令把用户限制在自己的Home目录,这个选项一定要开启

4、如果权限都修改完了,但是发现还是无法正常浏览目录列表(报告打开目录失败、创建文件失败),注意以下两种情况:
A. 该用户文件夹的上级文件夹权限(有关系),查看其Owner及group情况,可以改成755/772/777测试。
B. 注意一下是否存在Selinux设置问题(天缘自己在RedHat上遇到过):
位置:/etc/selinux/config
查看:

# This file controls the state of SELinux on the system.
# 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=disabled
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

要关闭这个SELINUX选项。如果为enforcing或者premissive,请修改为disabled,然后重启机子。

原文链接:http://blog.sina.com.cn/s/blog_6b45901801012z0i.html

最后编辑:2020年07月24日

发表评论