Linux笔记23.FTP(proftod)

23.FTP

FTP:文件传输协议。FTP服务器能够在网络上提供文件传输服务,远程用户可以上传和下载文件。

Linux下常用FTP服务器有:proftpd、wu-ftpd、vsftp

FTP使用的端口:

TCP端口20是数据通道(传输文件和目录列表) .

TCP端口21是命令通道(传输用户命令)

Proftpd

ProFTP的安装

下载相关软件

ProFTP的最新版本

ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.9.tar.gz

#tar fvxz proftpd-1.2.9.tar.gz

#cd proftpd-1.29/

#./configure --prefix=/usr/local/proftpd

--enable-shadow

--enable-autoshadow

--with-modules=mod_ratio:mod_readme:mod_wrap

#make

#make install

proftpd 服务器配置文件是/usr/local/proftpd/etc/proftpd.conf

• proftpd是 proftpd 的执行文件

• ftpcount:显示目前在服务器上有多少人连接

• ftpshut:指定再过多久之后 proftpd 服务停止

• ftpwho:察看目前有多少人使用 proftpd 服务

ok, 现在我们可以来启动proftp了 /usr/local/proftpd/sbin/proftpd用你的ftp客户端试验以下,应该可以正常登陆,包括匿名和linux用户名可以。

创建proftpd脚本

#cp proftpd-1.2.9/contrib/dist/rpm/proftpd.init.d /etc/rc.d/init.d/proftpd

记得修改proftpd的实际路径在中间加入proftpd

#chmod 755 /etc/rc.d/init.d/proftpd

Service proftpd restart

ftpshut

/usr/local/proftpd/sbin/ftpshut

定时停止ftp连接

ftpshut [ -l min ] [ -d min ] time [ warning-message ... ]

-l min: 在ftp关闭服务之前的几分钟内,尝试建立新的ftp连接均不被接受

-d min: 在ftp关闭服务之前的几分钟内,已经建立的ftp连接将被中止

time: 在多少时间后,服务器将关闭ftp服务,格式有两种

+number 经过number分钟后关闭

MMHH 在今天MM:HH服务器将关闭

注意:这里我们用这个命令是把ftp服务给停了,但实际的proftpd进程还没停止,所以一般调试ftp会使用到这个命令。

ftpshut -l 20 -d 10 +30 "FTP Server Will shutdown at time"

ftpshut -R或删除/etc/shutmsg便可重启服务

ProFTP的结构

/vi usr/local/proftpd/etc/proftpd.conf

#全局设置

设置项目参数1

设置项目参数2

#某个目录的设置

<Directory "路径名">

...

</Directory>

#关于匿名用户的设置

<Anonymous "匿名登陆的目录">

...

<Limit 限制动作>

...

</Limit>

</Anonymous>

ProFTP的配置

 

 

welcome.msg的配置

欢迎文件welcome.msg的参数

知道这些参数,我们就可以写出一个友好的欢迎语

vim /home/kaoyan/welcome.msg

Limit的配置

如何禁止某个地址访问ftp

比如禁止10.1.1网段的机器访问ftp,可以这么设置

<Limit LOGIN>

Order deny,allow

Deny from 10.1.1.

Allow from all

</Limit>

CMD:Change Working Directory 改变目录

MKD:MaKe Directory 建立目录的权限

RNFR: ReName FRom 更改目录名的权限

DELE:DELEte 删除文件的权限

RMD:ReMove Directory 删除目录的权限

RETR:RETRieve 从服务端下载到客户端的权限

STOR:STORe 从客户端上传到服务端的权限

READ:可读的权限,不包括列目录的权限,相当于RETR,STAT等

WRITE:写文件或者目录的权限,包括MKD和RMD

DIRS:是否允许列目录,相当于LIST,NLST等权限,还是比较实用的

ALL:所有权限

LOGIN:是否允许登陆的权限

AllowUser 针对某个用户允许的Limit

DenyUser 针对某个用户禁止的Limit

AllowGroup 针对某个用户组允许的Limit

DenyGroup 针对某个用户组禁止的Limit

AllowAll 针对所有用户组允许的Limit

DenyAll 针对所有用户禁止的Limit

虚拟主机的配置

如果我们要做一个端口是5555的ftp服务器

<VirtualHost 210.51.0.124>

ServerName "FTP Server"

Port 5555

...

<Directory 目录>

...

<Limit 动作>

...

</Limit>

...

</Directory>

</VirtualHost>

打开和关闭连接

– ftp hostname

– 完全退出使用quit或bye

文件传送

– put local-file

– mput local*

– get remote-file

– mget remote*

其他命令

– ls命令 / pwd命令/!cd/!Clear

你可能感兴趣的:(linux,ftp,vsftpd,proFTPD,休闲)