[计算机网络] vsftpd的安装与使用

简单介绍:

vsftpd是一个能够执行在类UNIX操作系统上的FTPserver软件,它能够执行在Linux、BSD、Solaris、HP-UX等系统上。

1 vsftpd的安装

在ubuntu系统上安装vsftpd:

sudo apt-get install vsftpd

2 vsftpd的配置

在linux系统中,配置文件一般位于/etc文件夹下,在ubuntu中。vsftpd的配置文件是/etc/vsftpd.conf。

FTP服务通常是供文件共享之用,一般在登陆FTPserver时须要输入username和password。当中有一种用户叫做匿名用户。也就是不论什么人都能够用这个username进行登陆,匿名用户的username通常是anonymous或者ftp。

vsftpd安装之后。默认是不准匿名用户登陆的,为了使匿名用户登陆。能够对/etc/vsftpd.conf进行改动。主要是以下几个部分的改动:

//同意匿名用户登陆,默认关闭
anonymous_enable=YES
//同意本地用户登陆
local_enable=YES
//同意写命令
write_enable=YES
//同意匿名用户上传
anon_upload_enable=YES
//同意匿名用户创建文件夹
anon_mkdir_write_enable=YES
//设定匿名用户的文件创建屏蔽字
anon_umask=022

之后,发现能够下载。可是不能上传,使用put命令时会发生553 Could not create file,原因是没有对FTPserver的文件夹进行权限改动:

因为不同系统上,FTPserver所使用的文件夹是不一样的,使用以下的命令能够知道FTPserver所使用的文件夹:

cat /etc/passwd | grep ftp |awk -F: '{print $6}'

在我的系统上是/srv/ftp,于是用以下的命令对该文件的权限进行改动:

sudo chmod 777 /srv/ftp

发现登陆后。会出现下面错误:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

这是因为文件的安全问题而引起的,解决的方法是,在/srv/ftp以下新建一个目录,将它的权限改动为777,之后的上传操作都在这个目录中进行。

3 vsftpd的使用

3.1 vsftpd的开启和关闭

//开启vsftpd服务
service vsftpd start //关闭vsftpd服务
service vsftpd stop //重新启动vsftpd
service vsftpd restart //又一次载入配置文件
service vsftpd reload

3.2 vsftpd的登陆和登出

//链接FTPserver
ftp 127.0.0.1

之后会要求输入username和password,假设是匿名用户,username是anonymous或者ftp。password任意。

假设要退出ftpserver,在ftp的命令行下输入exit就可以。

3.3 上传和下载

在ftp的命令行下输入help能够列出该server支持的命令:

ftp> help
Commands may be abbreviated. Commands are: ! dir mdelete qc site
$ disconnect mdir sendport size
account exit mget put status
append form mkdir pwd struct
ascii get mls quit system
bell glob mode quote sunique
binary hash modtime recv tenex
bye help mput reget tick
case idle newer rstatus trace
cd image nmap rhelp type
cdup ipany nlist rename user
chmod ipv4 ntrans reset umask
close ipv6 open restart verbose
cr lcd prompt rmdir ?
delete ls passive runique
debug macdef proxy send

上传能够使用send或者put,下载能够使用recv或者get。

//上传文件。将本地的local_file上传到server上。命名为remote_file
put local_file remote_file //下载文件。将server上的remote_file下载到本地,命名为local_file
get remote_file local_file
上一篇:【Kafka安装】


下一篇:python 网络编程 IO多路复用之epoll