如何在linux下开启FTP服务,第1张

按下列步骤开启设置LINXU中的FTP服务:

1、开启linuxh环境下的FTP service

过程如下:

输入命令:

/etc/rcd/initd/vsftpd start

/etc/rcd/initd/vsftpd restart

若要关闭这个服务:

/etc/rcd/initd/ vsftpd stop

2、配置文件

进入/etc配置vsftpdftpusers和vsftpduser_list,用vi打开他们,将这两个文件里的root给去掉,保存退出。

3、此时可以打开flshFXP,快速连接,输入IP地址、用户名及密码就可以连接linux系统的FTP服务器

4、vsftpd的配置

在Red Hat Linux 里的vsftpd共有3个配置文件,它们分别是:

vsftpdftpusers:位于/etc目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。

vsftpduser_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd conf配置文件里启用userlist_enable=NO选项时才允许访问。

vsftpdconf:位于/etc/vsftpd目录下。它是一个文本文件,我们可以用Kate、Vi等文本编辑工具对它进行修改,以此来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。

快速构建FTP服务器,FTP服务器实现的基本功能是,下面就分几个步骤来搭建一个可以实现功能的简易FTP服务器。

1.安装FTP服务器

如果在安装系统时没有选择安装FTP服务器,可以通过Red Hat中的“添加/删除应用程序”进行安装。具体方法是,选择“主选单”→“”→“添加/删除应用程序”,在弹出的界面中选中FTP服务器,单击“更新”即可。

如果无法确认是否安装了该软件,可以使用以下命令查看:

2.启动FTP服务器

套用Red Hat 90的预设范例直接启动VSFTP。

为vsftpd启动vsftpd: [确定]

3.在/var/ftp/pub目录下创建一个名为testtxt的文件

文件内容为“This is a test file”。

4.测试

使用FTP客户端登录到本地服务器,然后以匿名身份(anonymous)登录:

# ftp 127001Connected to 127001 (127001)220 (vsFTPd 113)Name (127001:root): anonymous331 Please specify the passPassword:230 Login successful Have funRemote system type is UNIXUsing binary mode to transfer files

这样就成功地登录到FTP服务器。可以显示服务器目录列表如下:

ftp ls227 Entering Passive Mode (127,0,0,1,63,15)drwxr-xr-x 2 0 0 4096 Dec 04 01:35 pub226 y send OK

切换到pub目录下,并显示目录内容,可以找到刚才创建的文件testtxt:

ftp cd pub250 Directory successfully changedftp ls227 Entering Passive Mode (127,0,0,1,232,34)150 Here comes the directory listing-rw-r--r-- 1 0 0 21 Dec 04 01:35 testtxt226 Directory send OK

下载testtxt文件:

ftp mget testtxtmget testtxt y227 Entering Passive Mode (127,0,0,1,186,210)150 Opening BINARY mode data connection for testtxt (21 bytes)226 File send OK21 bytes received in 00108 secs (19 Kbytes/sec)

查看本机目录内容,可以看到testtxt已成功下载到本机。

ftp !lsa EIO_Binders initrd mnt proc tftpboot ylgtxtbin etc lib mymnt root tmpboot home lost+found myshare sbin usrdev id_dsaspub misc opt testtxt var

尝试上传名为ylgtxt的文件,可以看到请求被拒绝了。

ftp put ylgtxtlocal: ylgtxt remote: ylgtxt227 Entering Passive Mode (127,0,0,1,243,10)550 Permission dend

退出登录:

由测试可以看出,已经可以下载文件,但不能上传文件(也不能在服务器上创建目录和文件)。实际上这是一个专门提供下载服务的匿名FTP服务器。

从上面的步骤可以看出,并不需要做什么配置就可以完成一个简易FTP服务器的架设。这是因为Red Hat已经配置好一个缺省的FTP服务器。不过在实际应用中,大部分情况下这个简易的服务器并不能满足需求。

进一步配置FTP

下面将创建一个能够满足常用需求的FTP服务器。实际应用中,FTP服务器一般要同时提供和功能。此外,出于安全考虑,还需要有用户身份验证、用户权限设置及空间管理等。下面就来搭建这样一个FTP服务器。

1.创建欢迎语

如果希望使用者在进入目录时,能够看到欢迎语或对本目录的介绍,可以通过以下方法来实现。

确定/etc/vsftpd/vsftpdconf文件中dirmessage_enable=YES,默认情况下,Red Hat 90有此设置。接着,在目录中新增名为message的文件。本例在/home/ylg目录下创建一个message文件,其内容为“欢迎来到我的 FTP站点”。

2.更换FTP服务器的默认端口

将预设的21端口改为2121,这样做是基于安全的考虑。更改方法为,使用vi打开/etc/vsftpd/vsftpdconf:#vi /etc/vsftpd/vsftpdconf

在文件最后增加如下一行内容:

3.取消anonymous登录的功能

在vsftpdconf文件中找到如下一行,并将其值改为“NO”:anonymous_enable=YES

4.设定使用者不得更改目录

这样做的目的也是基于安全性的考虑。一般情况下,使用者的预设目录为/home/username。若是不希望使用者在登录后能够切换至上一层目录/home,则可通过以下设置来实现。在/etc/vsftpd/vsftpdconf文件中找到以下三行内容:

#chroot_list_enable=YES# (default follows)#chroot_list_file=/etc/vsftpdchroot_list

将其改为:

chroot_list_enable=YES# (default follows)chroot_list_file=/etc/vsftpd/chroot_list

新增一个文件/etc/vsftpd/chroot_list,文件内容为两个用户名:

5.针对不同的使用者限制不同的速度

假设用户ylg所能使用的最高速度为500Kb/s,用户user1所能使用的最高速度为250Kb/s,可以通过以下方法设置。在/etc/vsftpd/vsftpdconf文件尾部新增以下一行:

增加一个名为/etc/vsftpd/userconf的目录:

在/etc/vsftpd/userconf下新增一个名为ylg的文件,其内容如下所示:

local_max_rate=500000

在/etc/vsftpd/userconf目录下新增一个名为user1的文件,其内容如下所示:

local_max_rate=250000

VSFTP对于速度的限制范围大概在80%到120%之间,也就是限制最高速度为100Kb/s,但实际的速度可能在80Kb/s到120Kb/s之间。如果频宽不足,数值会低于此限制。6.对于每一个联机用户,都以独立的进程来运行。一般情况下,在启动VSFTP时,只会看到一个名为vsftpd的进程在运行。但若是读者希望每一个联机用户都能以独立的进程来呈现,则可通过在/etc/vsftpd/vsftpdconf文件中增加以下一行来实现:

setproctitle_enable=YES

6.保存/etc/vsftpd/vsftpdconf文件,然后重新启动vsftpd:

7.测试刚创建的FTP服务器

以缺省方式登录会被拒绝,因为此时的默认端口号已经更改为2121,所以登录时需指定端口。

此时也不能再使用匿名方式登录:

# ftp 127001 2121Connected to 127001 (127001)220 (vsFTPd 113)Name (127001:root): anonymous331 Please specify the passPassword:530 Login incorrectLogin failed

如果以用户ylg则可以成功登录(指定端口2121),并显示欢迎信息:

# ftp 127001 2121Connected to 127001 (127001)220 (vsFTPd 113)Name (127001:root): ylg331 Please specify the passwordPassword:230-欢迎来到我的FTP站点230 Login successful Have funRemote system type is Using binary mode to transfer files

因为在设置中设定了不能切换目录,所以下列命令无法正确执行:

550 Failed to change y

再来测试一下上传和。首先下载服务器目录中的testtxt文件:

ftp get testtxtlocal: testtxt remote: testtxt227 Entering Passive Mode (127,0,0,1,243,215)150 Opening BINARY mode data connection for testtxt (21 bytes)226 File send OK21 bytes received in 000308 secs (67 Kbytes/sec)

可以通过!ls命令看到本机目录中已成功下载该文件。然后上传本机目录中的ylgtxt文件到服务器:

ftp put ylgtxtlocal: ylgtxt remote: ylgtxt227 Entering Passive Mode (127,0,0,1,133,248)150 Ok to send data226 File receive OK19 bytes sent in 00401 secs (046 Kbytes/sec)

用ls命令查看服务器目录,会发现该文件已成功上传。

为了测试不同连机用户使用的是不同进程,可以使用ps -ef指令

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

2、其次,在linux命令行中输入:ftp 101834115。

3、最后,按下回车键执行shell指令,此时会看到已成功连接上ftp服务,可输入ftp命令了。

FTP服务器配置VSFTP主配置文件路径:/etc/vsftpd/vsftpdconf,重要参数:

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编辑器打开vsftpdconf主配置文件:

直接添加以下选项: [root@LidadeFedora vsftpd]# service vsftpd restart

添加用户ftp1,设置登录脚本为 /sbin/nologin:

vsftp默认目录为:/var/ftp,为方便测试,在/var/ftp下新建一个文件"testLocal",在"/var/ftp/pub"新建一个文件"testAnon"。

由于使用root用户新建文件,文件的所有者为root,所以需要把文件的权限设置为644其他用户才能读取该文件

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在linux下开启FTP服务

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情