当前位置:首页 » 操作系统 » vsftp源码下载

vsftp源码下载

发布时间: 2023-06-10 21:53:20

⑴ 虚拟机linux系统解压vsftp.tar.gz后怎么手动安装

这个嘛,简单说下。如果是生产使用。

  1. 去官网或者centos git下载release版本。非root用户安装,--prefix=/usr/local/vsftpd-x-y-x 安装目录大概选择这个. 当然也可以参照deb build。

  2. 参照centos sftpd spec文件,看看里面的编译选项,都打开了哪些?如果直接configure很可能出现各种隐藏的系统配置和漏洞问题。如有需要,对源码进行改修修正。

  3. make之后做测试。make test。

  4. 配置项测试。

⑵ 求,在linux 中,搭建ftp服务器的方法, 谢谢,

FTP不安全,万不得已情况下,才可使用。
vsftp安全性相对较好
可采用sftp代替FTP
Linux另外常用的FTP:
proftp
vsftp
pureftp

下面以VSFTP为例:

安装方式一:源码包安装
useradd -s /bin/false -d /var/ftp ftpvirtual
cd ......
make
make install
cp vsftpd.conf /etc
/usr/local/sbin/vsftpd & #启动

安装方式二:rpm安装,推荐
rpm -ivh vsftpd-2.0.1-5.i386.rpm
或者 yum install vsftpd
/etc/init.d/vsftpd start

两种方式安装完成后,配置方法都一样,下面开始讲配置。

首先讲主配置文件常见配置
vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO #禁止匿名登录
local_enable=NO #禁止本地用户登录
write_enable=YES #对本地用户的写权限
local_umask=022 #本地用户文件生成掩码
dirmessage_enable=YES #显示隐藏文件
xferlog_enable=YES #启用上传和下载日志
connect_from_port_20=YES #服务器将启用FTP数据端口的连接请求
xferlog_std_format=YES #服务器将使用标准的ftpd xferlog日志格式
pam_service_name=vsftpd #设置PAM认证服务的配置文件名称
userlist_enable=YES #设置文件中指定的用户是否可以访问vsftpd服务器
listen=YES #FTP服务器将处于独立启动模式
tcp_wrappers=YES #使用tcp_wrappers作为主机访问控制方式
chroot_local_user=YES #将FTP本地用户禁锢在宿主目录中
chroot_list_enable=YES #将用户禁锢在宿主目录中
listen_address=192.168.0.2 #侦听地址

pasv_enable=YES #是否允使用被动模式,默认是允许的。
pasv_min_port=10000 #指定使用被动模式时打开端口的最小值
pasv_max_port=10004 #指定使用被动模式时打开端口的最大值。

max_clients=100 #设置FTP服务器所允许的最大客户端连接数,值为0时表示不限制
max_per_ip=5 #同一IP地址允许的最大客户端连接数,值为0时表示不限制,即线程
local_max_rate=500000 #设置本地用户的最大传输速率,单位为bytes/sec,值为0时表示不限制
anon_max_rate=200000 #设置匿名用户的最大传输速率,单位为bytes/sec,值为0表示不限制

use_localtime=YES #在vsftp之中的时间默认值是显式GMT时间,因此我们会发现上面的时间与我们时寄存取的时间差八小时。改了这一项就好了。
listen_port=10021 改端口

one_process_model=NO yes可增加性能,增加负载,便降低安全,建议NO
nopriv_user=nobody 默认以nobody运行vsftp

对外服务,建议使用stand alone方式启动,性能好。
仅内部人员,建议用super daemon启动,修改如下:
listen=NO
……略

vsftp默认使用GMT时间,建议修改如下:
use_localtime=YES

/etc/vsftpd.ftpusers #保存不允许进行FTP登录的本地用户帐号,提高系统的安全性

/etc/vsftpd.user_list
#禁止vsftpd.user_list中的用户
userlist_enable=YES
userlist_deny=YES
#仅允许vsftpd.user_list中的用户
userlist_enable=YES
userlist_deny=NO

日志:
vsftpd_log_file=/var/log/vsftpd.log

下面开始讲vsftp四种“用户认证”的方式

一、匿名用户 ftp anonymous
/var/ftp 默认主目录
在/etc/vsftpd/vsftpd.conf中:
anonymous_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES #可删除
chmod -R 777 /var/ftp/pub/
修改/var/ftp/pub的SELinux权限
执行以下命令,修改/var/ftp/pub这目录的类型:
chcon -R -t ftpd_anon_rw_t /var/ftp/pub/
anon_root=/var/www/html/ftp #改匿名用户的宿主目录

二、本地用户
默认支持,使用各自的宿主目录。不安全
local_root=/opt #新增这一项,改成其他路径

三、虚拟用户 PAM文件方式 推荐

建立虚拟用户口令库文件
# cat logins.txt
mike
pwabcd
john
pw1234
生成vsftpd的认证文件
db_load -T -t hash -f logins /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
新创建虚拟用户所需的PAM配置文件
cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
新创建虚拟用户的系统用户所要访问的目录并设置相应权限
# useradd -s /bin/false -d /home/ftpsite ftpvirtual
# chmod 700 /home/ftpsite
#设置vsftpd.conf配置文件,支持虚拟用户
guest_enable=YES
guest_username=ftpvirtual
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vsftpd_user_conf #添加用户配置文件目录设置

/etc/vsftpd/vsftpd_user_conf/mike (同名),这里没有的设置默认按vsftpd.conf的设置执行

anon_world_readable_only=NO #可以浏览FTP目录和下载文件
anon_upload_enable=YES #用户可以上传文件,等同于 write_enable=yes 允许上传
anon_mkdir_write_enable=YES #具有建立和删除目录的权利
anon_other_write_enable=YES #具有文件改名和删除文件的权限
local_root=/data/userspace #设置虚拟用户登录后的主目录
anon_max_rate=1024000 #以Bytes/s为单位,这里限8Mbit,范围大概在80%到120%之间

四、虚拟用户 mysql认证方式 推荐
1. mysql安装见mysql笔记
2.1 openssl-0.9.8e 源程序预编译时在日志中可能出现md5.h "Present But Cannot Be Compiled的错误,卸载下面某些包可能解决问题。
cyrus-sals-sql cyrus-sasl-ntlm cyrus-sasl-gssapi cyrus-sasl-devel openldap-devel
然后移除系统可能自带的:
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
配置库文件搜索路径
#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#ldconfig -v

2.2 或者安装openssl-0.9.8e的rpm包
3. pam_mysql-0.7RC1.tar.gz
#./configure --with-mysql=/usr/local/mysql --with-openssl=/usr/local/ssl
如果mysql是rpm安装的,则不带--with-mysql参数,如果openssl是rpm安装的,参数为--with-openssl
make;make install
注意pam_mysql.so路径,可能在/usr/lib/security/pam_mysql.so或/lib/security/pam_mysql.so

vi /etc/pam.d/vsftp.mysql #新建,仅两行
auth required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
account required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2

4.0 准备数据库、表和数据
mysql> create database vsftp;
mysql> grant select on vsftp.* to vsftpd@localhost identified by '123456';
mysql> grant select on vsftp.* to [email protected] identified by '123456';
mysql> use vsftp;
mysql> create table users (
-> id int AUTO_INCREMENT NOT NULL,
-> name char(20) binary NOT NULL,
-> passwd char(48) binary NOT NULL,
-> primary key(id)
-> );
mysql> insert into users(name,passwd) values('hlc',password('hlc'));
mysql> insert into users(name,passwd) values('holly',password('holly'));

5.0 修改主配置文件
vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vsftp
listen=YES
pam_service_name=vsftpd.mysql

以上完成了vsftp的配置,下面是补充:

dirmessage_enable=YES #设置欢迎语 在每个目录下建立.message,写入欢迎语即可。

db_load支持包(前面三个即可):
db4
db4-devel
db4-utils
db4-java
db4-tcl

Linux建议关闭selinux或征对FTP不做任何安全
setsebool -P -ftpd_disable_trans on
setsebool -P -allow_ftpd_full_access on
servie vsftpd restart
或者需要重启服务器

底下列出FTP访问中所出现数字代码的含意。
110 重新启动标记应答。
120 服务在多久时间内ready。
125 数据链路端口开启,准备传送。
150 文件状态正常,开启数据端口。
200 命令执行成功。
202 命令执行失败。
211 系统状态或是系统求助响应。
212 目录的状态。
213 文件的状态。
214 求助的讯息。
215 名称系统类型。
220 新的联机服务ready。
221 服务的控制端口关闭,可以注销。
225 数据链接开启,但无传输动作。
226 关闭数据端口,请求的文件操作成功。
227 进入passive mode。
230 用户登录。
250 请求的文件操作完成。
257 显示目前的路径名称。
331 用户名称正确,需要密码。
332 登入时需要帐户信息。
350 请求的操作需要进一部的命令。
421 无法提供服务,关闭控制连结。
425 无法开启数据链路。
426 关闭联机,终止传输。
450 请求的操作未执行。
451 命令终止:有本地的错误。
452 未执行命令:磁盘空间不足。
500 格式错误,无法识别命令。
501 参数语法错误。
502 命令执行失败。
503 命令顺序错误。
504 命令所接的参数不正确。
530 未登入。
532 储存文件需要账户登入。
550 未执行请求的操作。
551 请求的命令终止,类型未知。
552 请求的文件终止,储存位溢出。
553 未执行请求的的命令,名称不正确。

⑶ 在哪里下载vsftp服务器端

ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.0.5.tar.gz

⑷ 在ubuntu下编译vsftpd出现问题,修改过Makefile和vsf_findlibs.sh。但是还是出现下面的问题

你是学生吗?
我没有装个这个,一般装这个编译不成功都是缺少什么库,或者找不到库路径,我不知道你为什么要改Makefile(是哪个大神指导的吗。。。),一般这个不都是自动生成的吗,不建议去改这些东西。。。
一般源码安装都是这样的步骤:
./configure --prefix=<一个你有权限的安装路径>
make
make install
如果make不成功,就是你缺少库,或者找不到库的路径(把库路径加到PATH里就可以了),如果少库的话,再想办法装上少的库吧

⑸ 在RedHat Linux上搭建ftp服务器的步骤

1、下载源码到服务器,其下载地址是 ftp://vsftpd.beasts.org/users/cevans/,当前的版本是vsftpd-2.0.6.tar.gz 。强烈建议使用源码安装,即可摆脱类似rpm包依赖的困惑,又可以实现在不同unix/linux下自如的工作。2、解压安装:tar zxvf vsftpd-2.0.5.tar.gz ; make; make install3、添加ftp的用户,如果用户数目不多,简单些,用系统用户吧。Useradd –d /home/sery sery ;passwd ******.4、拷贝配置文件,这里有2个。Cp vsftpd.conf /etc/vsftpd.conf ;cp Redhat/vsftpd.pam /etc/pam.d/ftp .不拷贝vsftpd.pam这个文件,将导致ftp用户不能登陆的问题。这个文件在debian下也是可以的。5、修改配置文件/etc/vsftpd.conf。这个配置文件是vsftpd的关键所在,修改下列值,以实现不同的功能:(1)修改的部分:把 local_enable=yes write_enable=yes和local_umask=022前面的注释取消。(2)增加部分:listen=YES(ftp作为独立的守护进程)chroot_local_user=yes(用户被定位在自己的主目录里,用cd / 并不能切换到根目录)cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RMD,RNFR,RNTO,SITE,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST(只许上传文件和目录,但不许删除。注意:这些必须一行写完)6、启动ftp服务。Vsftpd&我安装完成后,却无法运行:报错如下:500 00PS: could not bind listening IPv4 socket端口有冲突。查看下:#netstat -utl |grep 21 是不是被占用还真有耶。因为是redhat9所以想到了xinetd因为xinetd已经启动了vsftpd,而vsftpd设置成了stardalone模式,所以,先停止xinetd服务, service xinetd stop ,然后:/usr/local/sbin/vsftpd &OK启动正常。改端口:在vsftpd.conf最后加:listen_port=2121取消anonymous 登入 anonymous_enable=NO老大原文提到,让用户不能切换到别的目录,需要添加一个文件:vim /etc/vsftpd/chroot_list 加入你所要限制的用户vsftpd.conf也去掉相应的注释:chroot_list_file=/etc/vsftpd/chroot_list

⑹ 如何在ubuntu中安装设置ftp服务器

1、更新软件源,保证源是最新的,这样有利于下面在线通过apt-get install命令安装ftp。
2、使用sudo apt-get install vsftp命令安装vsftp,安装软件需要root权限,我们使用sudo来暂时获取。
3、安装好ftp后默认是会自动创建ftp用户的,然后设置ftp用户的密码,输入sudo passwd ftp,然后输入密码,再确认密码。
4、创建ftp用户的家目录,使用sudo mkdir /home/ftp命令
5、设置ftp家目录的权限,我这里为方便直接使用sudo chmod 777 /home/ftp命令将权限设置为777,当然你可以根据自己需求进行设置。
6、对/etc/vsftpd.conf配置文件进行一定的修改。使用 sudo gedit /etc/vsftpd.conf打开配置文件,如果你喜欢vi或vim编辑器也可以使用它们打开。
7、将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”(是否允许匿名ftp,若不允许选NO)
取消如下配置前的注释符号:
local_enable=YES(是否允许本地用户登录)
write_enable=YES(是否允许本地用户写的权限)
chroot_local_user=YES(是否将所有用户限制在主目录)
chroot_list_enable=YES(是否启动限制用户的名单)
chroot_list_file=/etc/vsftpd.chroot_list(可在文件中设置多个账号)
8、然后重启ftp服务,使用命令sudo service vsftpd restart重启ftp服务。
9、测试ftp,复制一些文件到/home/ftp目录下
方法一:在浏览器中输入ftp://localhost,网页登录。
方法二:在终端中输入ftp localhost,然后输入用户名与密码实现登录。
另外:如果登录ftp总是出现密码错误,可以将/etc/vsftpd.conf配置文件的pam_service_name=vsftpd改为pam_service_name=ftp,即可解决。

热点内容
存储过程参数空值 发布:2025-04-06 08:59:59 浏览:873
垃圾车压缩式垃圾车 发布:2025-04-06 08:55:00 浏览:205
如何给苹果iphone手机设置密码 发布:2025-04-06 08:49:17 浏览:810
安卓苹果王者荣耀数据转移在哪里 发布:2025-04-06 08:47:34 浏览:892
linux强制退出 发布:2025-04-06 08:47:33 浏览:664
python验证码切割 发布:2025-04-06 08:47:30 浏览:989
校园vlog脚本模板 发布:2025-04-06 08:45:59 浏览:463
无法访问别人的共享 发布:2025-04-06 08:41:31 浏览:401
我的世界服务器生存地址 发布:2025-04-06 08:20:25 浏览:724
des算法缺点 发布:2025-04-06 08:13:51 浏览:573