关于proftp的问题,我总结了几个FAQ和大家分享: 1、配置ftp允许root登录 修改/etc/ftpusers,去掉root
2、如果希望实现root用户ftp后可以切换到/目录,一般用户只能切换到自己的主目录 修改/etc/proftpd.conf文件,在DefaultRoot ~ 一行前面增加一行 DefaultRoot / root 重新启动proftpd服务即可. 改变匿名登录的不想登录到默认的 /var/ftp目录 就要把/etc/passwd文件中的 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin 中的默认目录改变了即可.
3、如何使ftp具有对目录的写入功能 请在/etc/proftpd.conf文件中的 <Global>段中改为如下: <Limit WRITE > AllowAll </Limit> 才可以.
注:一些特殊的要求可以通过limit选项来限制或是准许.
有关Limit模块的选项及说明如下: CMD 改变目录 MKD 建立目录的权限 RNFR 更改目录名的权限 DELE 删除文件的权限 RMD 删除目录的权限 RETR 从服务端下载到客户端的权限 STOR 从客户端上传到服务端的权限 READ 可读的权限,不包括列目录的权限,相当于RETR,STAT等 WRITE 写文件或者目录的权限,包括MKD和RMD DIRS 是否允许列目录,相当于LIST,NLST等权限,还是比较实用的 ALL 所有权限 LOGIN 是否允许登陆的权限
有关Limit执行动作以及功能说明如下表: Allow 授权访问的主机 Deny 拒绝访问的主机 AllowUser 针对某个用户允许的Limit选项 DenyUser 针对某个用户禁止的Limit选项 AllowGroup 针对某个用户组允许的Limit选项 DenyGroup 针对某个用户组禁止的Limit选项 AllowAll 针对所有用户组允许的Limit选项 DenyAll 针对所有用户禁止的Limit选项
4、如何限制ftp的匿名登录? 限制匿名用户可以在/etc/ftpusers里,您把要限制的匿名用户加在里面即可 匿名的名称是ftp,anonymous.
5、 ftp上传的时候不能上传同名文件?
ftp的配置文件中默认是准许匿名覆盖上传的,可以看下ftp的配置文件
对应的用户的设置段中的AllowOverwrite 值判定,no是不准许,yes是准许
然后重启ftp服务即可.
6、ftp改为PASV模式
在我们红旗dc 5.0中的设置是在proftpd.conf中添加如下两条语句即可. MasqueradeAddress ip地址 #该参数设置在client发pasv指令时,server返回给client的pasv地址串中应该包 含的连接地址, #该地址通常是防火墙的外部地址(作rdr的地址) PassivePorts 端口号
设置好之后重启一下ftp服务. FTP的连接一般是有两个连接的,一个是客户程和服务器传输命令的,另一个是数 据传送的连接.FTP服务程序一般会支持两种不同的模式,一种是Port模式,一种是 Passive模式(PasvMode),我先说说这两种不同模式连接方式的分别. 先假设客户端为C,服务端为S. *Port模式:* 当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉 服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接), 当服务端S收 到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了.
*Pasv模式:* 当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在 本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服 务端S的M端口进行连接,连接成功后,数据连接也建立了.
从上面的解释中,两种模式主要的不同是数据连接建立的不同,对于Port模式,是 客户端C在本地打开一个端口等服务端S去连接建立数据连接;而Pasv模式就是服务端 S打开一个端口等待客户端C去建立一个数据连接.
关于ftp的pasv模式,有一种情况: 如果是通过iptables转发到内网的一台服务器,默认只能用port模式,此时,可以 增加两个iptables模块,以实现pasv模式: modprobe ip_conntrack_ftp modprobe ip |