这篇文章针对那些希望利用ftp协议和朋友们共享文件的人们,就像windows下的FTPserU,我提供的方式不是唯一的,希望我的方法足够清晰。这个FTPserver只允许拥有正确密码的人使用,所以你要明白只有已知的用户才能读取你的FTP服务。
1- 使用下面的命令安装proftpd:
Code:
sudo apt-get install proftpd
2- 在etc/shells 加入如下代码 (sudo gedit /etc/shells to open the file)(译注:命令行模式下sudo vi /etc/shells):
Code:
/bin/false
新建一个 /home/FTP-shared 目录:
Code:
cd /home
sudo mkdir FTP-shared
创建一个只能用来读取ftp的用户userftp。这个用户不需要有效的shell(更安全),所以选择 /bin/false shell 给 userftp,/home/FTP-shared 作为主目录。
为了是这部分更清楚,我给取此操作的命令行:
Code:
sudo useradd userftp -p your_password -d /home/FTP-shared -s /bin/false
在FTP-shared 目录下新建一个download和一个upload 目录:
Code:
cd /home/FTP-shared/
sudo mkdir download
sudo mkdir upload
现在我们来给它们设置相应的权限:
Code:
cd /home
sudo chmod 755 FTP-shared
cd FTP-shared
sudo chmod 755 download
sudo chmod 777 upload
3- 好了,现在进入proftpd的配置文件:
| 以下为引用的内容: Code: sudo gedit /etc/proftpd.conf 当然你可以按你的需要编辑你自己的proftpd.conf: Code: # Choose here the user alias you want !!!! ServerName "ChezFrodon" MultilineRFC2228 on TimeoutNoTransfer 600 DisplayFirstChdir .message RequireValidShell off TimeoutLogin 20 RootLogin off # It's better for debug to create log files ;-) #DenyFilter \*.*/ # I don't choose to use /etc/ftpusers file (set inside the users you want to ban, not useful for me) # Allow to restart a download # Port 21 is the standard FTP port, so don't use it for security reasons (choose here the port you want) # To prevent DoS attacks, set the maximum number of child processes # Set the user and group that the server normally runs at. # Umask 022 is a good standard umask to prevent new files and dirs PersistentPasswd off MaxClients 8 # Display a message after a successful login # Set /home/FTP-shared directory as home directory # Lock all the users in home directory, ***** really important ***** MaxLoginAttempts 5 #VALID LOGINS <Directory /home/FTP-shared> <Directory /home/FTP-shared/download/*> <Directory> /home/FTP-shared/upload/> <Limit STOR CWD MKD> |
好了,你已经完成了proftpd的配置,你的服务端口是1980,而读取的参数如下,用户:sauron,密码:你为userftp设置的那个。
4- 启动/停止/重启动你的服务:
Code:
sudo /etc/init.d/proftpd start
sudo /etc/init.d/proftpd stop
sudo /etc/init.d/proftpd restart
对你的proftpd进行一下语法检查:
Code:
sudo proftpd -td5
想知道谁现在连接到你的服务,用ftptop命令(使用字母"t"来转换显示频率),你也可以使用"ftpwho"命令。