ubuntu下安装及设置FTP服务器!!
Ubuntu自带的FTP服务器是vsftpd.
1、安装vsftpd
Ubuntu安装软件倒不是件困难的事,输入:
sudo apt-get install vsftpd
安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下地址。应该可以看到一个空白内容的ftp空间。
默认设置下匿名用户可以下载,但不能写入或是上传
2、设置 vsftpd.conf文件
现在我们要让匿名用户无法访问,并且得输入linux上的用户密码后才能访问到他们自己目录里的内容。
首先找到设置vsftpd的文件,位置在/etc/vsftpd.conf
修改之前最好先备份下这个文件:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old
然后可以改动了:
1. 匿名服务器的连接(独立的服务器)
在/etc/vsftpd/vsftpd.conf配置文件中添加如下几项:
Anonymous_enable=yes (允许匿名登陆)
Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)
Local_umask=022 (FTP上本地的文件权限,默认是077)
Connect_form_port_20=yes (启用FTP数据端口的数据连接)*
Xferlog_enable=yes (激活上传和下传的日志)
Xferlog_std_format=yes (使用标准的日志格式)
Ftpd_banner=XXXXX (欢迎信息)
Pam_service_name=vsftpd (验证方式)*
Listen=yes (独立的VSFTPD服务器)*
功能:只能连接FTP服务器,不能上传和下传
注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于FTP的基本选项
2. 开启匿名FTP服务器上传权限
在配置文件中添加以下的信息即可:
Anon_upload_enable=yes (开放上传权限)
Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)
Write_enable=yes (开放本地用户写的权限)
Anon_other_write_enable=yes (匿名帐号可以有删除的权限)
3. 开启匿名服务器下传的权限
在配置文件中添加如下信息即可:
Anon_world_readable_only=no
注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限
(R)读-----下传 (W)写----上传 (X)执行----如果不开FTP的目录都进不去
4.普通用户FTP服务器的连接(独立服务器)
在配置文件中添加如下信息即可:
Local_enble=yes (本地帐户能够登陆)
Write_enable=no (本地帐户登陆后无权删除和修改文件)
功能:可以用本地帐户登陆vsftpd服务器,有下载上传的权限
注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传
5. 用户登陆限制进其它的目录,只能进它的主目录
设置所有的本地用户都执行chroot
Chroot_local_user=yes (本地所有帐户都只能在自家目录)
设置指定用户执行chroot
Chroot_list_enable=yes (文件中的名单可以调用)
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list
注意:vsftpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可
6. 限制本地用户访问FTP
Userlist_enable=yes (用userlistlai 来限制用户访问)
Userlist_deny=no (名单中的人不允许访问)
Userlist_file=/指定文件存放的路径/ (文件放置的路径)
注:开启userlist_enable=yes匿名帐号不能登陆
7. 安全选项
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端口进行数据连接)
8. 查看谁登陆了FTP,并杀死它的进程
ps –xf |grep ftp
kill 进程号
VSFTPD的高手篇
作者:龙磊
我可不是高手!!!^_^我只不过是个菜鸟,尽我的能力写出了我这个菜鸟觉得的高手篇,所以有什么错误请大家指正哦!!!
环境:linux as 3.0 + vsftpd -1.2.0-4的系统架构,是在独立服务器下的哦!讨厌XINETD^_^
1. 配置本地组访问的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这三个选项是有的哦!
2. 配置独立FTP的服务器的非端口标准模式进行数据连接
这个非常容易:在VSFTPD。CONF中添加
Listen_port=33333
就可以了啦!
好了重头戏来了,这也是我为什么叫高手篇的缘故!^_^(大家不要扔鸡蛋哦!)
3. 配置单独的虚拟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.txt
vi /tmp/logins.txt
添加入下信息:
longlei------------用户名
longlei------------密码
zhangweibo
zhangweibo
jinhui
jinhui
lxp
lxp
格式要按照我的来哦,一个用户名,一个密码啦
F:建立访问者的口令库文件,然后修改其权限
db_load –T –t hash –f /tmp/logins.txt /etc/vsftpd_login.db
G:进如/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
H:在/var/ftp/创建目录并改变其属性和它的属主
useradd -d /var/ftp/test qiang
chmod 700 /var/ftp/test
在目录中添加test_file测试文件
I:进入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就建好了
J:在VSFTPD。CONF所在的目录中创建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
此用户就有了上传、下载、删除文件目录、修改文件名和浏览的权限
K:修改vsftpd2.conf
加入user_config_dir=/vsftpd.conf所在的目录/virtual
重起服务器就搞定了
好了大家别走开,现在隆重推出VSFTPD。CONF中的我所知道的所有配置信息
Anonymous_enable=yes (允许匿名登陆)
Dirmessage_enable=yes (切换目录时,显示目录下.message的内容)
Local_umask=022 (FTP上本地的文件权限,默认是077)
Connect_form_port_20=yes (启用FTP数据端口的数据连接)*
Xferlog_enable=yes (激活上传和下传的日志)
Xferlog_std_format=yes (使用标准的日志格式)
Ftpd_banner=XXXXX (欢迎信息)
Pam_service_name=vsftpd (验证方式)*
Listen=yes (独立的VSFTPD服务器)*
Anon_upload_enable=yes (开放上传权限)
Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)
Write_enable=yes (开放本地用户写的权限)
Anon_other_write_enable=yes (匿名帐号可以有删除的权限)
Anon_world_readable_only=no (放开匿名用户浏览权限)
Ascii_upload_enable=yes (启用上传的ASCII传输方式)
Ascii_download_enable=yes (启用下载的ASCII传输方式)
Banner_file=/var/vsftpd_banner_file (用户连接后欢迎信息使用的是此文件中的相关信息)
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端口进行数据连接)
Local_enble=yes (本地帐户能够登陆)
Write_enable=no (本地帐户登陆后无权删除和修改文件)
这是一组
Chroot_local_user=yes (本地所有帐户都只能在自家目录)
Chroot_list_enable=yes (文件中的名单可以调用)
Chroot_list_file=/任意指定的路径/vsftpd.chroot_list
(前提是chroot_local_user=no)
这又是一组
Userlist_enable=yes (在指定的文件中的用户不可以访问)
Userlist_deny=yes
Userlist_file=/指定的路径/vsftpd.user_list
又开始单的了
Banner_fail=/路径/文件名 (连接失败时显示文件中的内容)
Ls_recurse_enable=no
Async_abor_enable=yes
One_process_model=yes
Listen_address=10.2.2.2 (将虚拟服务绑定到某端口)
Guest_enable=yes (虚拟用户可以登陆)
Guest_username=所设的用户名 (将虚拟用户映射为本地用户)
User_config_dir=/任意指定的路径/为用户策略自己所建的文件夹
(指定不同虚拟用户配置文件的路径)
又是一组
Chown_uploads=yes (改变上传文件的所有者为root)
Chown_username=root
又是一组
Deny_email_enable=yes (是否允许禁止匿名用户使用某些邮件地址)
Banned_email_file=//任意指定的路径/xx/
又是单的
Pasv_enable=yes ( 服务器端用被动模式)
User_config_dir=/任意指定的路径//任意文件目录 (指定虚拟用户存放配置文件的路径)
如需要使用本地用户登陆关闭来宾用户,必须设置如下命令:
anonymous_enable=no
guest_enable=no
local_enable=yes
write_enable=yes
local_umask=022
chroot_list_enable=yes
chroot_list_file=/etc/vsftpd.chroot_list (如没有则自己创建)
(在etc/vsftpd.chroot_list 填入需要登陆的本地用户名)
=======================================================
解决vsftpd的中文乱码问题
这里有点建议,如果想让自己编译后的vsftpd与源安装没有什么区别的话
最好先安装源中的vsfpd,然后把所有的功能都配置完后,在解决中文乱码问题
因为删除源的vsftpd后它的/init.d/vsftpd与/vsftpd.conf是不会删除的,可以为我们打好铺垫,不然你会发现很无奈的!如果你是直接编译安装,附件给出会给出我的init.d/vsftpd与vsftpd.conf文件,把他们覆盖到/etc下吧!
这里是需要手工编译的,大家不要怕麻烦,其实很简单的
开始做编译的准备工作,准备编译环境需要的库包
sudo apt-get build-dep vsftpd
----------------------------------------
这里使用先安装源里的vsftpd,然后卸载
sudo apt-get install vsftpd
sudo apt-get remove vsftpd
-----------------------------------------
下载附件并解压包
tar -zxvf vsftpd-2.0.6
cd vsftpd-2.0.6
sudo su :使用root用户开始编译
make #编译命令,如果无错误出现,表示成功
make install #安装
如果安装中出现找不到目录的话,就建立那个缺的目录就好了
基本上都会提示缺少/man8和/man5目录的,建立后在重新make install
下边就来测试下效果修改配置文件,加入
charset_filter_enable=YES #开启符过滤
charset_client=GB2312 #客户端字符设置为简体中文
好了现在把服务开启测试下吧
sudo /etc/init.d/vsftpd restart
在win下上传一个中文文件,看看效果吧,然后在把配置文件中关于字符的关掉,重起服务,在看吧
如果有什么问题的话,请回帖留言
已经测试过,服务器ubuntu8.04-server,客户机xp,xp上传后编码正常
补充下会遇到的问题
1:如果使用/etc/init.d/vsftpd restart 没有任何输出的话,请更改/init.d/vsftpd的内容把启动路径该为/usr/local/sbin/vsftpd,因为编译安装首先会优先安装到这个路径
2:如果匿名用户无法登陆,老是提示不允许匿名登陆而配置文件中又设置了允许,请建立目录
sudo mkdir /usr/share/empty 建立后就可以了
3:如果在linux下上传文件,如果工具允许的话,设置为gb2312编码上传,或是尽量用英文
4:因为补丁在一定程度覆盖原程序,所以有2G限制,有时间会去看下源代码的,基本确定是数值溢出问题
如果修复的话,会补充上的
ubuntu下安装及设置FTP服务器!!相关推荐
- linux ubuntu 安装ftp,系统运维|如何在 Ubuntu 下安装和配置 FTP 服务器
FTP(文件传输协议)是一个较老且最常用的标准网络协议,用于在两台计算机之间通过网络上传/下载文件.然而, FTP 最初的时候并不安全,因为它仅通过用户凭证(用户名和密码)传输数据,没有进行加密. 警 ...
- ubuntu系统下ftp服务器配置,如何在Ubuntu中安装和配置FTP服务器
FTP ( 文件传输协议 )是一种相对较旧和最常用的标准网络协议,用于通过网络在两台计算机之间上传/下载文件. 然而, FTP由其原始的不安全,因为它传输数据与用户凭证(用户名和密码)而不加密. 警告 ...
- linux怎么配置ftp服务,Ubuntu下安装、配置FTP服务
续根据前两篇 http://www.linuxidc.com/Linux/2011-09/42775.htm 与 http://www.linuxidc.com/Linux/2011-09/42777 ...
- ubuntu下安装ftp服务器
ubuntu下安装ftp服务器 Ftp服务器是使用以vsftp为例. 1. 安装 $sudo aptitude install vsftpd $ps aux | grep 'ftp' ...
- Ubuntu下安装FTP服务及使用(VSFTPD详细设置)(二)
vsftpd 作为一个主打安全的FTP服务器,有很多的选项设置.下面介绍了vsftpd的配置文件列表,而所有的配置都是基于vsftpd.conf这个配置文件 的.本文将提供完整的vsftpd.conf ...
- linux pureftp mysql_在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp
在Ubuntu下安装apache2+php5+mysql5+pureftp+ftp 一.安装Ubuntu7.04 Desktop版 二.ubuntu Linux下手工安装mysql5 1.下载mysq ...
- Ubuntu下安装Nginx服务器并进行优化
一.Nginx介绍 Nginx是由俄罗斯人开发的一款高性能的Web和反向代理服务器,它也可以作为电子邮件的反向代理服务器.其以稳定.并发能力强.占用资源少等显著特点备受广大互联网公司青睐. Ngi ...
- Ubuntu 下安装thttpd Web服务器
不知道大家是不是真的需要用appache这么复杂的功能这么强大的web server,其实有很多时候使用webserver也只是一种远程共享访问的方式.这里,Ubuntu repository的提供了 ...
- 使用deepin-Wine在ubuntu下安装QQ,TIM,微信等软件,以及deepin-wine的快捷键设置
使用deepin-Wine在ubuntu下安装QQ,TIM,微信等软件.deepin-wine的快捷键设置 9月30日,国庆在即,公司内的大部分老哥也开始提前调休休假,在公司内没什么事干的情况下,总得 ...
- Ubuntu下安装Apache+PHP+Mysql
Ubuntu下安装 apache+php+mysql文本服务器! ------------------------------------------------------------------- ...
最新文章
- 水稻微生物组时间序列分析精讲1-模式图与主坐标轴分析
- DB2 SQL查询结果集自动编号、返回条数范围控制研究
- 如何在ABAP ALV中具体的控制每个格子中的编辑属性
- 如何编译 php,如何编译安装一个php模块
- C#和NewSQL更配 —— TiDB入门
- M1芯片MacBook pro重装系统出现报错情况的解决方法
- Java 小记 — Spring Boot 的实践与思考,互联网 面试官 如何面试
- cocos2d-x学习笔记番外篇05:如何快速屏蔽触摸
- mysql 的各种 join
- Ultimaker_Cura-4.8-Win版本软件下载与安装
- 获取当前时间前3天的零点时间
- 善于记录,善于总结——《走出软件作坊》读后感
- 微信群裂变引流效果怎么样?微信社群引流怎么操作?
- Python 详细教程 —— pyautogui 库 基本用法
- 支付宝json_ua加密分析
- 极速office(Word)文件怎么打印
- Win10配置pip为豆瓣源,从此装库飞快
- 学术论文--论文查看的网站/快速查看中英文文献/不怕难
- Linux RPMsg框架--以及应用于iMX6 SoloX连接A9和M4 Core
- 关于“幽灵架构”的补充说明3:为什么不会产生“循环引用”
热门文章
- Atitit.搜索引擎内容来源解决之道
- Atititcmd cli环境变量的调用设置与使用
- atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结
- Atitit. 构造ast 语法树的总结attilax oao
- atitit.提升软件开发效率大的总结O5
- 在没有源代码的情况下调试JAR包..
- 投行巨头金融科技战略——摩根士丹利财富管理转型之路篇
- 259年后,中国最大的皇家园林上云了
- 【光学】基于matlab GUI干涉衍射仿真【含Matlab源码 1723期】
- 【数学建模】基于matlab单列多服务台排队系统仿真【含Matlab源码 1698期】