博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FTP服务器的安装与配置
阅读量:4981 次
发布时间:2019-06-12

本文共 1508 字,大约阅读时间需要 5 分钟。

查看是否安装ftp:

rpm -qa |grep vsftpd

1、安装vsftp

1.1、安装vsftp,测试安装的vsftpd的版本是:vsftpd.x86_64 0:3.0.2-11.el7_2

yum -y install vsftpd

在linux中添加ftp用户,并设置相应的权限,操作步骤如下:

1、环境:ftp为vsftp。被限制用户名为ftpuser。被限制路径为/home/ftpuser

2、建用户,命令行状态下,在root用户下:

    运行命令:“useradd -d /home/ftpuser ftpuser”  //增加用户ftpuser,并制定ftpuser用户的主目录为/home/ftpuser

    运行命令:“passwd ftpuser”  //为ftpuser设置密码,运行后输入两次相同密码

1.2、修改配置文件

vi /etc/vsftpd/vsftpd.conf

(1)取消匿名登录

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

(2)输入ip地址后默认加载路径

  local_root=/home/ftpuser/

权限问题:

  常见错误:

  ftp上传文件出现553 Could not creat files 严重文件传输错误

  原因:因为上传文件所在文件夹默认只有root用户才有写权限,所以我们还要将写权限赋予给其他用户。

  在目标文件夹下输入chmod -R 777 /home/ftpuser 即可

修改配置文件后重启ftp服务:systemctl restart vsftpd.service

 

1.3、设置vsftpd开机启动

systemctl enable vsftpd.service

1.4、启动并查看vsftpd服务状态,systemctl启动服务成功不会有任何提示,绿色的active表示服务正在运行

systemctl start vsftpd.service systemctl status vsftpd.service

 

2、本地验证ftp是否可以正常访问

2.1、安装ftp

yum -y install ftp

2.2、使用anonymous登陆,无需密码

ftp localhost

220表示服务正常,可以登陆;230表示登陆成功。

2.3、查看FTP服务器文件夹信息

 

3、  外部证ftp是否可以正常访问

3.1、关闭防火墙(也可以设置防火墙规则,得再百度了)

systemctl stop firewalld.service

  为防止机器重启后防火墙服务重新开启,可将防火墙服务永久关闭。

systemctl disable firewalld.service

3.2、在window上输入ftp://IP地址,可看到ftp下的目录(pub为系统预设的)上文已给出修改目录方法

4、文件读写。

     到上面为止,我们发现ftp目录下并不能读写文件,这是由文件夹权限和selinux引起的。

4.1、设置文件夹权限,将pub文件夹的权限设置为777

chmod 777 -R /var/ftp/pub

4.1、关闭selinux服务

vi /etc/selinux/config

    将SELINUX=enforcing改为:SELINUX=disabled

4.3、系统重启,让配置生效

shutdown -r now

4.4、上传文件

 

至此,ftp完全安装完成,若需为FTP配置用户权限,可自行百度。

转载于:https://www.cnblogs.com/116970u/p/10381593.html

你可能感兴趣的文章
[CSS] Change the Alignment of a Single Flexed Item with 'align-self'
查看>>
[Dart] Capture and Handle Data Sequences with Streams in Dart
查看>>
[Dart] splitMapJoin
查看>>
[Angular] Show a Loading Indicator for Lazy Routes in Angular
查看>>
[HTML5] Lazyload below the fold images and iframes with native browser lazy-loading
查看>>
[HTML5] Add Semantic Styling to the Current Page of a Navigation Item with aria-current
查看>>
[React Native] Up & Running with React Native & TypeScript
查看>>
[CSS] Change the off-axis Alignment of a Flexed Container with `align-items`
查看>>
[Javascript] Run asynchronous functions in sequence using reduce
查看>>
[React] Create a Query Parameter Modal Route with React Router
查看>>
[Algorithm] Tree Width with Level Width
查看>>
[GraphQL] Set variable and default value & alias
查看>>
[Dart] final vs const
查看>>
[GraphQL] Reuse GraphQL Selection Sets with Fragments
查看>>
[GraphQL] Query GraphQL Interface Types in GraphQL Playground
查看>>
[Javascript] Convert a forEach method to generator
查看>>
[Flutter] Stack Layout
查看>>
[GraphQL] Query Lists of Multiple Types using a Union in GraphQL
查看>>
[Angular] Lazy Load CSS at runtime with the Angular CLI
查看>>
[Javascript] Create an Image with JavaScript Using Fetch and URL.createObjectURL
查看>>