ubuntu14.04 搭建FTP服务器 -- vsftpd的安装和配置
2015-07-04 16:41
871 查看
ubuntu14.04 搭建FTP服务器 — vsftpd的安装和配置
更新源列表 sudo apt-get update
安装vsftpd sudo apt-get install vsftpd
测试vsftpd是否安装成功,并顺利启动 pgrep vsftpd,如果显示一个数字,表示vsftpd服务已经安装成功,并且顺利启动。 该数字就是vsftpd服务的进程号。如果没有任何线索,可能服务并没有顺利启动,或者 没有安装成功。请自行查明原因.
FTP服务需求
vsftpd 使用stand alone 的方式启动。(或 super daemon)
禁止匿名用户访问
使用当地时间,取代GMT时间
系统账号不可以登陆主机(即UID小于500的账号)
允许本地用户访问,用户为uftp,其余用户无法访问
用户新增目录,文档,umask默认为022
配置vsftpd vsftpd配置采用name=value的方式,等号两端没有空格
vsftpd的有关配置文件
/etc/vsftpd.conf # vsftpd 的主要配置文件
/etc/pam.d/vsftpd # vsftpd 使用pam模块时相关配置文件
/etc/ftpusers # vsftpd 指定无法登陆FTP的系统账号
/etc/vsftpd.chroot_list # 该文件默认没有,需自己创建
/etc/vsftpd.user_list # 该文件默认没有,需自己创建
其他
修改配置文件/etc/vsftpd.conf
listen=YES # vsftpd 以stand alone方式启动
anonymous_enable=NO # 禁止匿名用户访问
local_enble=YES # 允许本地用户访问FTP
write_enable=YES # 允许用户上传文件
local_umask=022 # 上传文件的默认掩码
use_localtime=YES # 使用当地时间
chroot_local_user=YES # 禁止用户访问上层目录
allow_writeable_chroot=YES #
userlist_enable=YES #
userlist_deny=NO #
userlist_file=/etc/vsftpd.user_list #
其余配置保持默认
新建用户uftp
sudo adduser uftp 然后会要求输入一些个人信息,也可以为空。最后输入密码,密码以显示, 然后再次确认密码,该账户和密码用于以后登陆FTP,下载或上传文件。 然后就会在/home/目录下新建文件夹uftp,该文件夹即为后期FTP服务器的文件存储目录。默认权限为755.
除uftp用户外,禁止其余用户访问FTP服务设置配置文件/etc/vsftpd.conf,将userlist_enable=YES的注释去掉,并创建文件 /etc/vsftpd.user_list,
然后将/etc/password文件中除uftp外的用户添加到/etc/vsft.user_list文件当中。
技巧:使用vim 打开/etc/vsftpd.user_list文件,然后切换到命令行模式 :r /etc/password,这样所有的用户就会全部写入该文件, 然后选中所有文件EscggVg,,然后进入命令行模式,Esc:s/:.*$//g,这样所有的用户就会被提取出来
出现的问题及解决方案
问题: 在创建用户的时候,如果指定登陆shell为/usr/sbin/nologin, 后期登陆FTP服务器的时候会报错
解决方案: 如果改为/bin/bash,就没有问题。(原因不详)
问题: 如果chroot_local_user=YES,没有被注释掉,那么在用FileZilla登陆 FTP服务器的时候,会出现错误:500 OOPS: vsftpd: refusing to run with writable root inside chroot (), 是因为:Add stronger checks for the configuration error of running with a writeable root directory inside a chroot(). This may bite people who carelessly turned on chroot_local_user but such is life.,vsftpd增强了安全检查 ,如果用户限定了在其主目录,禁止访问上级目录,则该用户的主目录不能再有写权限。 如果检测发现有写权限,就会报改错误。
解决方案:
可以用命令chmod a-w /home/user去除用户主目录的写权限。(该方案为实施)
在配置文件/etc/vsftpd.conf中添加allow_writeable_chroot=YES。(本文采用的是该方案)
更新源列表 sudo apt-get update
安装vsftpd sudo apt-get install vsftpd
测试vsftpd是否安装成功,并顺利启动 pgrep vsftpd,如果显示一个数字,表示vsftpd服务已经安装成功,并且顺利启动。 该数字就是vsftpd服务的进程号。如果没有任何线索,可能服务并没有顺利启动,或者 没有安装成功。请自行查明原因.
FTP服务需求
vsftpd 使用stand alone 的方式启动。(或 super daemon)
禁止匿名用户访问
使用当地时间,取代GMT时间
系统账号不可以登陆主机(即UID小于500的账号)
允许本地用户访问,用户为uftp,其余用户无法访问
用户新增目录,文档,umask默认为022
配置vsftpd vsftpd配置采用name=value的方式,等号两端没有空格
vsftpd的有关配置文件
/etc/vsftpd.conf # vsftpd 的主要配置文件
/etc/pam.d/vsftpd # vsftpd 使用pam模块时相关配置文件
/etc/ftpusers # vsftpd 指定无法登陆FTP的系统账号
/etc/vsftpd.chroot_list # 该文件默认没有,需自己创建
/etc/vsftpd.user_list # 该文件默认没有,需自己创建
其他
修改配置文件/etc/vsftpd.conf
listen=YES # vsftpd 以stand alone方式启动
anonymous_enable=NO # 禁止匿名用户访问
local_enble=YES # 允许本地用户访问FTP
write_enable=YES # 允许用户上传文件
local_umask=022 # 上传文件的默认掩码
use_localtime=YES # 使用当地时间
chroot_local_user=YES # 禁止用户访问上层目录
allow_writeable_chroot=YES #
userlist_enable=YES #
userlist_deny=NO #
userlist_file=/etc/vsftpd.user_list #
其余配置保持默认
新建用户uftp
sudo adduser uftp 然后会要求输入一些个人信息,也可以为空。最后输入密码,密码以显示, 然后再次确认密码,该账户和密码用于以后登陆FTP,下载或上传文件。 然后就会在/home/目录下新建文件夹uftp,该文件夹即为后期FTP服务器的文件存储目录。默认权限为755.
除uftp用户外,禁止其余用户访问FTP服务设置配置文件/etc/vsftpd.conf,将userlist_enable=YES的注释去掉,并创建文件 /etc/vsftpd.user_list,
然后将/etc/password文件中除uftp外的用户添加到/etc/vsft.user_list文件当中。
技巧:使用vim 打开/etc/vsftpd.user_list文件,然后切换到命令行模式 :r /etc/password,这样所有的用户就会全部写入该文件, 然后选中所有文件EscggVg,,然后进入命令行模式,Esc:s/:.*$//g,这样所有的用户就会被提取出来
出现的问题及解决方案
问题: 在创建用户的时候,如果指定登陆shell为/usr/sbin/nologin, 后期登陆FTP服务器的时候会报错
解决方案: 如果改为/bin/bash,就没有问题。(原因不详)
问题: 如果chroot_local_user=YES,没有被注释掉,那么在用FileZilla登陆 FTP服务器的时候,会出现错误:500 OOPS: vsftpd: refusing to run with writable root inside chroot (), 是因为:Add stronger checks for the configuration error of running with a writeable root directory inside a chroot(). This may bite people who carelessly turned on chroot_local_user but such is life.,vsftpd增强了安全检查 ,如果用户限定了在其主目录,禁止访问上级目录,则该用户的主目录不能再有写权限。 如果检测发现有写权限,就会报改错误。
解决方案:
可以用命令chmod a-w /home/user去除用户主目录的写权限。(该方案为实施)
在配置文件/etc/vsftpd.conf中添加allow_writeable_chroot=YES。(本文采用的是该方案)
相关文章推荐
- 详解vsftpd搭建ftp和ftps
- Vsftpd 虚拟用户实现公司各部门文件的上传下载
- vsftpd 虚拟用户配置步骤
- VSFTPD配置(匿名――本地用户――虚拟用户)
- vsFTPd 服务器初学者指南
- Linux编译安装vsftpd服务器(本地用户验证方式)
- 用shell脚本防ssh和vsftpd暴力破解的详解讲解
- Centos 通过 Nginx 和 vsftpd 构建图片服务器的教程(图文)
- FTP 两种模式的区分 与 Centos 5.5 Vsftpd Pasv模式设置
- CentOS 修改 vsftpd 默认端口21
- vsftpd简单安装
- VSFTPD手册
- VSFTPD相关术语解释
- VSFTPD锁定用户目录
- VSFTPD不能创建文件或者显示不出目录
- RedHat Linux5 上安装vsftpd
- 安全的FTP服务器 vsftpd介绍
- vsftp 相关
- cent os 5.4 vsftpd
- vsftpd 简单配置与解说