ubuntu安装vsftp服务器详解教程

来源:互联网 发布:ios上python编辑器推荐 编辑:程序博客网 时间:2024/05/16 14:13

ubuntu安装vsftp服务器详解教程


1: 安装vsftpd

#sudo apt-get install vsftpd

ubuntu10.10自己装了,这步省略。

2: 配置vsftpd

2.1 修改vsftpd的配置文件。此类配置文件通常位于 /etc 目录下。

# sudo gedit /etc/vsftpd.conf

原文件中不少指令被注释,只要启用部分即可,一下是启用的命令(配置文件中对每一条都有具体说明)

listen=YES       # 服务器监听
anonymous_enable=YES       # 匿名访问允许
local_enable=YES    # 本地主机访问允许
write_enable=YES    # 写允许
anon_upload_enable=YES
# 匿名上传允许,默认是NO,嫌麻烦的可以开起来。出了问题我不负责~
anon_mkdir_write_enable=YES  # 匿名创建文件夹允许
dirmessage_enable=YES  # 进入文件夹允许
xferlog_enable=YES   #  ftp 日志记录允许
connect_from_port_20=YES     # 允许使用20号端口作为数据传送的端口
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

保存。

2.2 设置ftp相关目录
安装完毕后,/srv下会增加一个ftp目录。同时系统会增加一个名为ftp的用户组,可以用~$ sudo cat /etc/shadow 查看。我们在/srv/ftp目录下创建两个分别名为upload和download的目录,分别用于上传和下载。接下来我们为刚才创建的几个目录设置权限,如下:

# sudo chmod 755 /home/ftp

# sudo chmod 777 /home/ftp/upload

# sudo chmod 755 /home/ftp/download

3:启动vsftpd

#sudo service vsftpd start

查看当前所有进程:

# ps -e
 2183 ?        00:00:00 vsftpd

至此服务器端vsftp的最基本配置已完成,vsftpd已开启。(注意你的防火墙配置,作为简单试验可以直接停用防火墙)
当然关闭vsftpd进程只需要执行~$ sudo service vsftpd stop,同时还可以使用命令~$ pgrep vsftpd 来查看进程vsftp是否存在。

4:vsftpd 设置用户目录,如果你设置了匿名用户也可以登录上传的话~这个可以省了~
(1) 增加组

sudo groupadd ftpgroup

(2 )修改vsftpd.conf

# sudo gedit /etc/vsftpd.conf
#将底下三行
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
#改为
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

(3) 增加用户ftpuser并设置其目录为/home/nation/ftp/upload

sudo useradd -g ftpgroup -d /home/nation/ftp/upload -M ftpuser

(注:G:用户所在的组 d:表示创建用户的自己目录的位置给予指定M:不建立默认的自家目录,也就是说在/home下没有自己的目录)

(4 )设置用户口令

passwd ftpuser

(5) 编辑chroot_list文件:

sudo gedit /etc/vsftpd.chroot_list

内容为ftp用户名,每个用户占一行,如:

ftpuser

(6 )重新启动vsftpd:

sudo service vsftpd start

按照上面配置完,登录ftp
报错:530 This FTP server is anonymous only.

解决方法:
 将local_enable=YES前的#去掉,使其可用,表示允许本地用户登录;增加listen_port=21配置项,设置监听端口为21;该步骤可选,不允许匿名用户登录,将anonymous_enable=YES的值改为NO,根据实际需要设置。
  重启VSFTPd服务:service VSFTPd restart。启动后,在进行测试,使用本地用户angel及其密码登录,成功。注意:以上测试是在本机(或使用SSH登录后)进行。

0 0
原创粉丝点击