一、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. 【WPF】修改ComboBox样式

    修改WPF默认的ComboBox控件样式 如下图所示: 修改代码如下: <UserControl.Resources> <Style TargetType="ToggleB ...

  2. 关于Mvc的分页写法

    关于asp.net mvc的分页,网上已经有很多了.本来也想借用,先看了杨涛写的分页控件,感觉用起来稍微有点复杂,而我只需要简单的分页.分页我写过很多次,原理也熟悉,就是构造首页.上一页.下一页及末页 ...

  3. Python基本数据类型之列表

    学习Python的列表类型需要了解和掌握什么是列表.列表的可变性.列表的访问.列表的增删改查等操作~ 1.了解列表 list1 = ['abc', 123, {1, 2, 3},[2,3]] Pyth ...

  4. mysql备份脚本-mysqldump

    背景:全库备份 备份流程: 1.生成DB列表,将DB名字写入文件 2.定义备份函数,结果写入SQL文件 3.压缩文件,减少磁盘占用量 4.设置保留天数,定期删除n天之前的 5.通过for循环读取DB列 ...

  5. 20145335《java程序设计》第5次实验报告

    20145335郝昊实验五 java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 实验步骤 本次实验我的结对编程对象是20145307陈 ...

  6. shell编程学习笔记之sed编辑器

    在shell编程中,大多数处理的都是文本文件.对文本文件进行处理除了使用交互式文本编辑器(vi[m],gedit......)也可以使用另外一类:流编辑器. 流编辑器:使用预定义的编辑规则来对文本进行 ...

  7. RabbitMQ单机多实例配置

    由于某些因素的限制,有时候你不得不在一台机器上去搭建一个rabbitmq集群,当然这种集群只适合自己玩玩,验证下结论,这个有点类似zookeeper的单机版.真实生成环境还是要配成多机集群的.有关怎么 ...

  8. Linux后台运行命令,nohup和&的区别

    &的意思是在后台运行, 什么意思呢?  意思是说, 当你在执行 ./a.out & 的时候, 即使你用ctrl C,  那么a.out照样运行(因为对SIGINT信号免疫). 但是要注 ...

  9. mybatis缓存有关的设置和属性

    知识点:mybatis缓存相关的设置和属性 重点:每次执行增删改操作后,一二级缓存被清空,是因为标签设置默认属性为 flushCache="true" (1) <!-- 全局 ...

  10. Matrix_QP(A_2SeqSum)

    hdu_4686 题目大意:给出an,bn的递推,求ai*bi(i=0,1,--n-1)的和(an=a(n-1)*Ax+Ay, bn=b(n-1)*Bx+By, a0=A0, b0=B0, Ax,Bx ...