LINUX下如何开启ftp服务器?

LINUX下如何开启ftp服务器?,第1张

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

tcp0 0 0.0.0.0:21 0.0.0.0:* LISTEN

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

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

#vi /etc/vsftpd.ftpusers中注释掉root

#vi /etc/vsftpd.user_list中也注释掉root

然后重新启动ftp服务。

7. vsftpd 500 OOPS: cannot change directory

登陆报错:

C:\>ftp 192.168.0.101

Connected to 192.168.0.101.

220 (vsFTPd 2.0.5)

User (192.168.0.101:(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/xinetd.d ,编辑ftp服务的配置文件gssftp的设置:

vi /etc/xinetd.d/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项,保存后退出.

详解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/logrotate.d/vsftpd.vsftpd的日志文件

/etc/pam.d/vsftpdPAM认证文件

/etc/rc.d/init.d/vsftpd 启动脚本

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

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

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

/etc/vsftpd/vsftpd.conf 主配置文件

/etc/vsftpd/vsftpd_conf_migrate.sh vsftpd操作的一些变量和设置

/usr/sbin/vsftpdvsftpd的主程序

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

/var/ftp用户主目录

/var/ftp/pub用户的目录

#service vsftpd start

#chkconfig --level vsftpd

#chkconfig --level 2345 vsftpd on

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

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

#vim /etc/vsftpd/vsftpd.conf

anon_upload_enable=YES 上传

anon_mkdir_write_enable=YES创建

anon_other_write_enable=YES删除

#service vsftpd restart

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

#vim /etc/vsftpd/vsftpd.conf

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

一、下载vsftpd软件

sudo apt-get install vsftpd

我这里已经是安装过了

二、配置vsftpd.conf文件,这里是不允许匿名登录的情况

1、进入etc目录

cd /etc/

2、进入编辑

sudo vi vsftpd.conf

3、去掉Listen=YES  anonymous_enable=NO  local_enable=YES  write_enable=YES前面的#号

要注意的是,如果你没有涉及到ipv6地址,listen_ipv6=YES记得要注释掉,不然的话会出现connection refused,至少我是这样了TAT

    

4、在文件末尾插入

pasv_min_port=10060

pasv_max_port=10090

            此为vsftpd被动模式(pasv)的端口范围

   5、保存退出

三、添加FTP用户

1、在一个合适的地方创建文件夹,这个文件夹作为用户的根目录,并设置好权限。例如:/home/ubuntu/ftp

      2、执行如下语句添加用户(username为用户名)

sudo useradd -d /home/ubuntu/ftp -s /bin/bash username

3、执行如下语句设置密码(username为用户名)

sudo passwd username

四、启动ftp服务

sudo service vsftpd start

五、Enjoy!


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/130641.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-16
下一篇2023-03-16

发表评论

登录后才能评论

评论列表(0条)

    保存