ftp服务器搭建(proftpd)

简介:

今天花了一个早上时间,使用了proftpd搭建了一个ftp服务器,期间也遇到过一些问题,做一下记录。

 

1. 权限如何限制


1.<Directory /home/rsync/upload/*>   
2.    <Limit MKD RNFR DELE RMD WRITE>  
3.        DenyUser ftp  
4.    </Limit>  
5.  </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控制还是比较方便的,控制只允许只读和上传


1.<Anonymous /home/rsync/upload>  
2.  User              ftp  
3.  Group             ftp  
4.  UserAlias             anonymous ftp  
5.  MaxClients            30  
6.  DisplayLogin          welcome.msg  
7.  DisplayChdir          .message  
8.  <Directory /home/rsync/upload/*> ##特定目录不运行进行指定操作,  
9.    <Limit MKD RNFR DELE RMD WRITE>  
10.        DenyUser ftp  
11.    </Limit>  
12.  </Directory>  
13.</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配置: 

1.ServerName          "DzoneFtp"  
2.ServerType          standalone  
3.DefaultServer           on  
4.  
5.Port                21  
6.UseIPv6             off  
7.Umask               022  
8.  
9.User                root  
10.Group               root  
11.DefaultRoot             /home/rsync/upload rsync  
12.DefaultRoot         ~ movie  
13.  
14.MaxInstances            30  
15.MaxClients              100 "服务器满员了"  
16.AllowStoreRestart               on  
17.AllowOverwrite          on  
18.RootLogin                       off  
19.  
20.<Directory /home/rsync/upload>  
21.  AllowOverwrite                on  
22.  <Limit ALL>  
23.        AllowUser rsync  
24.  </Limit>  
25.</Directory>  
26.  
27.<Directory /home/movie>  
28.  <Limit ALL>  
29.        AllowAll  
30.  </Limit>  
31.  TransferRate  STOR    2048    group movie  
32.  TransferRate  RETR    2048    group movie  
33.</Directory>  
34.  
35.<Anonymous /home/rsync/upload>  
36.  User              ftp  
37.  Group             ftp  
38.  UserAlias             anonymous ftp  
39.  MaxClients            30  
40.  DisplayLogin          welcome.msg  
41.  DisplayChdir          .message  
42.  <Directory /home/rsync/upload/*>   
43.    <Limit MKD RNFR DELE RMD WRITE>  
44.        DenyUser ftp  
45.    </Limit>  
46.  </Directory>  
47.</Anonymous>


相关文章
|
7月前
|
SQL 分布式计算 DataWorks
DataWorks常见问题之dataworks连接FTP服务器失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
7月前
|
Ubuntu 安全 网络安全
百度搜索:蓝易云【Ubuntu系统搭建FTP服务器教程】
现在,你已经成功在Ubuntu系统上搭建了FTP服务器。你可以使用FTP客户端连接到你的FTP服务器,并上传、下载文件。注意,为了安全起见,建议配置SSL/TLS加密以保护数据传输。
109 0
|
网络协议 安全 Linux
小白带你学习文件共享服务器FTP和SAMBA的学习(二十二)
小白带你学习文件共享服务器FTP和SAMBA的学习(二十二)
180 0
|
2月前
|
网络协议 文件存储 Windows
Windows Server 2019 FTP服务器搭建
Windows Server 2019 FTP服务器搭建
|
2月前
|
安全 网络协议 网络安全
Windows Server 2003 FTP服务器搭建
Windows Server 2003 FTP服务器搭建
|
2月前
|
弹性计算 关系型数据库 网络安全
阿里云国际版无法连接和访问Windows服务器中的FTP服务
阿里云国际版无法连接和访问Windows服务器中的FTP服务
|
4月前
|
安全 Ubuntu Linux
在Linux中,如何进行FTP服务器配置?
在Linux中,如何进行FTP服务器配置?
|
5月前
|
网络协议 Unix 网络安全
FTP服务器怎么搭建?Windows server搭建FPT服务器
FTP服务器是按照FTP协议提供文件传输服务的计算机。它用于在两台计算机间安全地传输文件,支持用户权限管理和跨平台操作。FTP使用控制连接处理命令,数据连接传输文件,有PORT和PASV模式。要搭建FTP服务器,首先在Windows Server 2008 R2上安装IIS,确保选中FTP服务。接着,创建FTP文件夹作为站点根目录,通过IIS管理器添加FTP站点,配置站点信息、身份验证和权限。测试客户端通过telnet和浏览器访问FTP服务器,确认能成功登录及浏览文件。FTP常用于文件共享和管理,可通过专用工具如FlashFXP上传下载文件。
183 0
FTP服务器怎么搭建?Windows server搭建FPT服务器
|
6月前
|
存储 数据库连接 数据库
如何使用Python上传文件到FTP服务器
如何使用Python上传文件到FTP服务器
94 1
|
7月前
|
存储 运维 程序员
快速搭建一个FTP服务器
快速搭建一个FTP服务器
115 0