今天花了一个早上时间,使用了proftpd搭建了一个ftp服务器,期间也遇到过一些问题,做一下记录。
1. 权限如何限制
<Directory /home/rsync/upload/*>
<Limit MKD RNFR DELE RMD WRITE>
DenyUser ftp
</Limit>
</Directory>
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
2. 上传/下载速度限制 ,这个也是做ftp最关心的
- TransferRate STOR 2048 group movie ##上传,最后跟属主,比如user,group
- TransferRate RETR 2048 group movie ##下i载, 最后跟属主,比如user,group
3. 匿名用户设置,使用proftpd控制还是比较方便的,控制只允许只读和上传
<Anonymous /home/rsync/upload>
User ftp
Group ftp
UserAlias anonymous ftp
MaxClients 30
DisplayLogin welcome.msg
DisplayChdir .message
<Directory /home/rsync/upload/*> ##特定目录不运行进行指定操作,
<Limit MKD RNFR DELE RMD WRITE>
DenyUser ftp
</Limit>
</Directory>
</Anonymous>
4. 文件编码问题, 因为我电脑装了ubuntu,使用的是utf-8编码,所以我这边上传的电影片名都是使用了utf-8编码,所以在用IE浏览器打开时就出现编码问题,需要手工转换,不是很方便。
网上找了个命令,轻松搞定编码转化问题:
文件名转换: convmv
参数:
-f 原始编码
-t 目标编码
-r 递归处理
--notest 假处理,根svn --dry-run一样的概念,看看哪些文件需要处理
内容转换: iconv
-f 原始编码
-t 目标编码
具体命令:
convmv -f utf8 -t gb2312 -r *
5. ftp帐号登录访问,因为设置了匿名帐号,所以直接访问ftp://xxxx就直接以匿名登录了,如果我要切换用户名咋办?
访问url :
ftp://user@xxxx #指定登录的用户名,需要输入密码
ftp://user:pwd@xxx #直接通过指定的用户名和密码进行登录
搞定。
最后的proftpd.conf配置:
ServerName "DzoneFtp"
ServerType standalone
DefaultServer on
Port 21
UseIPv6 off
Umask 022
User root
Group root
DefaultRoot /home/rsync/upload rsync
DefaultRoot ~ movie
MaxInstances 30
MaxClients 100 "服务器满员了"
AllowStoreRestart on
AllowOverwrite on
RootLogin off
<Directory /home/rsync/upload>
AllowOverwrite on
<Limit ALL>
AllowUser rsync
</Limit>
</Directory>
<Directory /home/movie>
<Limit ALL>
AllowAll
</Limit>
TransferRate STOR 2048 group movie
TransferRate RETR 2048 group movie
</Directory>
<Anonymous /home/rsync/upload>
User ftp
Group ftp
UserAlias anonymous ftp
MaxClients 30
DisplayLogin welcome.msg
DisplayChdir .message
<Directory /home/rsync/upload/*>
<Limit MKD RNFR DELE RMD WRITE>
DenyUser ftp
</Limit>
</Directory>
</Anonymous>
分享到:
相关推荐
NULL 博文链接:https://lgcjava.iteye.com/blog/1992334
在FTP篇章中,手册特别关注FTP服务器软件的选择,如ProFTPD或vsftpd,并详细说明了基本的配置过程。学生将学到如何设置用户权限、管理文件传输等关键操作,以确保FTP服务器的正常运行。 安全性同样是FTP服务器搭建...
图2 FTP服务器工作原理(来源:(网络服务器搭建、配置与管理)教材) FTP服务的传输模式 1、主动传输模式 图3主动传输模式(来源:(网络服务器搭建、配置与管理)教材) 图4被动传输模式(来源:(网络服务器搭建...
这是开源FTP服务端工具proftpd源码,最新版哪里去下载想必大家都知道,我只是源码的搬用工,赚点分花花,谢谢大家。
proftpd1.2 linux下的ftp服务器软件,安装后可以用作ftp服务器使用,此服务器较为流行,安全性好,配置和apache的配置类似,只要更改相应的配置文件就可以进行配置
1.配置FTP服务器,能够实现要求的功能; a.限制用户上传的速率为30K/s; b.限制每个IP只能用3个进程连接; c.最大支持500用户连接服务器; d.ftp用户只能上传,不能下载,不能删除,不能改名字。 e.teacher用户具有...
在linux下搭建ftp服务器,vsftp和proftpd的搭建
ProFTP已经成为继Wu-FTP之后最为流行的FTP服务器软件,越来越多的站点选用它构筑安全高效的FTP站点,ProFTP配置方便,并有MySQL和Quota模块可供选择,利用它们的完美结合可以实现非系统账号的管理和用户磁盘的限制。...
很久以前知道linux下搭建ftp服务器的软件是wuftp,现在真的时代变了,上网看一下几乎全世界的人都用proftpd了!赶个潮流,我也用proftpd在公司的一台备用小服务器上装上ftp服务器
架设LINUX-FTP服务的压缩包proftpd,具体安装方式网上有
proftpd全称:Professional FTP daemon,是针对Wu-FTP的弱项而开发的,除了改进的安全性,还具备许多Wu-FTP没有的特点,能以Stand-alone、xinetd模式运行等。ProFTP已经成为继Wu-FTP之后最为流行的FTP服务器软件,...
ProFTPD是一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序,它是在自由软件基金会的版权声明(GPL)下开发、发布的免费软件,也就是说任何人只要遵守GPL版权声明,都可以随意修改源始码。...
proftpd服务工具,解压后进入proftpd目录,运行 sh init.sh...proftpd:进入proftpd目录,运行 sh start.sh 脚本,验证 FTP 是否 OK:通过浏览器输入 FTP 地址,输入账号密码测试是否 OK(FTP地址:ftp://ip地址:端口号)
一、Proftpd在LNMP 1.0中增加了Proftpd服务器安装脚本,proftpd可以通过配置文件对权限进行更多的设置。Proftpd可以单独安装,不需要其他如MySQL的支持,完全使用配置文件进行设置。安装进入lnmp1.0解压后的目录,...
目前Linux下FTP服务器软件主要有Wu-FTP和ProFTPD两种。 Wu-FTP是Red Hat Linux预装软件,但安全漏洞很多。ProFTPD针对Wu-FTP的弱项而开发,除改进了安全性外,还具备许多特点,如设置简单、能以Stand- alone模式运行...
ProFTPD源自对安全和可配置FTP服务器的需求。 它的灵感来自对Apache Web服务器的钦佩。 与大多数其他Unix FTP服务器不同,它不是源自旧的BSD ftpd代码库,而是一种全新的设计和实现。 ProFTPD的广泛可配置性为系统...
proftpd-1.3.7a.tar.gz安装包 。ftp服务器端程序。配置相比,vsftpd简单。 可用于linux下。
docker-proftpd 针对proftpd实例运行的示例: docker run -d --net host \ -e FTP_USERNAME=test -e FTP_PASSWORD=test \ -v /path/to/your/ftpdir:/home/ $FTP_USERNAME \ hauptmedia/proftpd