(注意! 区分shell命令和往配置文件里加的代码不同)

一:ftp服务的安装,启动和启用。


  1:vim /etc/sysconfig/selinux     改为disabled后重启                  :需要先关闭selinux加强防火墙。

  2:yum install vsftpd lftp -y     systemctl start vsftpd               :安装服务并且启动服务。

  3:firewall-cmd --list-all  可以查看开启的服务,有ssh。  再firewall-config  开启ftp,最好开永久的。

  4:cd /var/ftp :默认的匿名用户访问目录。 编辑文件之后,在火狐浏览器里:ftp://172.25.254.xx  就可以访问到了。

2:ftp的各种功能:  (配置文件:/etc/vsftpd/vsftpd.conf)

  1:限制登陆:anonymous_enable=YES/NO   限制匿名用户是否可以登陆。    local_enable=YES/NO   限制本地用户是否可以登陆。

  2:write_ enable=YES/NO    YES:本地用户可以上传,并且可以写,登陆本地用户实际登陆地址是用户的家目录。 NO:相反。

  3:anon_upload_enable=YES   YES:匿名用户可以上传,上传到/var/ftp中的建立目录中,但是必须给足目录权限,不能通过改ftp的权限而实现匿名用户直接在ftp中上传文件,因为权限太大会使登陆不上。

  4:在配置文件中加入:anon_world_readable_only=NO   表示不仅仅可以读,而且本地用户和匿名用户都可以下载。

  5:取消注释:anon_mkdir_write_enable=YES   表示匿名用户可以在/var/ftp中建立目录中再建立目录。本地用户能否建立看家目录的权限。

  6:在配置文件中加入:anon_other_write_enable=YES   表示匿名用户可以在/var/ftp中建立目录中删除目录。本地用户与此无关。

  7:在配置文件中加入:anon_umask=022                表示匿名用户在/var/ftp中建立的目录权限为755,上传的文件权限为644(匿名用户默认建立的目录权限为700,文件权限为600);本地用户默认建立的目录权限为755,上传的文件权限为644。

  8:取消注释 chown_uploads=YES 

           chown_username=student                匿名用户默认上传身份是ftp用户,可以修改为系统已经存在的用户,例如student

  9:在配置文件中加入:anon_root=/xxx                匿名用户默认访问和发布目录是/var/ftp,但可以修改,自己可以在/下建立目录,然后把目录作修改。

  10:在配置文件中加入anon_max_rate=102400        单位(KB)

                  local_max_rate=10240000        限制匿名用户和本地用户的上传速率分别为100K和10M,(这样就可以区分VIP用户)

  11:本地用户登陆黑白名单:

    黑名单:vim /etc/vsftpd/ftpusers              在其中加入本地用户后此用户就登不上了。

    白名单:在配置文件中加入userlist_deny=NO         启动白名单服务。     vim /etc/vsftpd/user_list   只有加入其中的本地用户才可以登陆。

    注意:黑名单的优先级比白名单高,同时加入黑名单和白名单的用户会登不上。

  12:默认情况下,以本地用户登陆的用户可以切到我的根目录,但这样不安全。因此,必须作出限制,禁止有些用户进入我的根目录。(有两种方式)但都必须去掉本地用户家目录U的W权限。

     1:全部禁止: 取消注释 chroot_local_user=YES      所有以本地用户登陆的都不能切到根目录。

     2:制作白名单:取消注释 chroot_local_user=YES  chroot_list_enable=YES  chroot_list_file=/etc/vsftpd/chroot_list 

                                             vim /etc/vsftpd/chroot_list   加入哪个本地用户,就可以切到根。

           黑名单改第一个YES为NO即可。

3:对于以上有关ftp的操作,无论是以匿名用户还是以本地用户登陆,都会实实在在的登陆到你的系统里,这样本身就是不安全的,因此,在真正的企业中,为了安全,ftp用户都会被做成虚拟用户,然后统一管理,这就大大增加了系统本身的安全性。下面我们一步一步来了解。

      1:创建虚拟用户:vim /etc/vsftpd/users  内容:1:user1 2:123 3:user2 4:123  (1234表示行数,用户为user1 and user2 ,密码都为123)

      2:对于users进行加密: db_load -T -t hash -f users login.db      加密后的文件为login.db,原来的users为了安全就可以删掉了。

      3:vim /etc/pam.d/westos     建立联系  内容:auth       required     pam_userdb.so  db=/etc/vsftpd/login         本地用户的登陆

                                                                            account    required     pam_userdb.so  db=/etc/vsftpd/login      匿名登陆

      4:在配置文件中加入  pam_service_name=westos

                                       guest_enable=YES

                                       guest_username=ftp

      可以登陆了 lftp 172.25.254.xxx -u user1/user2  但是user1和user2 都登陆的是/var/ftp  没有自己的环境,不方便,需要建立出属于自己的环境。

       5:mkdir /var/ftpdir   建立目录;  在ftpdir中建立user1和user2目录,分别在user1和user2中建立file1和file2.

       6:在配置文件中加入 local_root=/var/ftpdir/$USER 

                        user_sub_token=$USER

       7:这样分别进入user1和user2之后,看到的就是file1和file2了。

      但是如果user1和user2中有想成为VIP的,也可以分别对网络用户限速。

       8:cd /var/ftpdir  在user1和user2下再分别建立pub,给足权限。

          在配置文件中加入 user_config_dir=/etc/vsftpd/confdir

          mkdir /etc/vsftpd/confdir   ;  vim user1   写入:anon_max_rate=1024000  注意:建立目录confdir后,如果想对user1限速,编辑的文件名要和虚拟用户匹配。

          这样就限制user1的上传速度为1M左右。注意和匿名用户与本地用户限速的比较。

         

         OK,大概就是这些东西了,以往学linux的时候做的东西。


阅读(2) | 评论(0) | 转发(0) |

给主人留下些什么吧!~~
评论热议

版权声明:本文为博主原创文章,未经博主允许不得转载。

RedHat 7.0 下 FTP 服务的安装,启动,配置,以及虚拟用户的建立的更多相关文章

  1. CentOS 6.5 下Nginx服务的安装与配置

    参考网站: http://www.cnblogs.com/zhuhongbao/archive/2013/06/04/3118061.html http://www.cnblogs.com/jilia ...

  2. centos6.5下vsftpd服务的安装及配置并通过pam认证实现虚拟用户文件共享

    FTP的全称是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议.它工作在OSI模型的第七层,即是应用层,使用TCP传输而不是UDP.这样FTP客户端和服务器建立 ...

  3. 关于linux - Centos 7 下DHCP服务的安装与配置

    DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要有两个用途:给内部网络或网络服务供应商自动分配IP ...

  4. linux系统下FTP服务器的安装和配置

    FTP是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议.简单地说,支持FTP协议的服务器就是FTP服务器. PORT模式: 首先客户端开启一个非特权端口N(大 ...

  5. Linux下TFTP服务的安装、配置和操作

      TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现.嵌入式linux的tftp开发环境包括两个方面:一是linux服务器端的tftp-server支持,二是嵌入式目标系统的tftp ...

  6. linux-Centos 7下tftp-server服务的安装与配置

    TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间 进行简单文件传输的协议,提供不复杂.开销不大的文件传输服 ...

  7. CentOS6.5 下Haproxy服务的安装与配置

    参考网站: http://wenku.baidu.com/link?url=57AsCAL8TIv8NC3Vdnpd0hQ4fGNls8RFikjRWna3OaZb6qGHYTdV-4_wQPuzv8 ...

  8. Linux学习总结(21)——CentOS7环境下FTP服务器的安装和配置

    1. 安装vsftpd #安装vsftpd yum install -y vsftpd #设置开机启动 systemctl enable vsftpd.service # 重启 service vsf ...

  9. ubuntu16.04下ftp服务器的安装与配置

    由于要将本地程序上传至云服务器中,所以需要给云服务器端安装ftp服务器.记录一下ftp的安装过程,以便以后使用.服务器端所用系统为Ubuntu16.04. 1. 安装ftp服务器, apt-get i ...

随机推荐

  1. Linux系列(9) - whoami和whatis

    whoami 作用:当前你登录的用户是谁 whatis [命令] 作用:查询[命令]是干嘛的 我们试一下对文件和目录whatis行不行,结果发现不行:但是有没有发现对命令whatis也不行,为什么呢: ...

  2. Windows系统如何找到占用端口的进程并杀掉

    1.先建立用户环境变量:C\WINDOWS/system32 2.输入:cmd,打开命令控制台,然后输入ipconfig 3.再输入:netstat -ano(可以找到所有的进程连接端口及对应PID) ...

  3. centos7配置bind重启后错误解决

    最近研究centos7安装bind做DNS服务器,都配置好了后,重启后用systemctl status named 发现好多诸如以下错误:error (network unreachable) re ...

  4. P2179-[NOI2012]骑行川藏【导数,二分】

    正题 题目链接:https://www.luogu.com.cn/problem/P2179 题目大意 给出\(E\)和\(n\)个\(s_i,k_i,u_i\)求一个序列\(v_i\)满足 \[\s ...

  5. Visual Studio Code (VSCode) 配置 C/C++ 开发编译环境

    前言 工作多年,突然发现很多C++的基础都忘记了,加之C++不断更新换代后的各种新特性,于是想重拾C++的基础学习.虽然现在工作都是Linux平台,但考虑到个人方便,自己也仅仅想重温语法,家里家外都可 ...

  6. FastAPI(43)- 基于 pytest + requests 进行单元测试

    FastAPI 的单元测试 对于服务端来说,通常会对功能进行单元测试,也称白盒测试 FastAPI 集成了第三方库,让我们可以快捷的编写单元测试 FastAPI 的单元测试是基于 Pytest + R ...

  7. 华为Awareness kit,您旅途路上的超智能管家

    前言 前段时间看了一部纪录片<中国游客在巴黎>,讲述了外国人眼中"中国式旅游":热衷景点打卡,沉迷拍照留念,无暇仔细欣赏:留足时间,买买买,不能枉此行.网友总结中国式旅 ...

  8. md5验证文件上传,确保信息传输完整一致

    注:因为是公司项目,仅记录方法和思路以及可公开的代码. 最近在公司的项目中,需要实现一个上传升级包到服务器的功能: 在往服务器发送文件的时候,需要确保 文件从开始发送,到存入服务器磁盘的整个传输的过程 ...

  9. Java和jmeter环境变量的配置来这就对了!

    java环境变量设置 1.新建JAVA_HOME 变量 点击 新建按钮 变量名:JAVA_HOME 变量值:电脑上JDK安装的绝对路径 2.新建/修改 CLASSPATH 变量 如果存在 CLASSP ...

  10. RabbitMQ延时队列应用场景

    应用场景 我们系统未付款的订单,超过一定时间后,需要系统自动取消订单并释放占有物品 常用的方案 就是利用Spring schedule定时任务,轮询检查数据库 但是会消耗系统内存,增加了数据库的压力. ...