一、ftp服务

ftp是一个文件传输协议(File Transfer Protocal)。lftp相当于一个浏览器,用来向服务器发送请求的。

进行FTP服务的相关操作的时候,要先修改 vim /etc/sysconfig/selinux第七行为disabled。修改之后重启reboot,然后使用getenforce查看你的状态,为disabled代表环境时可以的。(修改环境为了更好第看到相关现象)

1.ftp的启用

yum  install vsftpd           ##安装vsftpd服务

systemctl start vsftpd        ##开启服务

systemctl enable  vsftpd      ##设置开机自启动

firewall-cmd  --permanent --add-service=ftp     ##设置在防火墙中允许使用ftp服务

firewall-cmd  --reload        ##防火墙重新加载

ftp://172.25.254.97           ##浏览器中设置ftpd虚拟机的ip来测试

或者再另一台安装lftp的虚拟机中进行测试 :

lftp  172.25.254.97

2.ftp的基本信息

访问数据端口:21

数据传输端口:>1024随即端口

默认发布目录为:/var/ftp

登陆方式分为:

lftp   172.25.254.97      ## 匿名用户登陆,进去默认目录为/var/ftp

lftp   172.25.254.97  -u student   ##本机用户登陆,进去默认目录为/home/student

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

注意:可以使用man vsftpd 或者rpm  -qc  vsftpd进行该服务的配置文件的查询

3.ftp的安全部署(/etc/vsftpd/vsftpd.conf)

anonymous_enable=YES|NO     ##匿名用户是否可以登陆

local_enable=YES|NO         ##本地用户是否可以登陆

write_enable=YES|NO         ##本地用户是否可写

注意:对配置文件操作后,要重启服务:systemctl restart vsftpd

4.匿名用户相关操作

【1】匿名用户的上传

chmod  775  /var/ftp/pub    ##修改目录的权限为755

chgrp  ftp  /var/ftp/pub    ##修改目录用户组为ftp,因为本机上传文件到远程主机后,所生成文件的用户组为ftp

vim   /etc/vsftpd/vsftpd.conf

anon_upload_enable=YES      ##编辑匿名用户可写

systemctl restart  vsftpd

示例:修改/var/ftp/put的权限和组 :

 

编辑匿名用户可写属性:

 

[root@localhost ftp]# systemctl restart vsftpd.service
  在77主机上进行测试:文件是可以上传的  

 

【2】匿名用户的下载

anon_world_readable_only=NO      ##匿名用户可以进行下载

  示例:修改之后的匿名用户的下载如下(若提示550,则进行文件权限的设定): 
 

【3】匿名用户建立目录

anon_mkdir_write_enable=YES

示例:默认情况下,匿名用户不可以新建目录,修改之后结果如下:

 

【4】匿名用户是否可以删除和重命名

anon_other_write_enable=YES

示例:默认匿名用户不可以进行删除重命名操作,修改属性之后,结果如下:

 

【5】匿名用户加目录的修改

anon_root=/direcotry

示例: 修改匿名用户加目录为/var/ftp/westos

  [root@localhost pub]# mkdir /westos
  [root@localhost ~]# cd /westos/
  [root@localhost westos]# vim /etc/vsftpd/vsftpd.conf  
   anon_root=/westos      ##修改的加目录
  [root@localhost westos]# systemctl restart vsftpd.service
  [root@localhost westos]# mkdir xniu
  [root@localhost westos]# chgrp ftp xniu/
  [root@localhost westos]# chmod 775 xniu/
  [root@localhost westos]# ll
  total 0
  drwxrwxr-x 2 root ftp 19 Aug  5 05:54 xniu
  在主机77中进行测试:
 

此时,上传后的文件所在的目录为:/westos/xniu

  [root@localhost ~]# cd /westos/xniu/
  [root@localhost xniu]# ls
  passwd
 【6】匿名用户上传文件默认权限修改

anon_umask=xxx

【7】匿名用户上传使用的用户身份修改(默认是ftp)

chown_uploads=YES

chown_username=student

示例:使上传的用户属于student,修改内容如下;

 

在主机97中连接ftp,并上传:

 

上传文件显示: 

  [root@localhost xniu]# ll
  total 4
  -rw------- 1 student ftp 2411 Aug  5 06:12 passwd

【8】最大上传速率

anon_max_rate=102400

【9】上传文件的最大连接数

max_client=2

5.本地用户的设定

local_enable=YES|NO     ##本地用户登陆限制

write_enable=YES|NO     ##本地用户写权限限制

local_root=/direction   ##本地用户加目录的修改

local_umask=xxx         ##本地用户上传文件权限

chroot_local_user=YES   ##限定本地用户浏览目录,所有用户被锁定到自己的加目录中(默认可以到根目录下)

chmod  u-w  /home/*     ##设置后出现500权限过大,所以要去掉加目录的写权限

【1】切换根目录用户黑名单的建立

chroot_local_user=NO   ##代表用户可以进入根目录

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list    ##不存在的时候,建立文件;在名单里面的,只能切换在自己加目录下

【2】切换根目录用户白名单的建立

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

【3】限制本地用户的登陆

vim  /etc/vsftpd/ftpusers       ##用户黑名单

vim  /etc/vsftpd/user_list      ##用户临时黑名单

用户白名单设定

userlist_deny=NO

/etc/vsftpd/user_list          ##设定之后,此文件变为白名单;文件里面的用户可以登,其余用户不可以

注意:当user_list为白名单时,与ftpusers文件相比,ftpusers等级高(永久的)

6.ftp虚拟用户的制作

【1】创建虚拟帐号,在/etc/vsftpd/目录中创建一个文件

vim /etc/vsftpd/user_file        ##文件名称任意

ser1             ##把用户名和密码写进去

123

ser2

123

【2】对文件user_file的用户名和密码进行加密,生成加密文件user_file.db

db_load -T -t hash -f  user_file user_file.db  ## -T代表转换  -t指定加密方式  -f指定转换文件和生成文件

【3】在/etc/pam.d/目录下创建文件usercheck,并进行用户名和密码的验证(认证策略)

vim /etc/pam.d/usercheck                ##文件名任意

  

【4】在/etc/vsftpd/vsftpd.conf中进行如下修改

vim  /etc/vsftpd/vsftpd.conf

 

注释:

pam_service_name=usercheck   ##用户验证策略修改为自己写的usercheck

      guest_username=ftp      ##指定用户登陆的加目录为ftp用户对应的加目录

补充:

用?查看在ftp环境中可以使用的操作

get命令文件下载,下载在主机当前目录

put命令上传文件,从本地上传到远程主机,匿名或用户对应目录下

530报错说明认证失败(用户不可以登陆情况)

550表示服务本身不允许操作(mkdir等操作不可以执行)

500权限过大

Linux之FTP服务的更多相关文章

  1. 阿里云linux配置ftp服务

    阿里云linux配置ftp服务 一.ftp服务安装 运行以下命令安装ftp yum install -y vsftpd 运行以下命令打开及查看etc/vsftpd cd /etc/vsftpd ls ...

  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 SSH,FTP服务配置

    CentOS-6.4-x86_64-minimal 0.网卡配置 参考:Linux系统\Centos没有网卡eth0配置文件怎么办? - http://jingyan.baidu.com/articl ...

  5. Linux下FTP服务(一)—— Ubuntu安装

    参考:http://www.cnblogs.com/likwo/p/3154868.html 实验环境:Ubuntu 14.04 VMware虚拟机1. 安装 apt-get install vsft ...

  6. linux 配置ftp服务

    需求:定时远程上传文件,windows->linux linux是一个云服务器,centos7 1:安装vsftpd yum install vsftpd 2:设置开机启动服务chkconfig ...

  7. Linux学习-FTP服务

    一.FTP相关介绍 1.文本传输协议FTP FTP (File Transfer Protocol) 文件传输协议,是因特网中使用最广泛的文件传输协议: 基于C/S结构的双通道协议(数据和命令连接) ...

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

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

  9. linux之FTP服务搭建 ( ftp文件传输协议 VSFTPd虚拟用户)

    FTP服务搭建 配置实验之前关闭防火墙 iptables -F iptables -X iptables -Z systemctl stop firewalld setenforce 0 1.ftp简 ...

  10. linux 搭建ftp服务并设置限制访问目录

    服务器有好几个项目,新项目前端外包,因为要微信授权登陆,所以前端没有办法本地调试,必须上次ftp在我们服务器上调试代码,当然要限制ftp访问的目录,否则整个服务器项目都能看到了. 安装vsftpd s ...

随机推荐

  1. php 输出 sql语句

    第一种方法 $data = M('news')->field("title,date_format(postdate,'%Y-%m-%d') as postdate,content&q ...

  2. 20145309《Java程序设计》第八周学习总结

    日志 •java.util.logging包提供了日志功能相关类与接口,使用日志的起点是logger类,Logger类的构造函数标示为protected,不是java.util.logging同包的类 ...

  3. linux修改单个进程的系统时间

    简介 如下是 libfaketime 的一个简单实例. 在工作中常常需要测试修改时间,如果环境不允许调整时间,就要想办法调整单个进程的时间了. 编译安装 git clone https://githu ...

  4. OnClickListener两种监听方法

    //1种:接口OnClickListener ,在onclick响应 public class MainActivity extends Activity implements OnClickList ...

  5. 【Network Architecture】Feature Pyramid Networks for Object Detection(FPN)论文解析(转)

    目录 0. 前言 1. 博客一 2.. 博客二 0. 前言   这篇论文提出了一种新的特征融合方式来解决多尺度问题, 感觉挺有创新性的, 如果需要与其他网络进行拼接,还是需要再回到原文看一下细节.这里 ...

  6. 从0开始 Java实习 黑白棋

    黑白棋的设计 代码如下: import java.util.*; public class Chess{ char[][] chess = new char[16][16]; public stati ...

  7. windows系统下简单node.js环境配置 安装

    国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/ windows系统下简单nodejs环境配置. 第一步:下载安装文件 下载地址:官网 htt ...

  8. C# winfrom listview 多窗口调用

    Form1 private void button1_Click(object sender, EventArgs e) { Form f = new Form2(ref listView1); f. ...

  9. Spring Boot的自动配置的原理

    Spring Boot在进行SpringApplication对象实例化时会加载META-INF/spring.factories文件,将该配置文件中的配置载入到Spring容器. 1.1.1.   ...

  10. python:使用Fabric自动化你的任务

    http://www.th7.cn/Program/Python/2012/03/05/62236.shtml