如何在linux搭建ftp服务器,第1张

详解Linux中搭建一个ftp服务器

ftp工作是会启动两个通道:

控制通道 , 数据通道

在ftp协议中,控制连接均是由客户端发起的,而数据连接有两种模式:port模式(主动模式)和pasv(被动模式)

PORT模式:

在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21) 发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ftp_server将通过自己的TCP 20 端口和PORT中包含的端口建立新的连接来传送数据。

PASV模式:

传送数据时,ftp_client--PASV命令-->ftp_server(21) 发送PASV命令时,ftp_server自动打开一个1024--5000之间的随机端口并且通知ftp_client在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。

安装ftp

#rpm -qa vsftpd 查看是否已经安装

#yum install -y vsftpd

#rpm -ql vsftpd

/etc/logrotated/vsftpd vsftpd的日志文件

/etc/pamd/vsftpd PAM认证文件

/etc/rcd/initd/vsftpd 启动脚本

/etc/vsftpd vsftpd的配置文件存放的目录

/etc/vsftpd/ftpusers 禁止使用vsftpd的用户列表文件

/etc/vsftpd/user_list 禁止或允许使用vsftpd的用户列表文件

/etc/vsftpd/vsftpdconf 主配置文件

/etc/vsftpd/vsftpd_conf_migratesh vsftpd操作的一些变量和设置

/usr/sbin/vsftpd vsftpd的主程序

其他一些说明文档和手册文件略!

/var/ftp 用户主目录

/var/ftp/pub 用户的目录

#service vsftpd start

#chkconfig --level vsftpd

#chkconfig --level 2345 vsftpd on

2 用户的登录名:ftp(anonymous) 密码空 ,登录的目录为/var/ftp

用用户登录的时候默认是只有的权限,没有上传,创建和删除的权限:

#vim /etc/vsftpd/vsftpdconf

anon_upload_enable=YES 上传

anon_mkdir_write_enable=YES 创建

anon_other_write_enable=YES 删除

#service vsftpd restart

为了安全应该禁止用户的登录:

#vim /etc/vsftpd/vsftpdconf

anonymous_enable=NO

#anon_upload_enable=YES 上传

#anon_mkdir_write_enable=YES 创建

#anon_other_write_enable=YES 删除

#service vsftpd restart

3 创建一个直接登录系统用户来登录ftp:

#useradd -s /sbin/nologin viong

#passwd viong

在虚拟机上的Linux系统配置FTP服务,跟Windows建立连接传输文件的具体操作步骤如下:

1、在电脑上下载并安装好小型FTP服务器(Quick Easy FTP Server) 软件,打开进行设置用户名,用于远程登录。

2、设置密码,再输一次确认密码。

3、设置想共享的文件夹。

4、设置各项权限,包括下载上传权限、下载上传速度限制等。

5、全部设置完毕后,点击“完成”。

6、完成之后,可以在软件里进行各项服务器配置,并且点左上角绿色按钮可以启动服务器,启动后,绿色按钮变暗,红色按钮变亮。

1 首先服务器要安装ftp软件,查看是否已经安装ftp软件下:

#which vsftpd

如果看到有vsftpd的目录说明服务器已经安装了ftp软件

2 查看ftp 服务器状态

#service vsftpd status

3 启动ftp服务器

#service vsftpd start

4 重启ftp服务器

#service vsftpd restart

5 查看服务有没有启动

#netstat -an | grep 21

tcp 0 0 0000:21 0000: LISTEN

如果看到以上信息,证明ftp服务已经开启。

6如果需要开启root用户的ftp权限要修改以下两个文件

#vi /etc/vsftpdftpusers中注释掉root

#vi /etc/vsftpduser_list中也注释掉root

然后重新启动ftp服务。

7 vsftpd 500 OOPS: cannot change directory

登陆报错:

C:\>ftp 1921680101

Connected to 1921680101

220 (vsFTPd 205)

User (1921680101:(none)): frank

331 Please specify the password

Password:

500 OOPS: cannot change directory:/home/frank

Login failed

ftp> ls

500 OOPS: child died

Connection closed by remote host

解决方法:

setsebool ftpd_disable_trans 1

service vsftpd restart

就OK了!

这是SELinux的设置命令,在不熟悉SELnux前,把SELinux关掉也可以的。

8 永久开启,即os重启后自动开启ftp服务

方法一:

cd /etc/xinetdd ,编辑ftp服务的配置文件gssftp的设置:

vi /etc/xinetdd/gssftp ,将 修改两项内容:

(a) server_args = -l –a 去掉-a 改为server_args = -l

(b) disable=yes改为disable=no

(c) 保存退出。

方法二:

(a) system-config-services , 进入图形界面的System services查看是否有 vsftpd项,如果没有转到2,保存后退出

  (b) 用redhat第三张盘 安装此服务(开始--删除/增加程序),200K左右

  (c) #setup

   此时能看到vsftpd项,此时选中此services项,保存后退出

按下列步骤开启设置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服务器的配置。

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

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情