![]() |
|
|
| 付款方式 在线问答 |
|
vsftp配置手册vsftp即Very Security FTP,顾名思义,非常安全的FTP服务器。
vsFTP服务器的安装安装一个软件实在是不许要在这里介绍,因此,这里的安装主要针对vsFTPd服务器的初级配置。 VSFTPD的菜鸟篇 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 [原文出处 http://www.5ilinux.com/vsftp01.html]
匿名服务器的连接(独立的服务器)在/etc/vsftpd/vsftpd.conf配置文件中添加如下几项: anonymous_enable=yes (允许匿名登陆) 功能:只能连接FTP服务器,不能上传和下传 开启匿名FTP服务器上传权限在配置文件中添加以下的信息即可: Anon_upload_enable=yes (开放上传权限) Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件) Write_enable=yes (开放本地用户写的权限) Anon_other_write_enable=yes (匿名帐号可以有删除的权限) 开启匿名服务器下传的权限在配置文件中添加如下信息即可: Anon_world_readable_only=no 注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限 普通用户FTP服务器的连接(独立服务器)在配置文件中添加如下信息即可: Local_enble=yes (本地帐户能够登陆) Write_enable=no (本地帐户登陆后无权删除和修改文件) 功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限 用户登陆限制进其它的目录,只能进它的主目录设置所有的本地用户都执行chroot Chroot_local_user=yes (本地所有帐户都只能在自家目录) 设置指定用户执行chroot Chroot_list_enable=yes (文件中的名单可以调用) Chroot_list_file=/任意指定的路径/vsftpd.chroot_list 注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可 限制本地用户访问FTPUserlist_enable=yes (用userlistlai 来限制用户访问) Userlist_deny=no (名单中的人不允许访问) Userlist_file=/指定文件存放的路径/ (文件放置的路径) 注:开启userlist_enable=yes匿名帐号不能登陆 安全选项Idle_session_timeout=600(秒) (用户会话空闲后10分钟) Data_connection_timeout=120(秒) (将数据连接空闲2分钟断) Accept_timeout=60(秒) (将客户端空闲1分钟后断) Connect_timeout=60(秒) (中断1分钟后又重新连接) Local_max_rate=50000(bite) (本地用户传输率50K) Anon_max_rate=30000(bite) (匿名用户传输率30K) Pasv_min_port=50000 (将客户端的数据连接端口改在 Pasv_max_port=60000 50000—60000之间) Max_clients=200 (FTP的最大连接数) Max_per_ip=4 (每IP的最大连接数) Listen_port=5555 (从5555端口进行数据连接) 查看谁登陆了FTP,并杀死它的进程ps –xf |grep ftp kill 进程号 vsFTP服务器的配置VSFTPD的高手篇 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 [原文出处 http://www.5ilinux.com/vsftp02.html] 我可不是高手!!!^_^我只不过是个菜鸟,尽我的能力写出了我这个菜鸟觉得的高手篇,所以有什么错误请大家指正哦!!! 环境:linux as 3.0 + vsftpd -1.2.0-4的系统架构,是在独立服务器下的哦!讨厌XINETD^_^ 配置本地组访问的FTP首先创建用户组 test和FTP的主目录 groupadd test mkdir /tmp/test 然后创建用户 useradd -G test –d /tmp/test –M usr1 注:G:用户所在的组 d:表示创建用户的自己目录的位置给予指定 M:不建立默认的自家目录,也就是说在/home下没有自己的目录 useradd –G test –d /tmp/test –M usr2 接着改变文件夹的属主和权限 chown usr1.test /tmp/test ----这表示把/tmp/test的属主定为usr1 chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么权限都没有 这个实验的目的就是usr1有上传、删除和下载的权限 而usr2只有下载的权限没有上传和删除的权限 当然啦大家别忘了我们的主配置文件vsftpd.conf 要确定local_enable=yes、write_enable=yes、chroot_local_usr=yes这三个选项是有的哦! 配置独立FTP的服务器的非端口标准模式进行数据连接这个非常容易:在VSFTPD。CONF中添加 Listen_port=33333 就可以了啦! 配置单独的虚拟FTP,使用虚拟FTP用户,并使建立的四个帐户中有不同的权限(两个有读目录的权限,一个有浏览、上传、下载的权限,一个有浏览、下载、删除和改文件名的权限) A:配置网卡第一块网卡地址是10.2.3.4 掩码是255.255.0.0 ifconfig eth0:1 211.131.4.253 netmask 255.255.255.0 up B:写入/etc/sysconfig中(为了重起后IP地址不会丢失)cd /etc/sysconfig/network-scripts cp ifcfg-eth0 ifcfg-eth0:1 vi ifcfg-eth0:1在其中修改内容如下 DEVICE=eth0:1 BROADCAST=211.131.4.255 HWADDR=该网卡的MAC地址 IPADDR=211.131.4.253 NETMASK=255.255.255.0 NETWORK=211.131.4.0 onBOOT=yes TYPE=Ethernet wq退出 C:进入vsftpd.conf所在的文件夹cp vsftpd.conf vsftpd2.conf 修改vsftpd.conf添加以下信息 Listen_address=10.2.3.4 修改vsftpd2.conf添加以下信息 Listen_address=211.131.4.253 Ftpd_banner=this is a virtual ftp test 到此虚拟的FTP服务器建立好了 D:建立logins.txtvi /tmp/logins.txt 添加入下信息: longlei------------用户名 longlei------------密码 zhangweibo zhangweibo jinhui jinhui lxp lxp 格式要按照我的来哦,一个用户名,一个密码啦 E:建立访问者的口令库文件,然后修改其权限db_load –T –t hash –f /tmp/logins.txt /etc/vsftpd_login.db F:进如/etc/pam.d/中创建ftp.vu在此文件中添加如下信息 auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd_login G:在/var/ftp/创建目录并改变其属性和它的属主useradd -d /var/ftp/test qiang chmod 700 /var/ftp/test 在目录中添加test_file测试文件 H:进入vsftpd2.conf修改其中的信息Listen_yes Anonymous_enable=no Local_enable=yes Write_enable=no Anon_upload_enable=no Anon_mkdir_write_enable=no Anon_other_write_enable=no Chroot_local_user=yes Guest_enable=yes----------起用虚拟用户 Guest_username=qiang------将虚拟用户映射为本地用户 Listen_port=5555 Max_client=10 Max_per_ip=1 Ftpd_banner=this is a virtual server and users Pam_service_name=ftp.vu 注:在主配置文件中给的权限越低,在后面分用户管理的时候对拥护的权限划分的空间就越大,因为主配置文件最高的限制服务先读主配置文件,然后再读用户的配置文件 重起服务。到此虚拟USER就建好了 I:在vsftpd.comf所在的目录中创建virtaul文件目录并在文件目录中创建以你用户名命名的配置文件Longlei zhangweibo jinhui lxp 在longlei中添加: Anon_world_readable_only=no 在lxp中添加 Anon_world_readable_only=no 这样此两个用户就有了浏览目录的权限了 在jinhui中添加 Anon_world_readable_only=no Write_enable=yes Anon_upload_enable=yes 此用户就有了上传、下载和浏览的权限 在zhangweibo中添加 Anon_world_readable_only=no Write_enable=yes Anon_upload_enable=yes Anon_other_write_enable=yes 此用户就有了上传、下载、删除文件目录、修改文件名和浏览的权限 J:修改vsftpd2.conf加入user_config_dir=/vsftpd.conf所在的目录/virtual 重起服务器就搞定了 vsftpd.conf中的所有配置信息
vsFTP服务器的维护现在这里还没有关于维护vsftp服务器的资料。欢迎大家编辑2 vsFTP使用的一些补充补充一:如何有选择的把用户限制在家目录中呢?我们要自己建一个文件,在/etc目录中 #touch /etc/vsftpd.chroot_list 以beinan和nanbei这两个用户限制在他们所在的家目录中,而其它的FTP用户不做此限制。 在vsftpd.chroot_list这个文件中,把beinan和nanbei添上去就行,注意,每个用户占一行。 beinan nanbei 然后改/etc/vsftpd/vsftpd.conf文件,找如下的两行 #chroot_list_enable=YES #chroot_list_file=/etc/vsftpd.chroot_list 把前面的#号去掉,也就是这样的 chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list 如果没有这样的两行,就可以自己添加上去也是一样的。 设置好后,重新vsFTPD服务器。 补充一之补充:如何把系统内所有的FTP用户都限制在家目录中呢??经juliaugong兄的提示,我查找了vsFTPd的洋文说明,证明这个选项是一刀切的解决所有的用户都能限制在家目录中 我们可以通过更改vsftpd.conf文件,加入如下的一行 chroot_local_user=YES 改完配制文件,不要忘记重启vsFTPd服务器 [root@linuxsir001 root]# /etc/init.d/vsftpd restart 关闭 vsftpd: [ 确定 ] 为 vsftpd 启动 vsftpd: [ 确定 ] [root@linuxsir001 root]# 补充二:打开vsFTP服务器的日志功能把下面xferlog_file前面的#号对掉,也就是把vsftp的log功能打开,这样我们就能在/var/log目录下查看vsftpd.log。这是vsFTP的日志功能,这对于我们来说是极为重要的。 #xferlog_file=/var/log/vsftpd.log 补充三:如何让绑定IP到vsFTP?也就是说,如何让用户只能通过某个IP来访问FTP。其实这个功能很有意思。如果绑定的是内网的IP,外部是没有办法访问的。如果绑定的是对外服务的IP,内网也只能通过对外服务的IP来访问FTP 在/etc/vsftpd/vsftpd.conf中加一行,以我的局域网为例,请看第一帖中的操作环境,这样外网就不能访问我的FTP了,内网也可能通过192.168.0.2来访问FTP listen_address=192.168.0.2 加完后,要重启vsFTP服务器 [root@linuxsir001 root]# /etc/init.d/vsftpd restart 关闭 vsftpd: [ 确定 ] 为 vsftpd 启动 vsftpd: [ 确定 ] [root@linuxsir001 root]# 补充四:如何让vsFTP服务器限制链接数,以及每个IP最大的链接数??答:应该改vsFTP服务器的配制文件vsftpd.conf,加入下面的两行: max_clients=数字 max_per_ip=数字 举例:我想让我的vsFTP最大支持链接数为100个,每个IP,最多能支持5个链接,所以我应该在vsftpd.conf中加上如下的两行: max_clients=100 max_per_ip=5 改好了配制文件,不要忘记启动vsftp服务器。 补充五:如何限制下载的速度?anon_max_rate=数字 注:这是匿名的下载速度 local_max_rate=数字 注:这是vsFTP服务器上普通用户的下载速度 注:这个数字的单位是字节,所以我们要计算一下。比如我想让匿名用户和vsFTP上的用户都以80KB下载,所以这个数字应该是1024x80=81920 所以我们要在vsftpd.conf中加入下面的两行 anon_max_rate=81920 local_max_rate=81920 不要忘记重启vsftpd服务 补充六:我的硬盘空间有限,怎么办?我的硬盘空间有限,如何把帐号ftp默认的路径/var/ftp更改到别处?或者是,我的linux所有的目录都放在/根分区,因为空间紧张,我能否把ftp这个用户的默认路径放到别的分区? 可以,应该如下操作! 首先要把ftp这个用户删除 #userdel -r ftp 会有错误信息,不过不用理,这是正常的。 然后我们再把这个用户添加上,比如我想为帐号ftp的家目录设置在/mnt/LinG/ftp,我们就可以如下操作 [root@linuxsir001 root]# mkdir /mnt/LinG [root@linuxsir001 root]# adduser -d /mnt/LinG/ftp -g ftp -s /sbin/nologin ftp 仅仅是这样做还不行,因为这样还是不能让匿名用户找到它的家目录,所以我们必须改变/mnt/LinG/ftp这个目录的权限。 [root@linuxsir001 root]# chmod 755 /mnt/LinG/ftp/ [root@linuxsir001 root]# chown -R root.root /mnt/LinG/ftp/ 补充七:如何定制欢迎信息如何在我们登入有些FTP之后,会出现类似:欢迎您来到LinuxSir FTP,在这里,您会得到最真诚的帮助,如果有什么问题和建议,请来信,多谢。 实现这个并不难,我们可以查看vsftpd.cof文件中,是否有这行。 dirmessage_enable=YES 如果没有就加上,如果dirmessage_enable=YES前面有#号,就把#号去掉。 然后我们制定一个.message文件,写上您想要写的东西,比如是.message的内容是如下的: 欢迎您来到LinuxSir FTP! 在这里,您会得到最真诚的帮助; 如果有什么问题和建议,请来信,多谢。 我们可以用编辑器来写这个.message,我想这个过程就不用说了吧。 然后我们把.message这个文件复制到各个用户的家目录中。比如我的FTP的一个用户是beinan,这个用户所在的家目录是/home/beinan 我们就要把.message放在/home/beinan这个目录下。如果系统用户ftp,他的目录就是/var/ftp这个目录,这个是默认的,当匿名用户登入时就访问的是/var/ftp这个目录。我们要让匿名用户能看到欢迎信息。就要把.message放在/var/ftp目录中。其它的用户,也无非就是类似的操作。 补充八:如何实现虚拟路径?比如: /home/a 映射为ftp://localhost/a /home/b/c 则为ftp://localhost/c 其实这个不能说是vsFTPd的内容,其实我们早就接触过了,可能我们没有注意,我们可以通过如下的方法来实现。 #mount --bind [原有的目录] [新目录] 比如我的ftp的默认目录是/var/ftp,我想把/mnt/LinG/WinSoft文件夹,映射到/var/ftp目录中,我就如下操作 我们要先在/var/ftp目录中建一个目录 #mkdir /var/ftp/WinSoft 然后执行mount命令 #mount --bind /mnt/LinG/WinSoft /var/ftp/WinSoft 这样就OK了。 补充九:如何上匿名访问、上传,并支持下载和执行?在默认的情况下,vsftp是不支持匿名用户的访问的,所以我们要自己打开相应的选项。现在我针对这个问题,我们要打开如下的选项。 anonymous_enable=YES 注:允许匿名访问 anon_upload_enable=YES 注:允许上传 anon_mkdir_write_enable=YES 注:允许建立相应的目录 anon_umask=022 把上传到FTP的文件或者目录改变权限 当然打开这些选项还是不行的,我们还要让匿名写入文件的上一级目录有写入权,以我所做的FTP为例,我所做的FTP的匿名访问的目录是/var/ftp,在vsFTPd中,/var/ftp这个目录是不能让匿名用户有写入权限的,这是为了安全考虑,所以我们必须自己在/var/ftp目录中建一个目录,让这个目录有写入权。 比如:我在/var/ftp目录建一个upload目录,然后把它的权限设置成777,这样匿名用户就能写入了。 #mkdir /var/ftp/upload #chmod 777 /var/ftp/upload 改了一系列的文件,不要忘记重启vsFTPd服务器 我是用standalone模式的,当然用下面的方法 [root@linuxsir001 root]# service vsftpd restart 关闭 vsftpd: [ 确定 ] 为 vsftpd 启动 vsftpd: [ 确定 ] [root@linuxsir001 root]# 如果您用的是xinetd模式来启动vsFTPd,我们要重启xinetd服务器 [root@linuxsir001 root]# service xinetd restart 停止 xinetd: [ 确定 ] 启动 xinetd: [ 确定 ] [root@linuxsir001 root]# ] 补充十:通过pam认证方式,添加虚拟用户
1。在/etc/pam.d/目录中创建一个文件ftp [root@linuxsir001 root]# touch /etc/pam.d/ftp 2。在/etc/pam.d/ftp里面加上如下的两行 auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd_login 3。创建一系统的用户名用密码的文件logins.txt [root@linuxsir001 root]# touch logins.txt 在logins.txt文件中,输入如下的内容。这个内容您可以自己来定。比如我下面的。其实linuxsir007是FTP的虚拟用户名,123456是linuxsir007的密码;linuxsir008是虚拟用户名,234567是linuxsir008的密码,以此类推,您想加入几个就是几个;下面是我添加的FTP的虚拟用户名和密码。 linuxsir007 123456 linuxsir008 234567 linuxsir009 567890 linuxsir010 678901 linuxsir011 789012 4。创建一个真实的用户名linuxsir006,这个linuxsir006的用户,所在的家目录由您来定。我在这里不多说了。我是按系统默认的来添加的。 [root@linuxsir001 root]# useradd linuxsir006 5。把/etc/hosts复制到/home/linuxsir006,并改变它的属主 [root@linuxsir001 root]#cp /etc/hosts /home/linuxsir006/hosts [root@linuxsir001 root]#chown linuxsir006.linuxsir006 /home/linuxsir006/hosts 6。通过db_load来创建虚拟用户的库文件。我们在前面建的logins.txt文件,我是放在了/root用户目录下。所以咱们得把目录切换到/root目录来创建虚拟用户的库文件。 [root@linuxsir001 root]# db_load -T -t hash -f logins.txt /etc/vsftpd_login.db 7。更改vsftpd.conf文件,加入如下的几行 pam_service_name=ftp guest_enable=YES guest_username=linuxsir006 anon_world_readable_only=NO 8。重启vsFTPd服务器;改了一系列的文件,不要忘记重启vsFTPd服务器 我是用standalone模式的,当然用下面的方法 [root@linuxsir001 root]# service vsftpd restart 关闭 vsftpd: [ 确定 ] 为 vsftpd 启动 vsftpd: [ 确定 ] [root@linuxsir001 root]# 如果您用的是xinetd模式来启动vsFTPd,我们要重启xinetd服务器 [root@linuxsir001 root]# service xinetd restart 停止 xinetd: [ 确定 ] 启动 xinetd: [ 确定 ] [root@linuxsir001 root]# 9。如果您想让用户登入FTP时,登入成功的相应的信息,请把您制作的.message复制到您的用户的家目录中,这方面的请参考前面的补充。 10。测试: [root@linuxsir001 root]# ftp 192.168.0.1 Connected to 192.168.0.1. 220 (vsFTPd 1.1.3) 530 Please login with USER and PASS. 530 Please login with USER and PASS. KERBEROS_V4 rejected as an authentication type Name (192.168.0.1:root): linuxsir007 331 Please specify the password. Password: 230-欢迎光临LinuxSir自由FTP 230-在这里,您将得到最真诚的帮助! 230-本站限度为30KB! 230-每个IP限四个线程 230-请大家遵守FTP的有关规定。 230-多谢合作! 230- 230-LinuxSir管理部 230 Login successful. Have fun. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (192,168,0,1,85,171) 150 Here comes the directory listing. -rw-r--r-- 1 ftp ftp 174 Jun 01 12:59 hosts drwxr-xr-x 3 ftp ftp 4096 Jun 01 13:29 linuxsir008 drwxr-xr-x 2 ftp ftp 4096 Jun 01 13:24 sun 226 Directory send OK. ftp> 补充十一:如何把系统默认用standalone启动改为用xinetd启动?如何把Redhat 9.0中系统默认安装的vsftpd-1.1.3-8.i386.rpm,系统默认vsFTPd是用standalone启动方式 ,改为xinetd启动方式 ?如果是用源码包安装的,安装后就是xinetd模式,如果是用RPM包安装的,在Redhat 9.0中,应该用下面的方法来解决。 1.在/etc/xinetd.d/目录中创建一个文件vsftpd [root@linuxsir001 root]# touch /etc/xinetd.d/vsftpd /etc/xinetd.d/vsftpd内容如下: service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
# server_args =
# log_on_success += DURATION USERID
# log_on_failure += USERID
nice = 10
disable = no
}
2。复制vsftpd.conf到/etc/目录下,因为xinetd对vsFTPd配制文件应该在/etc目录下,所以我们就必须把这个文件复制到/etc目录下,否则会出现系统中local用户无法登入,也就是说,不复制这个文件会出现ftp非匿名用户无法访问,只能用匿名用户访问。 [root@linuxsir001 root]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd.conf 3。更改配制文件/etc/vsftpd.conf,把如下的项注掉:也就是把 listen=YES 改为 #listen=YES 或者是把这行删除也行。 4。把/etc/init.d/vsftpd这个文件删除。其实最好的备份到别处,因为我们有时实验来实验去,可能还会转到standalone模式启动。我就直接移动到别的目录,比如是/root下面的backup目录。 [root@linuxsir001 root]#mkdir /root/backup [root@linuxsir001 root]# mv /etc/init.d/vsftpd /root/backup 5。运行ntsysv,把vsftpd的服务取消 [root@linuxsir001 root]#ntsysv [ ] vsftpd 6。重启xinetd服务 [root@linuxsir001 root]# service xinetd restart |
|
上海电信漕宝机房 地址:漕宝路1600号 漕宝机房介绍 上海移动双线机房 机房地址: 金沙江路1340弄 双线机房介绍
公司地址:上海市普陀区清峪路368弄12号301 邮编:200333 电话 021-52691612 传真 021-52693626 《增值电信业务经营许可证》许可证编号: 沪ICP备05001352号 上海市互联网违法与违规信息举报中心 上海市互联网协会 上海市电子商务行业协会 DNS Stuff 公益性SEO 页面执行时间:62.500毫秒 上海纵智信息技术有限公司 版权所有 2004-2007 营业执照 |