用了一下午时间
终于搞清楚proftp的大概使用方法
特写出来大家共享
tar -zvxf proftp
cd proftp
./configure --prefix=/usr/local/proftp/
*****************************************************
./configure --prefix=/usr/local/proftp --with-modules=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql:mod_ratio --with-includes=/usr/local/mysql/include/mysql --with-libraries=/usr/local/mysql/lib/mysql
*****************************************************
make
make install
将/usr/local/proftp/ect/proftpd.conf
中的nogroup改成nobody
****此时proftp可以匿名登陆。
启动命令为
/usr/local/proftp/sbin/proftpd
立即关闭的命令
/usr/local/proftp/sbin/ftpshut +0
关闭命令为
/usr/local/proftp/sbin/ftpshut
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会使用到这个命令。
举例:
再经过30分钟后,FTP服务将关闭,在这之前的20分钟不可接受任何新的ftp连接,已经建立的在服务关闭前10分钟强制断线,并在客户端显示“FTP Server Will shutdown at time”
ftpshut -l 20 -d 10 +30 "FTP Server Will shutdown at time"
其实ftpshut就是产生/etc/shutmsg ,你只要删除这个文件ftp又可以重新服务,或者
直接用
ftpshut -R
*****此时ftp可以关闭,运行
附:我们用到的比较多的可能是Limit的使用,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:是否允许登陆的权限
针对上面这个Limit所应用的对象,又包括以下范围
AllowUser 针对某个用户允许的Limit
DenyUser 针对某个用户禁止的Limit
AllowGroup 针对某个用户组允许的Limit
DenyGroup 针对某个用户组禁止的Limit
AllowAll 针对所有用户组允许的Limit
DenyAll 针对所有用户禁止的Limit
关于限制速率的参数为:
TransferRate STOR|RETR 速度(Kbytes/s) user 使用者
****这个是limit的大致命令
groupadd ftp
useradd -d /home/www -g ftp song
passwd song
****加ftp组,又加song用户到ftp组中
难点:虚拟ftp服务器的配置
<Anonymous /home/www/>
User wangsong
Group ftp
AnonRequirePassword on
AllowRetrieveRestart on
AllowStoreRestart on
</Anonymous>
****测试登陆成功 问题1,不能覆盖 解决:把文件属性写成wangsong.ftp就可以解决