ubuntu下安装vsftpd

发布时间:2020-12-27编辑:脚本学堂
vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。

本文为大家介绍一个ubuntu下安装vsftpd的例子,供大家学习参考。

vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征。

vsftpd 的名字代表"very secure FTP daemon", 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。
一个例子就是 vsftpd 是在 chroot 模式下工作的,chroot 模式就是为程序(这里就是 vsftpd 了)单独指定一个新的目录,它也就不能访问那个目录之外的程序和文件了 --- 所以这也称为“被锁上的”。一个可能被潜在的攻击者破坏的 FTP 服务器将被从系统的其他部分独立开来,从而避免了更大的损失。

由于有了如此多的特性,其中 FTP 服务的安全性应该是最重要的,vsftpd 比其他 FTP 服务器更加优越。

1.安装vsftpd
直接从源里面安装,easy

复制代码 代码如下:
sudo apt-get install vsftpd

安装完毕后或许会自动生成一个帐户"ftp",/home下也会增加一个文件夹。
如果没有生成这个用户的话可以手动来,生成了就不用了:

复制代码 代码如下:
sudo useradd -m ftp
sudo passwd ftp

有"ftp"帐户后还要更改权限

复制代码 代码如下:
sudo chmod 777 /srv/ftp

在这个目录下我建立一个文件夹专门保存需要共享的内容

2.配置文件
通过sudo gedit /etc/vsftpd.conf修改。
配置文件如下:

复制代码 代码如下:

# cat /etc/vsftpd.conf
# 服务器以 standalong 模式运行,如果以 root 用户直接启动 vsftpd 进程,则必须。
# 注销语句以 xinetd 方式运行
listen=YES

# 上传总开关(全局控制)
write_enable=YES

# 接受匿名用户,默认无密码请求
anonymous_enable=YES

# 接受本地用户
local_enable=YES

# 本地用户上传文件(包括目录)的 umask
# 注意 vsftp 版本,某些旧版的该选项会被 chown_uploads/chown_username 二选项覆盖
local_umask=022

# 允许匿名用户上传文件,配合 anon_umask,否则文件权限皆为默认的 600,用户上传的文件不提供给任何匿名用户下载
anon_upload_enable=YES

# 匿名用户上传文件(包括目录)的 umask
# 注意点同 local_umask
anon_umask=022

# 允许匿名用户创建目录,配合 anon_umask 实现目录可写,否则依我(aBiNg)看,实际用处很小
anon_mkdir_write_enable=YES

# 允许匿名用户删除/重命名文件等操作
#anon_other_write_enable=YES

# 为 YES 则进入目录时显示此目录下由 message_file 选项指定的文本文件(默认为 .message)的内容
dirmessage_enable=YES

# 使用上传/下载日志,日志文件默认为 /var/log/vsftpd.log,可以通过 xferlog_file 选项修改
xferlog_enable=YES

# 使用 port 模式连接,并启用 20 端口
connect_from_port_20=YES

# 改变用户上传文件的所有者
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log

# 日志使用标准 xferlog 格式
#xferlog_std_format=YES

# 用户登陆后 idle 时间,超过设置超则被踢出服务器
#idle_session_timeout=600

# login 时的欢迎信息
ftpd_banner=Welcome to feifei FTP service.

#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails

# 若为 NO,则记录在 chroot_list_file 选项所指定的文件(默认是 /etc/vsftpd.chroot_list)中的用户将被
# chroot 在登录后所在目录中,无法离开。如果为 YES,则所记录的用户将不被 chroot。
chroot_local_user=YES

# 设置为 YES 则下面的控制有效
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list

#ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

local_root=/srv/ftp

更改配置后不要忘了重启ftp服务 

复制代码 代码如下:
sudo /etc/init.d/vsftpd restart

此外还有开启关闭服务的命令

复制代码 代码如下:
sudo /etc/init.d/vsftpd start
sudo /etc/init.d/vsftpd stop

这样,就可以使用电脑IP地址登陆这个ftp服务器了。