转载:http://blog.sina.com.cn/s/blog_165e646820102xe1q.html

参考:
1、http://www.cnblogs.com/mrcln/p/6179673.html
2、http://www.cnblogs.com/orzlin/p/5600529.html
3、linux下ftp配置文件详解:http://www.cnblogs.com/mrcln/p/6189665.html

1.切换到root用户

2.查看是否安装vsftp,我这个是已经安装的。

[root@localhost vsftpd]# rpm -qa |grep vsftpd
vsftpd-3.0.2-11.el7_2.x86_64

3.如果没有发现,则安装。

yum install vsftpd* -y

4.启动vsftpd服务,以及重启命令(centos7.0以上版本)

[root@localhost vsftpd]# /bin/systemctl start vsftpd.service
[root@localhost vsftpd]# /bin/systemctl restart vsftpd.service

低版本试一下这些命令:

/etc/init.d/vsftpd restart
启动ftp命令  #service vsftpd start

停止ftp命令  #service vsftpd stop

重启ftp命令  #service vsftpd restart

设置自启:chkconfig vsftpd on

5.测试一下能否登录FTP了,先安装一个ftp客户端组件。

yum -y install ftp

尝试登录一下

ftp localhost

输入用户名ftp,密码随便(因为默认是允许匿名的)

登录成功,就代表ftp服务可用了。

但是,外网是访问不了的,所以还要继续配置。

6.取消匿名登录

vi /etc/vsftpd/vsftpd.conf

把第一行的 anonymous_enable=YES ,改为NO

重启

[root@localhost vsftpd]# /bin/systemctl restart vsftpd.service

7.创建一个组,用于存放ftp用户

groupadd ftpgroups

8.创建ftp用户,并加入ftpgroups组,/home/ftp是自己建的目录,不存在就自己创建一个

useradd -d /home/ftp/ftptest -g ftpgroups ftptest

设置密码

passwd ftptest

设置不允许用于用户登录

usermod -s /sbin/nologin ftptest

可以看到已经建好了

[root@localhost vsftpd]# ls /home/ftp
ftpn ftptest

这时候重启一下vsftpd服务

/bin/systemctl restart vsftpd.service

登录一下看,可以登录了,但是发现也能访问上层目录,甚至根目录,这不是我们希望的,修改一下配置文件让其只能访问自身目录

vi /etc/vsftpd/vsftpd.conf

如下设置

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

另外,从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列项:

allow_writeable_chroot=YES

好了,这样就只能访问自身所属目录。

如果希望某个用户可以访问根目录,把用户名加入

/etc/vsftpd/chroot_list

不存在就创建这个文件,一行一个用户名。

如果还是登陆不了ftp,那很有可能是selinux的问题,这个东西把他关掉就行

vi /etc/selinux/config

SELINUX=enforcing 设置成SELINUX=disabled

重启一下服务器

reboot

重启完了别忘了把vsftpd服务打开,默认是自启的。

如果连接不上,很可能是防火墙阻止了,尝试关闭防火墙

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

如果出现远程文件夹无法显示的情况,请使用主动模式连接,在你的ftp工具上设置。

linux服务器修改ftp默认21端口方法

1、登录服务器,打开vsftp.conf文件

# vim /etc/vsftpd/vsftpd.conf

2、在文件末尾增加listen_port=8021

#remote_charset=CP1251
#
# Enable this options if you have double "я"
#
#double_377=0
listen_port=8021

3、打开/etc/services文件

# vim /etc/services

4、找到ftp选项并将21修改成你设置的端口,本文为8021

# 21 is registered to ftp, but also used by fsp
ftp 8021/tcp
ftp 8021/udp fsp fspd

5、重启vsftp服务

# /etc/init.d/vsftpd restart

6、使用netstat -utlpn | grep vsftp命令查看设置的端口,确认是否成功

# netstat -utlpn | grep vsftp
tcp 0 0 0.0.0.0:8021 0.0.0.0:* LISTEN 23619/vsftpd

注:实验需要修改端口号,关闭selinux ,实现ftp访问。

linux 安装 ftp 实现文件共享的更多相关文章

  1. 好记性不如烂笔头-nginx安装环境与Linux安装ftp组件

    Nginx安装环境 1. Nginx安装环境 Nginx是C语言开发,建议在linux上运行,我参加工作这些年来一直使用Linux发行版之一的 Centos作为安装环境. 1.1 gcc 安装Ngin ...

  2. Linux 安装FTP服务

    Linux 安装FTP服务,简单入门 环境: 虚拟机:Oracle VM VirtualBox. 系统:CentOS 7. (1)判断是否安装了ftp: rpm -qa | grep vsftpd 或 ...

  3. Linux安装FTP服务

    转自:http://blog.csdn.net/huangbiao86/article/details/6641952 ftp服务器 1.  在Linux和其他机器之间共享文件(在linux下安装ft ...

  4. Linux安装ftp服务-详细步骤

    最近项目中用到了FTP服务器,于是整理了一份在Linux服务器上安装FTP的详细步骤供大家分享. 1.首先连接上自己的Linux服务器.我的Linux是CentOS 6 2.检查Linux服务器上是否 ...

  5. linux安装ftp组件

    1   安装vsftpd组件 linux系统安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件. [root@bogon ~]# yum -y install v ...

  6. Linux安装ftp组件过程

    1   安装vsftpd组件 安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件. [root@bogon ~]# yum -y install vsftpd 2 ...

  7. linux 安装 ftp

    1 安装 vsftpd 查看是否已经安装 vsftpd rpm -qa | grep vsftpd 如果没有 则安装  安装命令如下 yum -y install vsftpd 设置开机启动 chkc ...

  8. linux安装ftp服务器

    Ftp(文件传输协议) 概念 FTP是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用 ...

  9. linux安装ftp

    安装vsftpd 1.以管理员(root)身份执行以下命令 1.  yum install vsftpd 2.设置开机启动vsftpd ftp服务 1.  chkconfig vsftpd on 3. ...

随机推荐

  1. jquery 判断浏览器版本

    如果你也是Jquery最初的使用者,那么你一定经历过这样判断浏览器的时代:$.browser.msie && $.browser.version,你目前使用的组件里可能还有应用.但是J ...

  2. Node.js 8 中的 util.promisify的详解

    Node.js 8带来了 很多新特性 .其中比较值得注意的,便有 util.promisify() 这个方法. util.promisify() 虽然 Promise 已经普及,但是 Node.js ...

  3. UIPath Level 1

    近日搬砖养家糊口,忙于项目,博客更新一度中断,自己都觉得委屈了. 培训视频看的眼睛耳朵疼,做完最后一个终极考试,哪儿哪儿都觉得不舒服~ 先来个截图,醒醒脑~ 今儿就歇下了~

  4. CSAPP之阅读笔记-计算机系统漫游(1)

    最近在看CSAPP(深入理解计算机系统第二版),其实最新版是第三版.但是,我看了一下价格100多大洋,于是去老夫子旧书网上买了本第二版的,花了30多块钱.哈哈. 网上看了一些关于此书的书评,都说是本好 ...

  5. git操作github仓库基本操作

    一.登录 首次登录 $ git config --global user.name "Your Name" $ git config --global user.email ‘yo ...

  6. 关于WinSock编程的多线程控制

    1引言Windows Sockets规范以U.C. Berkeley大学BSD UNIX中流行的Socket接口为范例定义了一套Microsoft Windows下网络编程接口.它不仅包含了人们所熟悉 ...

  7. Oracle 11g 测试ogg中断之后,重新同步操作

    测试ogg中断之后,重新同步操作 2018-06-07 17:11 779 1 原创 GoldenGate 本文链接:https://www.cndba.cn/leo1990/article/2839 ...

  8. 小学生四则运算JAVA

    点我,github地址 组员:黄浩格,何坤 一.项目说明 1题目:实现一个自动生成小学四则运算题目的命令行程序. 2说明: 自然数:0, 1, 2, -. • 真分数:1/2, 1/3, 2/3, 1 ...

  9. spark提交jar包时出现unsupported major.minor version 52.0错误的解决方案

    一.问题: 最近在spark集群上做一个项目,打包提交jar包时,出现了unsupported major.minor version 52.0的报错,而在local模式运行却能正常运行! 二.错误原 ...

  10. idea开发maven项目热加载

    JavaWeb项目,尤其是一些大型项目,在开发过程中,启动项目耗费的时间就不短.大大的拖慢了开发速度!在这分享一种不需要插件就能实现热加载的方法! 默认已经创建好一个Maven项目 点击此按钮 点击 ...