Ubuntu 16.04安装vsftpd ftp服务器

写在前面:

vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

安装:

sudo apt-get install vsftpd

配置:

vim /etc/vsftpd.conf


#这些设置系统默认是开启的,可以不管
listen=NO
listen_ipv6=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES

#下面的就要自定义设置了,建议系统默认的不管,然后复制下面的

#是否允许匿名访问,NO为不允许
anonymous_enable=NO
#是否允许本地用户访问,就是linux本机中存在的用户,YES允许
local_enable=YES
#是否开启写模式,YES为开启
write_enable=YES
#新建文件权限,一般设置为022,那么新建后的文件的权限就是777-022=755
local_umask=022

####umask值与权限的对照表:
####umask 文件 目录 
####-------------------- 
####  0    6    7 
####  1    6    6 
####  2    4    5 
####  3    4    4 
####  4    2    3 
####  5    2    2 
####  6    0    1 
####  7    0    0 
####--------------------

#是否启动userlist为通过模式,YES的话只有存在于userlist文件中的用户才能登录ftp(可以理解为userlist是一个白名单),NO的话,白名单失效,和下面一个参数配合使用
userlist_enable=YES
#是否启动userlist为禁止模式,YES表示在userlist中的用户禁止登录ftp(黑名单),NO表示黑名单失效,我们已经让userlist作为一个白名单,所以无需使用黑名单功能
userlist_deny=NO
#指定哪个文件作为userlist文件,我们稍后编辑这个文件
userlist_file=/etc/vsftpd.user_list

#是否限制本地所有用户切换根目录的权限,YES为开启限制,即登录后的用户不能访问ftp根目录以外的目录,当然要限制啦
chroot_local_user=YES
#是否启动限制用户的名单list为允许模式,上面的YES限制了所有用户,可以用这个名单作为白名单,作为例外允许访问ftp根目录以外
chroot_list_enable=YES
#设置哪个文件是list文件,里面的用户将不受限制的去访问ftp根目录以外的目录
chroot_list_file=/etc/vsftpd.chroot_list
#是否开启写模式,开启后可以进行创建文件夹等写入操作
allow_writeable_chroot=YES

#设置ftp根目录的位置,这个文件我们稍后自己创建
local_root=/目录位置

重启:

sudo /etc/init.d/vsftpd restart

添加用户:

#将将用户目录设置为我们上面的ftp根目录
sudo useradd -d /目录位置 用户名字

#设置用户密码
sudo passwd 用户名字

限定用户只能访问自己的目录,无法返回上层及进入其它目录:

修改配置文件:/etc/vsftpd/vsftpd.conf

sudo vi /etc/vsftpd.conf

去掉下面两行的注释:

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

在/etc/vsftpd下创建chroot_list文件:

touch chroot_list

加入需要限制的用户名:

vi /etc/vsftpd/chroot_list

保存

:wq

重启服务(每次更改配置后必须重启才能生效):

sudo /etc/init.d/vsftpd restart

其它命令:

#关闭
sudo /etc/init.d/vsftpd stop
#开启
sudo /etc/init.d/vsftpd start
#查看当前用户
vi /etc/passwd

关于500错误的解决思路:

出现500的原因是你的主目录设置了可写权限,故无法通过安全验证,所以无法正常登录。

附:

关于文件及文件夹权限

读:r

写:w

执行:x

      所有者 同组用户 其它用户

         rwx   rwx   rwx       翻译:所有者同组用户其它用户都可读、写和执行

二进制: 111  111  111

十进制:  7    7     7



      所有者 同组用户 其它用户

         rwx  - - -  - - -       翻译:只有所有者有读、写和执行的权限

二进制: 111   000     000

十进制:  7    0     0
标签:VsftpdUbuntu 发布于:2019-11-11 04:47:01