怎样用ubuntu14.04ftp架设文件共享服务器

怎样用ubuntu14.04ftp架设文件共享服务器,第1张

FTP服务器的搭建,我要实现的需求是:

  不允许匿名访问,因为我的机器不想让谁都能登录上来,随便获取文件

  需要锁定一个目录,因为在家里,我需要给媳妇下载一些** 韩剧之类的东西,媳妇会来我机器下载,但是我不想让他随意操作我的东西。

  万一删除我的配置文件,我就惨了(吐槽一下韩剧:媳妇问我,你都没看过韩剧怎么知道它不好看呢,我说:我没吃过屎 但是知道它一定不好吃!)

  另外,需要本机也能访问,因为我要做一些关于FTP的测试。

  不单独建立FTP用户,FTP也使用ubuntu桌面的用户进行登录和操作,

  我还不希望FTP开始启动。

好了 我们开始安装,很简单。

sudo apt-get install vsftpd

30秒内估计就能安装完。

下面开始配置:

首先备份配置文件。

linuxidc@ubuntu:/etc/init$ cd /etc/

linuxidc@ubuntu:/etc$ sudo cp vsftpdconf vsftpdconfold

接下来就是开始配置了,

咱们就针对需求来:

1 不允许匿名访问,因为我的机器不想让谁都能登录上来,随便获取文件,

  配置如下:

  23 anonymous_enable=NO

  2需要锁定一个目录,因为在家里,我需要给媳妇下载一些** 韩剧之类的东西,

   媳妇会来我机器下载,但是我不想让他随意操作我的东西。

   万一删除我的配置文件,我就惨了

  配置如下:

  152 local_root=/home/linuxidc/公共的/FTP共享文件

  

备注:[FTP共享文件] 这个文件夹是我新建出来的

  另外,需要本机也能访问,因为我要做一些关于FTP的测试。

  配置如下:

  26 local_enable=YES

  不单独建立FTP用户,FTP也使用ubuntu桌面的用户进行登录和操作,

  配置如下:

  120 #chroot_local_user=YES

  121 chroot_list_enable=YES

  122 # (default follows)

  123 chroot_list_file=/etc/vsftpdchroot_list

  这里需要/etc/vsftpdchroot_list 这个文件,如果没有请新建:

  sudo gedit /etc/vsftpdchroot_list

  内容如下(例如我桌面的用户名为linuxidc):

duoduo

  其实就是把你的用户名写进去

  我还不希望FTP开始启动。 一会单独说!

贴出我的配置文件。

# Example config file /etc/vsftpdconf

#

# The default compiled in settings are fairly paranoid This sample file

# loosens things up a bit, to make the ftp daemon more usable

# Please see vsftpdconf5 for all compiled in defaults

#

# READ THIS: This example file is NOT an exhaustive list of vsftpd options

# Please read the vsftpdconf5 manual page to get a full idea of vsftpd's

# capabilities

#

#

# Run standalone vsftpd can run either from an inetd or as a standalone

# daemon started from an initscript

listen=YES

#

# Run standalone with IPv6

# Like the listen parameter, except vsftpd will listen on an IPv6 socket

# instead of an IPv4 one This parameter and the listen parameter are mutually

# exclusive

#listen_ipv6=YES

#

# Allow anonymous FTP (Disabled by default)

anonymous_enable=NO

#

# Uncomment this to allow local users to log in

local_enable=YES

#

# Uncomment this to enable any form of FTP write command

write_enable=YES

#

# Default umask for local users is 077 You may wish to change this to 022,

# if your users expect that (022 is used by most other ftpd's)

#local_umask=022

#

# Uncomment this to allow the anonymous FTP user to upload files This only

# has an effect if the above global write enable is activated Also, you will

# obviously need to create a directory writable by the FTP user

#anon_upload_enable=YES

#

# Uncomment this if you want the anonymous FTP user to be able to create

# new directories

#anon_mkdir_write_enable=YES

#

# Activate directory messages - messages given to remote users when they

# go into a certain directory

dirmessage_enable=YES

#

# If enabled, vsftpd will display directory listings with the time

# in your local time zone The default is to display GMT The

# times returned by the MDTM FTP command are also affected by this

# option

use_localtime=YES

#

# Activate logging of uploads/downloads

xferlog_enable=YES

#

# Make sure PORT transfer connections originate from port 20 (ftp-data)

connect_from_port_20=YES

#

# If you want, you can arrange for uploaded anonymous files to be owned by

# a different user Note! Using "root" for uploaded files is not

# recommended!

#chown_uploads=YES

#chown_username=whoever

#

# You may override where the log file goes if you like The default is shown

# below

#xferlog_file=/var/log/vsftpdlog

#

# If you want, you can have your log file in standard ftpd xferlog format

# Note that the default log file location is /var/log/xferlog in this case

#xferlog_std_format=YES

#

# You may change the default value for timing out an idle session

#idle_session_timeout=600

#

# You may change the default value for timing out a data connection

#data_connection_timeout=120

#

# It is recommended that you define on your system a unique user which the

# ftp server can use as a totally isolated and unprivileged user

#nopriv_user=ftpsecure

#

# Enable this and the server will recognise asynchronous ABOR requests Not

# recommended for security (the code is non-trivial) Not enabling it,

# however, may confuse older FTP clients

#async_abor_enable=YES

#

# By default the server will pretend to allow ASCII mode but in fact ignore

# the request Turn on the below options to have the server actually do ASCII

# mangling on files when in ASCII mode

# Beware that on some FTP servers, ASCII support allows a denial of service

# attack (DoS) via the command "SIZE /big/file" in ASCII mode vsftpd

# predicted this attack and has always been safe, reporting the size of the

# raw file

# ASCII mangling is a horrible feature of the protocol

#ascii_upload_enable=YES

#ascii_download_enable=YES

#

# You may fully customise the login banner string:

ftpd_banner=Welcome to linuxidc's FTP service

#

# You may specify a file of disallowed anonymous e-mail addresses Apparently

# useful for combatting certain DoS attacks

#deny_email_enable=YES

# (default follows)

#banned_email_file=/etc/vsftpdbanned_emails

#

# You may restrict local users to their home directories See the FAQ for

# the possible risks in this before using chroot_local_user or

# chroot_list_enable below

#chroot_local_user=YES

#

# You may specify an explicit list of local users to chroot() to their home

# directory If chroot_local_user is YES, then this list becomes a list of

# users to NOT chroot()

# (Warning! chroot'ing can be very dangerous If using chroot, make sure that

# the user does not have write access to the top level directory within the

# chroot)

#chroot_local_user=YES

chroot_list_enable=YES

# (default follows)

chroot_list_file=/etc/vsftpdchroot_list

#

# You may activate the "-R" option to the builtin ls This is disabled by

# default to avoid remote users being able to cause excessive I/O on large

# sites However, some broken FTP clients such as "ncftp" and "mirror" assume

# the presence of the "-R" option, so there is a strong case for enabling it

#ls_recurse_enable=YES

#

# Customization

#

# Some of vsftpd's settings don't fit the filesystem layout by

# default

#

# This option should be the name of a directory which is empty Also, the

# directory should not be writable by the ftp user This directory is used

# as a secure chroot() jail at times vsftpd does not require filesystem

# access

secure_chroot_dir=/var/run/vsftpd/empty

#

# This string is the name of the PAM service vsftpd will use

pam_service_name=vsftpd

#

# This option specifies the location of the RSA certificate to use for SSL

# encrypted connections

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoilpem

# This option specifies the location of the RSA key to use for SSL

# encrypted connections

rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoilkey

#

local_root=/home/linuxidc/公共的/FTP共享文件

现在可以重启FTP了。

linuxidc@ubuntu:/etc$ sudo service vsftpd restart

vsftpd stop/waiting

vsftpd start/running, process 303

OK 看到这些 证明配置文件没有问题,FTP启动了

下面直接访问FTP 看看:

linuxidc@ubuntu:/etc$ ftp 127001

Connected to 127001

Welcome to linuxidc's FTP service

Name (127001:linuxidc): duoduo

Please specify the password

Password:

OOPS: vsftpd: refusing to run with writable root inside chroot()

Login failed

Service not available, remote server has closed connection

ftp>

居然报了一个500的错误

vsftpd: refusing to run with writable root inside chroot()

。其实这里是需要特殊说明的,原因出在这里

120 #chroot_local_user=YES

121 chroot_list_enable=YES

122 # (default follows)

123 chroot_list_file=/etc/vsftpdchroot_list

我们用

chroot_list_enable=YES 和 chroot_list_file=/etc/vsftpdchroot_list配合使用,使得只有在vsftpdchroot_list中配置的用户才能登录FTP。

对于这要的配置有一个特殊的要求,就是vsftpdchroot_list里面配置的用户,对于前面local_root配置的目录不能有写的权限!

也就是/home/linuxidc/公共的/FTP共享文件 这个文件夹 对于linuxidc这个用户不能有写的权限,

我们为了额操作方便可以这么做:

sudo chown -R root:root /home/linuxidc/公共的/FTP共享文件/

这样,linuxidc这个用户对于/home/linuxidc/公共的/FTP共享文件没有写权限了,

现在重启FTP 重新登录看看:

linuxidc@ubuntu:/etc$ ftp 127001

Connected to 127001

Welcome to linuxidc's FTP service

Name (127001:linuxidc): duoduo

Please specify the password

Password:

Login successful

Remote system type is UNIX

Using binary mode to transfer files

ftp>

OK FTP 好了 可以登录了

但是我刚才 sudo chown -R root:root /home/linuxidc/公共的/FTP共享文件/ 这个操作

还带来了一个麻烦。就是FTP共享文件在我桌面登录时,不能任意复制粘贴操作文件了,但是我还要必须保持linuxidc用户对[FTP共享文件]

这个文件夹不可写。这该怎么办呢?

其实很简单,

cd /home/linuxidc/公共的/FTP共享文件

sudo mkdir FTPFILES

sudo chown -R linuxidc:duoduo FTPFILES

这样 就保持了 FTP共享文件 文件夹linuxidc用户不可写,但duoduo用户用可以在桌面登录时任意操作文件了,只不过此时的随意范围在FTPFILES文件夹范围呢了。

这样基本FTP服务基本搭建完成了。

对了 忘记了一点。就是不让FTP服务开机启动。操作如下:

linuxidc@ubuntu:/etc/init$ cd /etc/init/

linuxidc@ubuntu:/etc/init$ sudo cp vsftpdconf vsftpdconfold

编辑配置文件

sudo gedit /etc/init/vsftpdconf

将#start on runlevel [2345] or net-device-up IFACE!=lo 修改为start on runlevel [345] 如下:

#start on runlevel [2345] or net-device-up IFACE!=lo

start on runlevel [345]

stop on runlevel [!2345]

这次重启FTP 重启系统 彻底完成。

搭建FTP服务器要先创建一个用户账户用于登录FTP,然后添加IIS程序服务,然后才是创建发布自己的FTP站点。

一、右键计算机选择管理,点开本地用户和组选择用户。

二、右键建立新用户,填写资料后完成创建。

三、右键计算机进入控制面板选项,点击卸载程序按钮,选择程序和功能选项。

四、选择打开或关闭Windows功能选项,找到Internet信息服务,打开FTP服务器,勾选所有子菜单,确定。

五、右键计算机选择管理,打开服务和应用程序选项,点击Internet信息服务管理,右键点击网站,选择添加网站。

六、在弹出的页面中填写信息,IP地址选择本地的IP地址。

七、新建完成后右键刚才建立的网站名称,选择添加FTP站点发布,IP地址选择本地的IP地址,端口号选择2121,完成后下一步。

八、根据个人用途选择需要的选项,完成后点击完成选项。打开浏览器输入网址后回车,验证是否成功即可。

注意事项

1、在内网中搭建FTP最重要的就是映射端口,要不外网是无法访问到本机的FTP服务器上。做映射必须要登入路由器上去。每个人的路由都是不同的,但是总体功能还是大同小异的。

2、如果出现没有访问权限,找到IE浏览器Internet选项中的“高级” ,将“启用ftp文件夹视图”添加勾号,将“使用被动FTP”的勾号去掉。重新访问即可。

1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。

2、其次,在linux命令行中输入:service vsftpd start。

3、键盘按“回车键”运行shell指令,此时会看到ftp服务被成功启动了。

如何设置ftp服务器,在如图网络下?

移动网关指的是啥?

服务器IP、无线网关的IP、路由器IP,都有提供,才能告诉你是否可以架设FTP。

如果无法实现网络端口映射,架设FTP没用。

至于FTP服务器的架设很简单,可以用系统自带,也可以运行专门的FTP服务器,这不是问题所在。

只有你提供详实的IP地址段,网络拓扑,设备,才是关键。

不就是个手机想访问服务器么?FTP干啥?不就是传送文件么?

想传送文件,不用这么复杂,如果都能连接互联网,那就手机、电脑运行都向日葵、ToDesk等就好。

如果都在同一网段局域网,那就都运行RealVNC就好。

ftp服务器怎么搭建

方法如下:

操作设备:戴尔笔记本电脑

操作系统:win7

操作程序:管理选项10

一、首先选择“管理选项”打开“本地用户和组”可以在列表中看到用户选项,如下图所示:

二、然后从下拉菜单中选择新用户,开始构建填写用户名和密码,如下图所示:

三、之后找到“控制面板”选项并将其打开,如下图所示:

四、单击下面的卸载程序按钮进入安装程序列表界面,如下图所示:

五、在左上角的菜单栏中打开或关闭Windows,单击进入,如下图所示:

六、转到Windows功能界面打开或关闭,勾选其子菜单的FTP服务和FTP可扩展性,然后单击按下OK按钮,如下图所示:

七、添加IIS服务后,单击Internet信息服务管理-此时我们可以看到连接右框架,如下图所示:

八、然后右键单击该网站以选择添加网站,如下图所示:

九、然后在弹出的添加网站框中输入我们的网站名称,然后选择添加,如下图所示:

十、创建我们的FTP后,启动绑定和SSL设置,端口号选择2121IP地址填写本地IP地址,如下图所示:

怎么做ftp服务器

架设一台FTP服务器其实很简单。首先,要保证你的机器能上网,而且有不低bai于ADSL512Kbps的网络速度。其次,硬件性能要能满足你的需要。最后,需要安装FTP服务器端的软件,这类软件很多,可以使用微软的IIS,也可以使用专业软件。不同的软件提供的功能不同,适应的需求和操作系统也不同。一般来说,系统最低要求如下:

CPU:PⅢ450MHz以上

内存:256MBSDRAM以上

带宽:ADSL512Kbps以上

至于操作系统,Windows98/Me/NT/2000/XP均可,如果对服务器的性能和安全性要求很低,可以采用Windows98和WindowsMe。本文中,如无特殊说明,均以WindowsXP专业版为操作系统,其余操作系统下FTP服务器的架设及设置均大同小异。

一、用IIS架设

如果只是想建个小型的同时在线用户数不超过10个的FTP服务器,且不会同时进行大流量的数据传输,可以用IIS5.0作为服务器软件来架设。

1.安装

WindowsXP默认安装时不安装IIS组件,需要手工添加安装。进入控制面板,找到“添加/删除程序”,打开后选择“添加/删除Windows组件”,在弹出的“Windows组件向导”窗口中,将“Internet信息服务”项选中。在该选项前的“√”背景色是灰色的,这是因为WindowsXP默认并不安装FTP服务组件。再点击右下角的“详细信息”,在弹出的“Internet信息服务”窗口中,找到“文件传输协议服务”,选中后确定即可。

安装完后需要重启。WindowsNT/2000和WindowsXP的安装方法相同。

2.设置

电脑重启后,FTP服务器就开始运行了,但还要进行一些设置。点击“开始→所有程序→管理工具→Internet信息服务”,进入“Internet信息服务”窗口后,找到“默认FTP站点”,右击鼠标,在弹出的右键菜单中选择“属性”。在“属性”中,我们可以设置FTP服务器的名称、IP、端口、访问账户、FTP目录位置、用户进入FTP时接收到的消息等。

1)FTP站点基本信息

进入“FTP站点”选项卡,其中的“描述”选项为该FTP站点的名称,用来称呼你的服务器,可以随意填,比如“我的小站”;“IP地址”为服务器的IP,系统默认为“

如何建立ftp服务器

1、首先,我们创建一个用于登录FTP以进行操作的用户帐户。右键单击我的桌面并选择“管理选项”,转到“管理”界面,然后打开“本地用户和组”选项。我们可以在列表中看到用户选项。

2、然后右键单击用户选项,从下拉菜单中选择新用户,开始构建我们的用户,填写用户名和密码。描述可以留空。然后单击Create。创建后,您将在右侧的用户列表中看到我们创建的用户。

3、用户创建完成后,我们开始添加IIS程序服务。打开计算机的“开始”菜单,找到“控制面板”选项并将其打开。

4、转到控制面板界面查找程序选项,单击下面的卸载程序按钮进入安装程序列表界面。

5、转到程序和功能选项卡,我们可以看到有一个选项可以在左上角的菜单栏中打开或关闭Windows,单击进入。

6、转到Windows功能界面打开或关闭,我们擅长Internet信息服务,然后单击打开FTP服务器的前端,即勾选其子菜单的FTP服务和FTP可扩展性,然后单击按下OK按钮。

7、添加IIS服务后,开始创建我们的FTP站点,右键单击我的电脑并选择管理,然后找到服务和应用程序选项,单击打开,然后单击Internet信息服务管理-此时我们可以看到连接右框架。

8、单击打开连接框下方的本地主机主页,然后您可以看到应用程序池和网站选项,我们右键单击该网站以选择添加网站。

9、然后在弹出的添加网站框中输入我们的网站名称,物理路径是我们的FTP本地文件夹,我们可以在磁盘中创建新的,然后选择添加,IP地址选择我们的本地IP地址。

10、创建我们的FTP后,我们可以看到我们刚刚在网站下面创建了一个网络,右键单击网站名称,选择添加FTP站点发布,然后启动绑定和SSL设置,端口号选择2121IP地址填写本地IP地址。

将你的FTP软件的工作模式设置为 pasv模式 就OK了 软件不同设置方法不同

(1)IE:工具 -> Internet选项 -> 高级 -> “使用被动FTP”(需要IE60以上才支持)。

(2)CuteFTP:Edit -> Setting -> Connection -> Firewall -> “PASV Mode” 或File -> Site Manager,在左边选中站点 -> Edit -> “Use PASV mode” 。

(3)FlashGet:工具 -> 选项 -> 代理服务器 -> 直接连接 -> 编辑 -> “PASV模式”。

(4)FlashFXP:选项 -> 参数选择 -> 代理/防火墙/标识 -> “使用被动模式” 或 站点管理 -> 对应站点 -> 选项 -> “使用被动模式”或快速连接 -> 切换 -> “使用被动模式”。

在cmd里面:

如果需要切换到PORT模式:quote PORT;

同样,如果需要PASV模式:quote PASV即可

1、 本人配置的ftp服务器的设计要求如下:

(1)、匿名用户可登录浏览,但不能下载

(2)、设置4个不同等级的用户使用此ftp服务器(虚拟用户),分别如下

用户名:nan306 路径/home/vsftpd 管理用户,可对ftp服务器的所有文件进行任何操作

用户名:down 路径/home/vsftpd/down 下载用户,只可下载此目录下的文件

用户名:upload 路径/home/vstfpd/upload 上传用户,在此目录下可上传下载删除等操作

用户名:wsn 路径/home/vsftpd/wsn 实验室文件管理目录,此用户目录为本实验室内部资料,其下挂在down虚拟路径

2、vsftpd的安装

$ sudo apt-get install vsftpd

安装完后不用做任何配置既可用匿名方式进行访问,默认的ftp文件夹为/srv/ftp

3、vsftpd的开始、关闭和重启

$sudo /etc/initd/vsftpd start #开始

$sudo /etc/initd/vsftpd stop #关闭

$sudo /etc/initd/vsftpd restart #重启

关于vsftpd的开机自启动,当vsftpd装好后是默认开机自启动的,如果不需要可关闭,关闭方法很多,网上自己看吧,我用一条命令

$sudo mv /etc/rc2d/S20vsftpd /etc/rc2d/K20vsftpd

具体请参考开机自启动文章 http://hibaiducom/jidaxiaobeibei/blog/item/e16309446cc0b237879473d6html

3、vsftpd的配置

这一块网上信息是铺天盖地,关于配置参数我这里就不一一列举,初次接触的朋友参考http://os51ctocom/art/201003/189123htm这个网址,高级点的配置参考http://www517sounet/blogviewasplogID=515#commmark_241。如果没接触国建议先看看第一个网址里面的内容,简单明了。

关于配置这块初次配置ftp的朋友我的建议是别一下把所有配置全看完就照着做,这样都配完了ftp出了问题都不知道哪步错的,一步步来,配一步测试一步。

我的配置过程如下:

vsftpd的配置很简单,就是打开/etc/vsftpdconf文件,

$sudo vi /etc/vsftpdconf #我这里用ssh登录服务器配置的,所以用vi,本机的话可以直接 sudo gedit /etc/vsftpdconf

然后对参数进行修改,修改完咧就重启服务器

$sudo /etc/initd/vsftpd restart #重启就可以实现配置功能。

对本人配置的服务器中 vsftpdconf的参数使用如下:

listen=YES #启用独立vsftpd服务器

#listen_ipv6=YES 不需要,注释掉

anonymous_enable=YES #本服务器需要匿名访问

local_enable=YES #要用虚拟用户,需要本地访问的(关于本地用户和虚拟用户不要迷茫,稍后解释)

write_enable=YES #需要本地用户对文件进行修改和删除

#local_umask=022 FTP上传文件权限 ,默认是077,本服务器每个虚拟用户都有上传权限设置,总的就留空注释掉了

#anon_upload_enable=YES 是否允许匿名用户上传,不需要匿名上传注释掉

#anon_mkdir_write_enable=YES 是否允许匿名用户的写和创建目录的权限,不要匿名管理,注释掉

dirmessage_enable=YES 当切换目录时,是否显示该目录下message隐藏文件的内容,这个用来显示登录信息的 设为YES

message_file=Welcome 显示的欢迎信息,在ftp目录下建Welcome的文件,里面写上登录信息即可,一般人常用message隐藏文件

xferlog_enable=YES 是否激活上传和下载的日志,需要

connect_from_port_20=YES 是否启动FTP数据端口20的连接请求 需要

chown_uploads=YES 是否改变上传文件的所有者,我这里需要改变上传文件所有者

chown_username=virtual 改变上传文件的所有着为virtual,这个virtual用户一会要新建的,用来实现虚拟用户登录

xferlog_file=/var/log/vsftpdlog 上传/下载日志文件所默认的路径

xferlog_std_format=YES 是否使用标准的ftpd xferlog日志格式

idle_session_timeout=600 是否将在用户会话空闲10分钟后被中断

data_connection_timeout=120 是否将在数据连接空闲2分钟后被中断

#nopriv_user=ftpsecure 是否运行vsftpd需要的非特殊系统用户默认nobody 不需要

#async_abor_enable=YES 是否是否允许运行特殊的FTP命令async 不要

ascii_upload_enable=YES 是否启用上传的ascii传输方式 需要

ascii_download_enable=YES 是否启用下载的ascii传输方式 需要

ftpd_banner=Welcome to blah FTP service 用户连接服务器后显示信息,显示信息可以随便写

#deny_email_enable=YES 是否允许某些匿名用户使用邮件地址(默认的)

max_clients=10 #FTP服务器最大承载用户,本人设为10

max_per_ip=5 #限制每个IP的进程

local_max_rate=256000 #最大传输速率(b/s)

#hide_ids=YES #是否隐藏文件的所有者和组信息,不隐藏

idle_session_timeout= 3000 #空闲(发呆)用户会话的超时时间,若是超出这时间没有数据的传送或是指令的输入,则会强迫断线。单位为秒,默认值为300。

下面是用来虚拟用户登录的

^^^^^^^^^^^^^^^^^^^^^^^^^^^^

guest_enable=YES 使用虚拟用户

guest_username=virtual 将虚拟用户等同本地用户 virtual

user_config_dir=/etc/vsftpd/vsftpd_user_conf 虚拟用户配置文件夹

pam_service_name=vsftpdvu 虚拟用户加密设置

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

其他未列出来的视情况自己斟酌,如不明白清保持原样。

关于配置文件修改一定注意一下几点:

1、配置前最好把配置文件备份一下, sudo cp /etc/vsftpdconf /etc/vsftpdconfback,以备配错了恢复

2、所有配置语句后面不要有空行,我自己的配置很严格连空格都没有,把所有没必要的注释尤其是汉语注释全删除,如果配置语句后面或前面有空行或空格会报错

3、为了防止出现第2点中的错误,请尽量无比自己一条条改写配置语句,不要从网上拷贝,很容易多空格,多回车

4、不清楚自己是否需要的请保持配置文件原样。

配置完了请重启ftp,看是否报错,是否可以连接,如报错或不能连接请自己检查配置文件,如果还不能启动,报错,很有可能是配置文件有空格或回车,检查并修改。如果实在还不行,恢复配置文件,重新一条条验证配置。

4、使用虚拟用户登录(文本法)

此实现有很多方法,主要的是文本法和数据库法,其实大同小异,本文使用文本法。

此处涉及到两个概念,一个是本地用户,一个是虚拟用户。

本地用户就是linux实实在在的一个用户,如root,你的登录用户等等都是本地用户。

虚拟用户不是linux上的用户,只是自己起的虚拟用户,用来使用ftp的,虚拟用户必须关联到一个本地用户上。

虚拟用户的实现可以参考官方http://wikiubuntuorgcn/Vsftpd%E8%99%9A%E6%8B%9F%E7%94%A8%E6%88%B7%E8%AE%BE%E7%BD%AE,但是里面有错误,请注意甄别。官方的多错,没天理呀,我就是因为这个错误搞了好久,错误很简单,就是其中“为虚拟用户创建本地系统用户 ”那块本地系统用户建立错了,应该是virtual,既改为:

sudo useradd virtual -d /home/vsftpd -s /bin/false

sudo chown virtual:virutal /home/vsftpd

当然这个用户名字你也可以改,但是此处的名字必须和配置文件vsftpdconf中guest_username=virtual项的参数相同。

………………………………………………………………………………………………

下面是我的配置过程,结合官方的那个网址看啊,大部分相同,略有不同:

首先先新建文件夹

sudo mkdir /home/vsftpd

cd /home/vsftpd

sudo mkdir down upload wsn

(1)、创建虚拟用户数据库

新建logusertxt文件,

$sudo vi /home/logusertxt

里面输入虚拟用户名和密码,格式如下

nan306

mima1

wsn

mima2

upload

mima3

down

mima4

注意不要多空格和空行,其中nan306,upload等为虚拟用户名,另外两行为相应密码

生成数据库

先装一个软件

$sudo apt-get install db47-util

新建一个文件夹,放置配置文件

sudo mkdir /etc/vsftpd

然后执行

$sudo db47_load -T -t hash -f /home/logusertxt /etc/vsftpd/vsftpd_logindb

最后设置一下数据库文件的访问权限

$sudo chmod 600 /etc/vsftpd/vsftpd_logindb

配置PAM文件

新建/etc/pamd/vsftpdvu

$sudo vi /etc/pamd/vsftpdvu

输入内容如下:

auth required /lib/security/pam_userdbso db=/etc/vsftpd_login

account required /lib/security/pam_userdbso db=/etc/vsftpd_login

我们上一步建立的数据库 vsftpd_login 在此处被使用

我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpdconf文件中的 语句pam_service_name=vsftpdvu来启用的,稍后你将发现。

(2)、为虚拟用户建立本地用户

新建一个系统用户vsftpd,用户家目录为/home/vsftpd, 用户登录终端设为/bin/false(即使之不能登录系统)

udo useradd virtual -d /home/vsftpd -s /bin/false

sudo chown virtual:virutal /home/vsftpd

现在为止,我们的3个用户都可以工作了,可是它们的根目录现在都是/home/vsftpd,权限也都一样。 那么怎么才能完成我们预定的目标呢?

(3)新建etc/vsftpd_user_conf文件夹

在上面的配置中,有这么一行 r_config_dir=/etc/vsftpd/vsftpd_user_conf

现在,我们要把各个用户的配置文件放到目录/etc/vsftpd/vsftpd_user_conf中

sudo mkdir /etc/vsftpd/vsftpd_user_conf

cd /etc/vsftpd/vsftpd_user_conf

sudo touch nan306 wsn upload down

每个文件既为一个配置文件,如nan306是个系统管理用户,里面配置如下:

打开nan306

sudo vi /etc/vsftpd/vsftpd_user_conf/nan306

里面添加

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/home/vsftpd

这里要注意不能有空格,不然登录的时候会提示出错。下同

wsn用了管理wsn文件夹,配置如下:

打开wsn

sudo vi /etc/vsftpd/vsftpd_user_conf/wsn

里面添加

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/home/vsftpd/wsn

wsn目录下面还要挂载down文件夹的虚拟路径

在wsn目录下新建目录down

sudo mkdir /home/vsftpd/wsn/down

然后系统启动是将/home/vsftpd/down挂载到/home/vsftpd/wsn/down

改写/etc/rclocal实现开机启动

sudo vi /etc/rclocal

添加 mount –bind /home/vsftpd/down /home/vsftpd/wsn/down

upload目录中

write_enable=YES

anon_world_readable_only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/home/vsftpd/upload

down目录中

local_root=/home/vsftpd/upload

至此配置完了。重启vsftpd我们就可以看到效果了^_^

/etc/initd/vsftpd restart

500 OOPS: cannot change directory:

linux打开ftp遇到的问题 500 OOPS: cannot change directory:

google好多都是 执行这个就OK setsebool ftpd_disable_trans 1 service vsftpd restart

但是执行的时候遇到这个问题 Could not change active booleans: Invalid boolean

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 怎样用ubuntu14.04ftp架设文件共享服务器

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情