服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Ubuntu - Ubuntu上FTP服务器程序vsftpd安装配置全流程攻略

Ubuntu上FTP服务器程序vsftpd安装配置全流程攻略

2019-06-04 14:07Ubuntu之家服务器之家 Ubuntu

vsftpd是服务器端最最常用的FTP服务架设程序,这里我们就从部署和用户访问控制等多个基础方面,来看一下Ubuntu上FTP服务器程序vsftpd安装配置全流程攻略:

安装ftp
 

复制代码
代码如下:

sudo apt-get install vsftpd

配置vsftpd.conf

复制代码
代码如下:

sudo nano /etc/vsftpd.conf
#禁止匿名访问
anonymous_enable=NO
#接受本地用户
local_enable=YES
#允许上传
write_enable=YES
#用户只能访问限制的目录
chroot_local_user=YES
#设置固定目录,在结尾添加。如果不添加这一行,各用户对应自己的目录,当然这个文件夹自己建
local_root=/home/ftp

看网上说加一行“pam_service_name=vsftpd”,我看我这个配置文件本来就有,就不管了。

 

添加ftp用户
 

复制代码
代码如下:

sudo useradd -d /home/ftp -M ftpuser
sudo passwd ftpuser

调整文件夹权限
这个是避免“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”

复制代码
代码如下:

sudo chmod a-w /home/ftp
sudo mkdir /home/ftp/data

这样登录之后会看到data文件夹,虽然稍麻烦,原因不表了。。查资料这么辛酸已经不易。。
改pam.d/vsftpd
这时候直接用useradd的帐号登录ftp会530 login incorrect

复制代码
代码如下:

sudo nano /etc/pam.d/vsftpd

注释掉 

复制代码
代码如下:

#auth required pam_shells.so

重启vsftpd

复制代码
代码如下:

sudo service vsftpd restart

这时就可以用刚才建的ftpuser这个用户登录ftp了,看到的是local_root设置的/home/ftp,并且限制在该目录。
可以在浏览器用ftp://xxx.xxx.xxx.xxx访问,也可以用ftp软件比如flashFXP,密码就是ftpuser的密码。

 

关于用户访问文件夹限制
由chroot_local_user、chroot_list_enable、chroot_list_file这三个文件控制,转别人的一段话:
首先,chroot_list_enable好理解,就是:是否启用chroot_list_file配置的文件,如果为YES表示chroot_list_file配置的文件生效,否则不生效;
第二,chroot_list_file也简单,配置了一个文件路径,默认是/etc/vsftpd.chroot_list,该文件中会填入一些账户名称。但是这些账户的意义不是固定的,是跟配置项chroot_local_user有关的。后一条中说明;
第三,chroot_local_user为YES表示所有用户都*不能*切换到主目录之外其他目录,但是!除了chroot_list_file配置的文件列出的用户。chroot_local_user为NO表示所有用户都*能*切换到主目录之外其他目录,但是!除了chroot_list_file配置的文件列出的用户。也可以理解为,chroot_list_file列出的“例外情况”的用户。
如果客户端登录时候提示“以pasv模式连接失败”
编辑/etc/vsftpd.conf
最后添加
 

复制代码
代码如下:

pasv_promiscuous=YES

然后再重启vsftpd服务。

 

vsftpd 530 Permission denied错误与530 Login incorrect
在linux上搭建完ftp服务器后,用户登录vsftpd出现530 Login incorrect错误与530 Permission denied错误。 530 Permission denied 原因是/etc/vsftpd/vsftpd.conf里userlist_enable=YES /etc/vsftpd/user_list含有root名单
2种解决办法:
1.userlist_enable=NO 将root从user_list中去掉
530 Login incorrect错误 将root从/etc/vsftpdftpusers中去掉。
2.如果是默认安装vsftpd的话,以下是一些文件的位置约定:
/usr/sbin/vsftpd ---- VSFTPD的主程序 /etc/rc.d/init.d/vsftpd ---- 启动脚本 /etc/vsftpd/vsftpd.conf ---- 主配置文件 /etc/pam.d/vsftpd ---- PAM认证文件 /etc/vsftpd.ftpusers ---- 禁止使用VSFTPD的用户列表文件 /etc/vsftpd.user_list ---- 禁止或允许使用VSFTPD的用户列表文件 /var/ftp ---- 匿名用户主目录 /var/ftp/pub ---- 匿名用户的下载目录
如果要更改默认下载目录,修改/etc/vsftpd/vsftpd.conf,加入如下三行: local_root=/ chroot_local_user=YES anon_root=/ local_root表示使用本地用户登录到ftp时的默认目录 anon_root表示匿名用户登录到ftp时的默认目录 上面的chroot_list_file是设定锁定登陆用户在其home目录的列表,要在chroot_list_enable=YES情况下才生效。 另外,如luo_rc所述,最好不要设置默认目录为/,使用建议使用mount --bind来挂载需要的目录。

延伸 · 阅读

精彩推荐
  • UbuntuUbuntu Gnome下如何修改应用图标icon?

    Ubuntu Gnome下如何修改应用图标icon?

    最近有些朋友问小编Ubuntu Gnome下如何修改应用图标icon?今天小编要为大家分享的是Ubuntu Gnome下修改应用图标icon的方法;有需要的朋友一起去看看吧...

    服务器之家6412019-06-01
  • UbuntuUbuntu17.10怎么添加日历事项? Ubuntu添加行程提醒的教程

    Ubuntu17.10怎么添加日历事项? Ubuntu添加行程提醒的教程

    Ubuntu17.10怎么添加日历事项?Ubuntu17.10系统中有一个日程管理功能,可以在日历中添加行程提醒,下面我们就来看看Ubuntu添加行程提醒的教程,需要的朋友可...

    服务器之家2812019-06-19
  • UbuntuUbuntu 15.04升级到Ubuntu 15.10的详细教程

    Ubuntu 15.04升级到Ubuntu 15.10的详细教程

    ubuntu15.04怎么升级到ubuntu15.10?又该升级系统了,但是很多人对ubuntu系统很不熟悉,下面我们一起来看看ubuntu15.04升级ubuntu15.10的详细教程,需要的朋友可以...

    服务器之家4562019-07-02
  • UbuntuUbuntu20.04开启root账户的方法步骤

    Ubuntu20.04开启root账户的方法步骤

    这篇文章主要介绍了Ubuntu20.04开启root账户的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...

    缀梦13002020-08-01
  • Ubuntu如何在ubuntu系统中安装pycharm工具并运行

    如何在ubuntu系统中安装pycharm工具并运行

    在Windows系统中安装pycharm,只需要下载安装包,然后根据指令一步一步操作;而在Linux系统中的Ubuntu中安装pycharm,需要下载安装包,还有安装相关的其他软件...

    百度经验12082019-10-21
  • UbuntuWSL、WSL2与Ubuntu性能大PK

    WSL、WSL2与Ubuntu性能大PK

    科技媒体 Phoronix 对 Windows 10 May 2020 中 WSL 和 WSL 2 的性能进行了测试,参与测试的发行版为 Ubuntu 20.04 on WSL/WSL2 ,以及 Ubuntu 20.04 LTS,均被安装在除 Windows 之...

    开源中国29412020-06-23
  • UbuntuUbuntu下安装Chrome的方法分享

    Ubuntu下安装Chrome的方法分享

    本文给大家分享的是Ubuntu下安装Chrome的方法,安装的过程中发现还是挺麻烦的,就记录下来推荐给大家,有需要的小伙伴可以参考下。...

    Ubuntu教程网3862021-10-25
  • UbuntuUbuntu安装和卸载CUDA和CUDNN的实现

    Ubuntu安装和卸载CUDA和CUDNN的实现

    这篇文章主要介绍了Ubuntu安装和卸载CUDA和CUDNN的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...

    夜雨飘零14632020-08-04