apt-get install pure-ftp-common pure-ftpd
二、配置:
Pure-FTPd的配置比较怪异,它的配置不像其他FTP通过一个配置文件来实现,而是通过命令行+参数来启动,据开发这是为了更好的性能和安全性,我实在想不通这能起到多大的作用,相反觉得增加了用户的使用难度。Debian的开发人员为了降低难度,采用一种变通的配置方式,在/etc下建立一个pure-ftpd的目录,底下还有conf、db、auth这三个目录和一个pureftpd-alias-dir文件。
每一个配置选项将以一个文件的形式存在于/etc/pure-ftpd/conf之中,例如如果想配置AnonymousOnly=yes(只允许匿名用户),则在/etc/pure-ftpd/conf中创建一个名为AnonymousOnly的文件,里面只有一行内容:yes。
cat /etc/pure-ftpd/conf/AnonymousOnly
yes
了解了基本的配置规则后下面开始配置我们的匿名FTP服务器,因为是匿名的,所以安全性就需要考虑得多一些。
1、创建ftp帐号和组
groupadd ftp
useradd -s /bin/false -m -c Anonymous ftp -d /home/ftp ftp ftp
2、限制匿名用户权限
cd /etc/pure-ftpd/conf
echo yes > AnonymousOnly
echo no > NoAnonymous
# 只允许匿名用户
echo no > AnonymousCanCreateDirs
# 不允许匿名用户创建目录
echo yes > AnonymousCantUpload
# 不允许匿名用户上传
echo no > AllowAnonymousFXP
# 不允许匿名FXP
echo yes > ChrootEveryone
# 将匿名用户限定到ftp的家目录,也就是/home/ftp,这样可以提高安全性
3、绑定IP地址和端口
Pure-FTPd默认下会监听所有的网卡地址,默认的端口是21
我们只需要让它监听本机的eth0就OK了,eth0连接的是企业的内网段,假设为1921681001/24
echo yes > IPV4Only
echo 1921681001,21 > Bind
4、限速
匿名FTP意味着什么人都可以登陆我们的FTP,那就不能提供太高的下载速率,否则容易引起性能问题,甚至DDOS。
echo 2000 > AnonymousBandwidth
# 只允许所有匿名用户使用2000 KB/s的带宽
5、限用户进程
同时一个IP只允许开启两个登陆进程
echo 2 > MaxClientsPerIP
6、配置匿名FTP的文件夹
将共享文件夹拷贝到/home/ftp,例如software
cp -r software /home/ftp
chown -R ftp:ftp /home/ftp/software
chmod -R 550 /home/ftp/software
这里需要将权限设为550,如果设为只读的话用户无法进入software这个目录中。
7、重启服务器
/etc/initd/pure-ftpd restart
大功告成,一个简单、高效的匿名FTP服务器就这样安装成功了。下一篇将讲如何将Pure-FTPd和LDAP进行整合。匿名登录是指在用户访问FTP站点时不需要提供账号和密码,输入地址即可访问。在新建FTP站点时,就有设置权限的选项,如写入、浏览等,详细的文件读写权限在IIS上好像只能对文件夹安全设置,另外一个软件叫做Server-u的,可以设置详细的 *** 作权限。vsftpd是UNIX类 *** 作系统上运行的服务器名称,它的名字代表“very secure FTP daemon”,安全性是其设计与开发的一个重要目标。它可运行在Linux、Solaris等系统中,支持很多其他的FTP 服务器不支持的特征:
非常高的安全性需求
带宽限制
良好的可伸缩性
创建虚拟用户的可能性
分配虚拟IP地址的可能性
一、vsftpd的启动
#service vsftpd start
如果允许用户匿名访问,需创建用户ftp和目录/var/ftp
# mkdir /var/ftp
# useradd –d /var/ftp ftp
二、vsftpd的配置
Vsftpd的配置文件存放在/etc/vsftpd/vsftpdconf 我们可根据实际数要对如下信息进行配置:
1 连接选项
☆监听地址和控制端口
(1) listen_address=ip address
定义主机在哪个IP 地址上监听FTP请求。即在哪个IP地址上提供FTP服务。
(2) listen_port=port_value
指定FTP服务器监听的端口号。默认值为21。
2 性能与负载控制
☆超时选项
(1) idle_session_timeout=
空闲用户会话的超时时间,若是超过这段时间没有数据的传送或是指令的输入,则会被迫断线。默认值是300s
(2) accept_timeout=numerical value
接受建立联机的超时设定。默认值为60s
☆负载选项
(1) max_clients= numerical value
定义FTP服务器最大的兵法连接数。当超过此连接数时,服务器拒绝客户端连接。默认值为0,表示不限最大连接数。
(2) max_per_ip= numerical value
定义每个IP地址最大的并发连接数目。超过这个数目将会拒绝连接。此选项的设置将会影响到网际快车、迅雷之类的多线程下载软件。默认值为0,表示不限制。
(3) anon_max_rate=value
设定匿名用户的最大数据传输速度,以B/s为单位。默认无。
(4) local_max_rate=value
设定用户的最大数据传输速度。以B/s为单位。默认无。此选项对所有的用户都生效。
3 用户选项
vsftpd的用户分为3类:匿名用户、本地用户(local user)及虚拟用户(guest)
☆ 匿名用户
(1) anonymous_enable=YES|NO
控制是否允许匿名用户登录
(2) ftp_username=
匿名用户使用的系统用户名。默认情况下,值为ftp
(3) no_anon_password= YES|NO
控制匿名用户登录时是否需要密码。
(4) anon_root=
设定匿名用户的根目录,即匿名用户登录后,被定位到此目录下。主配置文件中默认无此项,默认值为/var/ftp/
(5) anon_world_readable_only= YES|NO
控制是否只允许匿名用户下载可阅读的文档。YES,只允许匿名用户下载可阅读的文件。NO,允许匿名用户浏览整个服务器的文件系统。
(6) anon_upload_enable= YES|NO
控制是否允许匿名用户上传文件。除了这个参数外,匿名用户要能上传文件,还需要两个条件,write_enable参数为YES;在文件系统上,FTP匿名用户对某个目录有写权限。
(7) anon_mkdir_wirte_enable= YES|NO
控制是否允许匿名用户创建新目录。在文件系统上,FTP匿名用户必须对新目录的上层目录拥有写权限。
(8) anon_other_write_enbale= YES|NO
控制匿名用户是否拥有除了上传和新建目录之外的其他权限。如删除、更名等。
(9) chown_uploads= YES|NO
是否修改匿名用户所上传文件的所有权。YES,匿名用户上传得文件所有权改为另一个不同的用户所有,用户由chown_username参数指定。
(10) chown_username=whoever
指定拥有匿名用户上传文件所有权的用户。
☆本地用户
(1) local_enable= YES|NO
控制vsftpd所在的系统的用户是否可以登录vsftpd。
(2) local_root=
定义本地用户的根目录。当本地用户登录时,将被更换到此目录下。
☆虚拟用户
(1) guest_enable= YES|NO
启动此功能将所有匿名登入者都视为guest
(2) guest_username=
定义vsftpd的guest用户在系统中的用户名。
4 安全措施
☆用户登录控制
(1) /etc/vsftpdftpusers
Vsftpd禁止列在此文件中的用户登录FTP服务器。此机制是默认设置的。
(2) userlist_enable= YES|NO
此选项激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。
(3) userlist_file=/etc/vsftpduser_list
指出userlist_enable选项生效后,被读取的包含用户列表的文件。默认值是/etc/vsftpduser_list
(4) userlist_deny= YES|NO
决定禁止还是只允许由userlist_file指定文件中的用户登录FTP服务器。userlist_enable选项启动后才能生效。默认值为YES,禁止文中的用户登录,同时不向这些用户发出输入口令的指令。NO,只允许在文中的用户登录FTP服务器。
☆目录访问控制
(1) chroot_list_enable= YES|NO
锁定某些用户在自己的目录中,而不可以转到系统的其他目录。
(2) chroot_list_file=/etc/vsftpd/chroot_list
指定被锁定在主目录的用户的列表文件。
(3) chroot_local_users= YES|NO
将本地用户锁定在主目中。
三、vsftpd服务器的配置实例:
基于IP的虚拟FTP服务器配置
假设服务器有两个IP地址,1921681199和1921681200。vsftpd是建立在1921681199上的。现在在1921681200上再提供一个虚拟FTP服务器。
☆创建虚拟FTP服务器根目录
# mkdir –p /var/ftp2/pub
确保/var/ftp2和/var/ftp2/pub目录的所有者和组均为root,掩码为755
# chmod 755 /var/ftp2 # chmod 755 /var/ftp2/pub
# chown –R root /var/ftp2 # chown –R : root /var/ftp2
☆ 增加虚拟FTP服务器的匿名用户帐号ftp2
# useradd –d /var/ftp2 –M ftp2
☆ 创建虚拟FTP服务器的配置文件
复制原来的vsftpdconf作为虚拟FTP服务器的配置文件,并修改相关参数
# cp /etc/vsftpd/vsftpdconf /etc/vsftpd/vsftpd2conf
# vi /etc/vsftpd/vsftpd2conf
添加或修改参数:
Listen=YES
Listen_address=1921681200
ftp_username=ftp2
anon_root=/var/ftp2
并可参考vsftpd的配置部分的说明做其他配置,如:
•允许匿名用户上传文件
Write_enable=YES
Anon_world_readable_only=NO
Anon_upload_enable=YES
Anon_mkdir_write_enable=YES
创建匿名用户上传文件的目录,并设置权限:
# mkdir /var/ftp/incoming # chmod o+w /var/ftp/incoming
•取消写权限
Write_enable=NO
Anon_upload_enable=NO
Anon_mkdir_write_enable=NO
Anon_other_write_enable=NO
•限制下载速度为80KB/s
Anon_max_rate=8000
•控制并发数,以及每个IP地址的并发数
Max_clients=100
Max_per_ip=3
☆启动虚拟FTP服务器
# /usr/sbin/vsftpd /etc/vsftpd/vsftpd2comf &
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)