linux下的FTP的配置(转帖)

记录一下自已做vsftp的经过
一、安装vsftp,首先得有安装包,默认在系统光盘的中有,rhel4中在第一张光盘中,名称为:vsftpd-2.0.1*;
在centos中直接用yum命令 :yum -y install vsftpd* ;yum -y install db4*
查询一下是否安装
#rpm -q vsftpd    (结 果显示未安装)
#rpm -ivh vsftpd-2.0.1*.rpm
#grep -v '#' /etc/vsftpd/vsftpd.conf
#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
#vi /etc/vsftpd/vsftpd.conf
anonymous_anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
chroot_local_user=YES     (锁定用户目录,不让其切换)
guest_enable=YES                (添加需拟用户配置项)
guest_username=virtual     (添加需拟用户配置项)
user_config_dir=/etc/vsftpd_user_conf
listen=YES

pam_service_name=vsftpd.vu   (默认为vsftpd,目录在/etc/pam.d/vsftpd)
userlist_enable=YES
tcp_wrappers=YES
保出退出
建立虚拟用户
#vi longins.txt (建立虚拟用户口令文件)
rose
123456pw
allen
pw123456
保存退出
#db_load -T -t hash -f longins.txt /etc/vsftpd/vsftpd_login.db  (生成vsftpd的认证文件,这里可能会出现问题,如没有安装db4的rpm包)
#chmod 600 /etc/vsftpd/vsftpd_login.db   (给文件授予只对root用户有读写的权限)
#vi /etc/pam.d/vsftpd.vu                              ( 建立虚拟用户所需的PAM配置文件)
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
添加这两行,保存退出
(如果使用默认的认证文件,其目录/etc/pam.d/vsftpd,将以上两行添加在最上面,或者将其余内容注释掉)
#useradd -d /home/ftpsite virtual    (建立虚拟用户及要访问的目录并设置相应的权限,账号为 virtual,
指定的宿主目录为/home/ftpsite,设置目录权限为700)
#chmod 700 /home/ftpsite




(对不同虚拟用户设置不同的权限)
#mkdir /etc/vsftpd_user_conf     (创建主配置文件,这项需要在/etc/vsftpd/vsftpd.conf中添加
user_config_dir=/etc/vsftpd_user_conf                                                
#vi /etc/vsftpd_user_conf/rose     (设置rose用户的权限,为浏览、下载的权限)
anon_world_readable_on

ly=NO

#vi /etc/vsftpd_user_conf/allen    (设置allen的权限,为上传、浏览、下载、改名、删除、建立文件的权 限)
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
保出退出
重启vsftp服务
service vsftpd restart
分别用两个用户测试,OK


配置IP访问限制

首先在linux下,特别是没有图形界面的情况下配置服务器真的是很痛苦..

1、如何限制ip可以访问ftp

在/etc/hosts.allow添加

vsftpd:192.168.1.4(具体根据你允许访问ftp的ip)

在/etc/hosts.deny添加

vsftpd:ALL

2、关于上传文件权限为600问题

在/etc/vsftpd/vsftpd.conf添加file_open_mode=0775(设置为你想要的mode即可)

网上很多文章对这个问题都答不到要点,害得我整了半天

3、pasv和port模式

如果您的ftp服务器防火墙不方便开放端口段的话,我建议你最好还是不要使用pasv

如果要使用被动模式的话,在服务器防火墙要开放对应的端口

例如pasv_min_port=50000

pasv_max_port=60000

你就要在/etc/sysconfig/iptables添加-A INPUT -p tcp -m tcp --dport 50000:60000 -j ACCEPT

4、所有配置项都是采用key=value格式“=”左右不能有空格,所有单词全部小写

5、如果要把用户限制在他的对应目录里

                   chroot_local_user=NO             
                   chroot_list_enable=YES
                     #以上两行将虚拟用户限制在其目录下,不能访问其他目录,或者直接用                           
chroot_local_user=YES
                              

                   listen=yes                #监听/被动模式
                   listen_port=21        #监听端口

                  
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list       #虚拟用户名单保存在文件/etc/vsftpd/vsftpd.chroot_list 中
                  
user_config_dir=/etc/vsftpd/vsftpd_user_conf   #每个虚拟用户名的更加详细的培植保存在/etc/vsftpd/vsftpd_user_conf 中

虚拟用户其他设置

/etc/vsftpd/vsftpd.chroot_list 文件中写入允许登陆的虚拟用户名称,每行一个
在/etc/vsftpd/vsftpd_user_conf 文件夹中创建一个以虚拟用户用户名命名的文件,
写入:
local_root = /var/FTP/子目录名
然后在/var/FTP下创建一个对应的目录即可

FTP服务器配置 VSFTP配置文件路径:/etc/vsftpd/vsftpd.conf,重要参数: anonymous_enable=yes/no 是否允许匿名用户访问 anon_upload_enable=yes/no 是否允许匿名用户上传文件 anon_mkdir_write_enable=yes/no 是否允许匿名用户创建目录 anon_other_write_enable=yes/no 匿名用户和虚拟用户是否拥有删除权限 local_enable=yes/no 是否允许本地用户登陆 write_enable=yes/no 设置全局是否可写 anon_root=/var 指定匿名用户目录 chroot_local_user=yes 锁定所有用户到用户主目录 chroot_list_enable=yes/no 锁定列表中的用户到主目录,需要配合下一参数使用 chroot_list_file=/etc/vsftpd/chroot_list 指定存储被锁定用户的列表文件位置 chown_uploads=yes/no 匿名用户上传所有者指定功能,需要与下一参数配合使用 chown_username=用户名 指定匿名用户上传文件的所有者 max_clients=300 最大客户端连接数为300 anon_max_rate=30000 匿名用户和虚拟用户限速为30K/S local_max_rate=30000 本地用户限速为30K/S max_per_ip=10 每个IP最大连接数 listen_port=22 更改监听端口 实现如下要求:允许匿名用户登陆,匿名用户限速为60K/S,只允许下载。监听端口为22,最大连接数为10。新建用户ftp1,限速为200K/S,允许上传下载删除新建文件夹。进入目录/etc/vsftpd,用vi编辑器打开vsftpd.conf主配置文件: 直接添加以下选项: [root@LidadeFedora vsftpd]# service vsftpd restart 添加用户ftp1,设置登录脚本为 /sbin/nologin: vsftp默认目录为:/var/ftp,为方便测试,在/var/ftp下新建一个文件"testLocal",在"/var/ftp/pub"新建一个文件"testAnon"。 由于使用root用户新建文件,文件的所有者为root,所以需要把文件的权限设置为644其他用户才能读取该文件 设置/var/ftp/pub权限为777,表示所有用户均有读写权限. 由于端口22被ssh服务器占用,所以需要关闭ssh服务并重启vsftp服务。 客户端用Flashfxp测试:新建站点"VsftpTest",输入Vsftp服务器的IP地址,端口填22,用户名填ftp1,密码填你设置的密码,然后点击"连接"按钮: 由于没有使用选项:local_root,登陆本地用户时自动跳转到该用户的主目录.没有使用chroot_local_user=yes,所以本地用户可以浏览整个文件系统中他有权限读取的文件和文件夹: 切换到目录"/var/ftp/pub",该目录的权限为777,上传一个10M以上的文件,测试ftp1的上传速度: 新建文件夹和删除权限测试省略。下面测试匿名用户权限:勾选"匿名"选项并连接: 匿名用户登陆成功: 进入pub目录,尝试删除testAnon文件失败,说明这里是配置文件中的anon_other_write_enable=no生效了。最终权限等于配置文件中的权限和linux文件系统权限相或的结果。比如vsftp配置文件中允许匿名用户下载,但光这样是不够的,还需要被下载的文件或文件夹的能够被其他用户读取。 尝试上传文件失败,符合匿名用户只允许下载的要求: 最后测试匿名用户的下载速度: vsftp配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值