怎么在Debian下配置ProFTPd?Debian所系统目前采用是 Linux 内核。Debian 支持内核工作也正在进行。最主要就是 Hurd,Hurd 是一组在微内核 (例如:Mach) 上运行的提供各种不同功能的守护进程,
我之所以选择proftpd,是因为我以前一直用wu-ftpd,但是我总是没搞定wu-ftpd所出现的问题。在抓狂之后我走向了安装proftpd的道路!
ProFTPD 也是开放源码的软件,以 GPL 许可发布。ProFTPD 可以说是 wu-ftpd 的替代,同时在安全,可伸缩性等方面有很大的提高。特别是对于熟悉 Apache 配置的人而言,它的配置和 Apache 十分相似,因此,用起来肯定能得心应手。
一个单一的和 Apache 的 httpd.conf 类似的配置文件
每个目录下的 .ftpaccess 文件(和 Apache 的. htaccess 类似)
很容易配置的,多个虚拟 FTP 服务器以及匿名 FTP 服务
好了,废话少说,转入正题:
***步.
#Apt-get install proftpd
选择inetd ,之后就OK,这时候我们的linux一个普通用户就能登陆,其他都不能登陆的,所以我们还有很多设置要改!
首先大家先跟我一起要有这样一个思路:
建立下面的文件夹:
/home/china-net (这个文件夹就是我专门用来FTP上传和下载的)
/home/china-net/user1.com
/home/china-net/user2.com
/home/china-net/user3.com
等等是我的服务器用户网站文件夹!
而用户组 ftpadmin 的用户 ftpadmin 就是/home/china-net里面的超级管理员
而用户组 ftpuser 的用户 user1 ,user2 ,user3 ,分别是
/home/china-net/user*.com 文件的对应所属!
2. 安装好之后,会产生两个文件
/etc/proftpd.conf (FTP的主要配置文件)
/etc/ftpusers (里面是FTP禁止登陆的用户)
3.这时候我们来建立FTP的用户组和用户
- #groupadd ftpuser (这个用户组包含我们公司全部的FTP客户)
- #useradd –g ftpuser -d /home/china-net/user1.com / -s /dev/null user1
- #useradd –g ftpuser -d /home/china-net/user1.com / -s /dev/null user2
- #useradd –g ftpuser -d /home/china-net/user1.com / -s /dev/null user3
(上面三个命令就是建立用户,既我们的FTP客户)
- #passwd user1
- Changing password for user echo
- New UNIX password:user1
- Retype new UNIX password:user1
- passwd:all authentication tokens updated successfully
然后让我们的FTP用户只能FTP登陆不能TELNET
- #nano /etc/shells
- /dev/null (在***面加入这行)
- #nano /etc/passwd
- user1:x:1002:1001::/home/ftpuser/:/dev/null 改为
- user1:x:1002:1001::/home/ftpuser/./:/dev/null
这样user1只能用ftp登录,而不能用telnet
重复上面的命令再设置另外两个用户 user2 user3
完毕之后 user1.com就可以登陆了。但是会有两个问题:
a.访问上级目录!
b.上传的文件会无影无终!
4. 解决访问上级目录的问题:
这时候在 /etc/proftpd.conf文件里面加一句
DefaultRoot /home/china-net
你可以用FTP软件试下就知道了。/home/china-net为你FTP的根目录,你的权限最多访问到这里!
这时候你看看,访问上级目录的问题基本上解决了。
可是还是不***。如果我们这样改呢:
DefaultRoot ~ !admin
这个时候你在看看,哪个用户登陆都是它自己的根目录!
好,下面解决不能上传的问题。
5. 在这里补充一下: chmod chgrp chown 这三个命令一定要熟练使用!不然你就设置不好FTP!
- #groupadd ftpadmin
- #useradd –g ftpadmin –d /home/china-net ftpadmin –s /dev/null
- #chgrp –R ftpadmin /home/china-net (参数R是包含所有目录,这里是加群组)
- #chown –R ftpadmin /home/china-net (这里是加用户)
6. 一个不能上传的问题困扰了我很久,然后我从这里得到了启发:
- User ftp
- Group nogroup
- UserAlias anonymous ftp
- MaxClients 10
- DisplayLogin welcome.msg
- DisplayFirstChdir .message
这样设置后,我的FTP的匿名用户居然可以上传和下载 /home/ftp目录里面的东西,不过根目录也是限制在这个文件下面,不能访问上级目录的。而这个却正是我的user1用户应该拥有的权限!所以我的设置还要改
AllowUser user1
#不允许删除,改名,下载
DenyUser
OK!
写到这里的时候,我的步骤也基本到这里停止了!
【编辑推荐】