`
阅读更多

Ubuntu自带的FTP服务器是vsftpd.
安装使用

1、安装vsftpd


sudo apt-get install vsftpd
安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下ftp://IP地 址。应该可以看到一个空白内容的ftp空间。

默认设置下匿名用户可以下载,但不能写入或是上传

2、设置 vsftpd.conf文件

现在我们要让匿名用户无法访问,并且得输入linux上的用户密码后才能访问到他们自己目录里的内容。

首先找到设置vsftpd的文件,位置在/etc/vsftpd.conf


sudo gedit /etc/vsftpd.conf
服务器的配置 

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=Moonlight Ftp Server (欢迎信息)
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 ftpkill 进程号
=============================================


最后重启动服务
sudo /etc/init.d/vsftpd restart


==========================================

高级配置


1. 配置本地组访问的FTP

首先创建用户组 test和FTP的主目录

groupadd testmkdir /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

添加入下信息:

moonlight ----username

moonlight -----password


格式要按照我的来哦,一个用户名,一个密码啦

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_loginaccount 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_yesAnonymous_enable=noLocal_enable=yesWrite_enable=noAnon_upload_enable=noAnon_mkdir_write_enable=noAnon_other_write_e

nable=noChroot_local_user=yesGuest_enable=yes----------起用虚拟用户Guest_username=qiang------将虚拟用户映射为本地用户

Listen_port=5555Max_client=10Max_per_ip=1Ftpd_banner=this is a virtual server and usersPam_service_name=ftp.vu

注:在主配置文件中给的权限越低,在后面分用户管理的时候对拥护的权限划分的空间就越大,因为主配置文件最高的限制服务先读主配置文

件,然后再读用户的配 置文件

重起服务

到此虚拟USER就建好了

J:在VSFTPD。CONF所在的目录中创建virtaul文件目录

并在文件目录中创建以你用户名命名的配置文件

moonlight

在moonlight中添加

Anon_world_readable_only=noWrite_enable=yesAnon_upload_enable=yesAnon_other_write_enable=yes

此用户就有了上传、下载、删除文件目录、修改文件名和浏览的权限

K:修改vsftpd2.conf

加入user_config_dir=/vsftpd.conf所在的目录/virtual

重起服务器就搞定了

配置

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=yesUserlist_file=/指定的路径/vsftpd.user_list又开始单的了
Banner_fail=/路径/文件名 (连接失败时显示文件中的内容)

Ls_recurse_enable=noAsync_abor_enable=yesOne_process_model=yesListen_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=noguest_enable=nolocal_enable=yeswrite_enable=yeslocal_umask=022chroot_list_enable=yeschroot_list_file=/etc/

vsftpd.chroot_list (如没有则自己创建)(在etc/vsftpd.chroot_list 填入需要登陆的本地用户名)

分享到:
评论

相关推荐

    FTP安装程序.rar

    FTP安装程序.rar ftp网站放到网上必备的东东

    ftp安装 Java实现客户端

    ### FTP安装及Java客户端实现详解 #### 一、FTP服务器安装步骤 FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的协议。为了更好地理解和掌握FTP的安装与使用,本篇文章将详细介绍如何在Linux环境下...

    ftp安装文档带图片

    FTP安装: 1. 选择FTP客户端:首先,您需要一个FTP客户端软件,如FileZilla、WinSCP或Cyberduck。这些工具提供了友好的图形用户界面,方便非技术用户操作。以FileZilla为例,可以从其官方网站下载最新版本,并按照...

    ubuntu ftp安装教程

    ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程ftp安装教程

    sesu linux FTP安装步骤图文教程

    【SUSE Linux FTP安装步骤详解】 SUSE Linux操作系统在默认情况下并未预装FTP服务,因此如果需要使用FTP功能,必须手动进行安装。本文将详细阐述如何在SUSE Linux上安装和配置FTP服务器,以实现本地用户登录并允许...

    win7系统FTP安装

    ### Win7系统FTP安装知识点详解 #### 一、FTP服务简介 FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议。它允许用户在不同主机之间上传和下载文件。FTP通常用于网站管理和文件共享场景。 ...

    Windows2012绑定域账户FTP安装和权限、配额设置

    ### Windows 2012 绑定域账户的FTP安装与权限、配额设置详解 #### 一、项目背景及需求概述 在一个企业环境中,为了更好地管理内部文档和资源共享,通常会采用FTP(File Transfer Protocol)服务器来实现文件传输的...

    linux ftp安装、自动安装

    Linux FTP安装与自动安装是系统管理员在Linux环境中部署FTP服务时常常需要进行的操作。FTP(File Transfer Protocol)是一种用于在互联网上进行文件传输的标准协议,它使得用户可以在不同计算机之间交换文件。在...

    centos下ftp安装

    CentOS 下 FTP 服务器安装和配置 FTP(File Transfer Protocol)是互联网上常用的文件传输协议,CentOS 作为一款流行的 Linux 发行版,安装和配置 FTP 服务器是必不可少的。本文将指导用户在 CentOS 6.3 下安装和...

    ftp安装和设置

    以下是对FTP安装和设置过程的详细解析,包括从源代码编译安装FTP服务器软件的关键步骤和注意事项。 ### FTP安装前的准备 在开始安装FTP之前,首先确保你的系统环境已经准备好。这通常包括更新操作系统、安装必要的...

    从FTP安装Fedora图文并茂教程

    【FTP安装Fedora图文并茂教程】 在Linux世界中,Fedora是一款流行的开源操作系统,以其先进的技术、最新的软件包和活跃的社区而受到广大用户的喜爱。本教程将详细讲解如何通过FTP方式安装Fedora,这适用于没有光驱...

    FTP安装与用户权限设置PPT学习教案.pptx

    总的来说,FTP安装与用户权限设置涉及了系统服务的安装配置、FTP站点的创建、用户账户的创建与管理以及文件系统权限的分配。了解这些步骤对于管理和维护一个安全、高效的FTP服务器至关重要。在实际应用中,根据业务...

    从ftp安装linux系统的实验报告(包括步骤详解,截图等).pdf

    8. **配置虚拟机启动命令**: 输入`linux askmethod`作为启动命令,这会引导Linux安装程序询问安装方法,其中就包括FTP安装。 9. **选择键盘类型**: 根据个人需求选择适合的键盘布局,这对于输入正确的安装指令至关...

    CentOS_5.5下FTP安装及配置

    CentOS_5.5下FTP安装及配置详细介绍!

    ftp安装配置.txt

    ftp安装配置。

    Ftp安装部署与Java调用.zip

    Ftp安装部署与Java调用

    Linux离线安装ftp安装包

    本资源提供了一种离线安装FTP服务器的方法,特别适用于没有网络连接或者网络环境受限的Linux环境。这里我们将详细讲解如何利用提供的"vsftpd-2.2.2-24.el6.x86_64.rpm"安装包,在Linux系统中安装FTP服务器。 首先,...

    linux ftp安装

    ### Linux FTP安装详解 #### 实验目的与背景 在Linux环境下通过FTP进行系统安装是一种常见的部署方式,尤其适用于网络环境中批量部署系统的情况。本实验旨在详细介绍如何利用FTP服务器完成Linux系统的网络安装,并...

    ftp安装方法

    FTP安装方法 FTP(File Transfer Protocol,文件传输协议)是用于在网络上进行文件传输的一种协议。在 Linux 系统下安装 FTP 服务器可以实现文件的远程传输和共享。在本文中,我们将详细介绍如何在 Linux 系统下...

    Linux下安装卸载ftp的方法

    2.检查机器是否已经安装了ftp:rpm -qa|grep vsftpd;  如果没有返回任何结果,表示没有安装;如果返回文件包名,这表示已经安装了该服务; 3.开始安装:yum install vsftp;(接下来的步骤可能要询问:Is that ok?,...

Global site tag (gtag.js) - Google Analytics