yum install vsftpd -f安装vsftpd软件

systemctl start vsftpd

默认ftp目录为/var/ftp/,该文件夹下有pub文件夹

iptables -F 防火墙默认阻止ftp,所以清空防火墙

vi /etc/vsftpd/ftpuser和userlist这两个文件,把root那行注释掉,从而允许ftp root用户远程登录

ftp ip 远程连接ftp

!ls显示本地文件列表

ls 显示ftp服务器文件列表

lcd /dir 进入本地根目录下的dir文件夹

mget/mput  files 获取多个文件/上传多个文件

get/put  filename  下载/获取单个文件

示范使用shell脚本登录操作ftp

#!/bin/bash
ftp -n <<!
open 192.168.1.66
user root 123456
#使用二进制进行传输
binary
#将文件下载到本机的downloads文件夹
lcd /root/Downloads
prompt
#上传downloads下的全部文件到ftp服务器文件夹
mput *
close
bye
!

匿名用户登录:

vi /etc/vsftpd/vsftpd.conf如果存在以下项就修改,如果没有的话就增加上去

anonymous_enable=YES

anon_mkdir_write_enable=YES

anon_umask=022

anon_other_write_enable=YES

anon_upload_enable=YES

保存退出

重启服务器,远程登录,输入用户名anonymous,密码为空,即可登录

远程登录ftp后,发现无法创建文件,是因为ftp默认路径文件夹只允许root用户写入,所以chown -Rf  ftp  /var/ftp 修改文件夹拥有者,使得ftp用户有写入的权限,如果你selinux已经关闭,那么现在重启ftp服务器即可创建文件夹。如果selinux为开启状态,那么就需要使用getseboo命令查看关于ftp的设置了,现在就把它设置一下吧,setsebool -P ftpd_full_access=on。重启服务器就可以创建文件夹了。

本地用户模式:

首先关闭匿名登录,vi /etc/vsftpd/vsftpd.conf,使anonymous_enable=NO,并且修改下列值local_enable=YES,local_umask=022,write_enable=YES

重启服务器,使用root用户登录提示未授权,修改vi /etc/vsftpd/ftpuser和userlist这两个文件,把root那行注释掉,从而允许ftp root用户远程登录。如果此时selinux为关闭状态,那么你就可以随意创建删除文件了。如果selinux没有关闭,就查看getsebool关于ftp的选项,设置setsebool -P  ftpd_full_access=on  
(-P 永久生效)

虚拟用户模式:

首先创建一个用户useradd -d /var/ftproot -s /sbin/nologin virtual

需要更改用户文件夹权限,否则,用户登录后可能会出现权限不足的情况,chmod -Rf  755   /var/ftproot

创建一个用户列表 vi /etc/vsftpd/vuser.list,内容如下(奇数行为用户名,偶数行为密码)

linux

123456

test

test

user1

123456

将用户列表转换为数据库文件,命令为:    db_load -T -t hash -f  vuser.list   vuser.db

查看是否转换成功,使用命令file vuser.db,成功会显示该文件为数据库文件

接下来修改该数据库文件权限chmod  600 vuser.db

添加验证文件vi  /etc/pam.d/vsftpd.vu  内容如下:

auth      required     pam_userdb.so     db=/etc/vsftpd/vuser

account  required    pam_userdb.so      db=/etc/vsftpd/vuser

接下来还需要创建用户文件    mkdir /etc/vsftpd/users_dir

在users_dir 文件下创建用户文件(我还没高明白为什么要这么做,我这么做了之后,用户linux还是可以创建文件夹,有哪位大神知道原因的可以指导一下不),例如linux和test,其中linux可以是空文件,用touch创建即可,另一个test可以写入以下内容

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

修改配置文件 vi /etc/vsftpd/vsftpd.conf,修改或增加以下内容

anonymous_enable=NO

guest_enable=YES

guest_username=virtual

allow_writeable_chroot=YES

pam_service_name=vsftpd.vu

user_config_dir=/etc/vsftpd/users_dir

最后的步骤就是配置selinux,我一直懒得搞,都是setenforce 0。如果想使用semanage的话,就是吧ftpdfullaccess那个权限开放,重启服务器就可以了

扩展tftp

安装yum install  tftp-server tftp -y

因为tftp是xinetd服务器来管理的,所以我们需要配置xinetd文件, vi /etc/xinetd.d/tftp   修改里面的参数disable 的值为no

重启xinetd服务器  systemctl restart xinetd

然而我们还需要配置防火墙,让端口通过防火墙  firewall-cmd  --permanent  --add-port=69/udp   (--permanent永久生效)

重新载入防火墙 firewall-cmd  --reload, 然后像下面那样执行

[root@linuxprobe ~]# echo "i love linux" > /var/lib/tftpboot/readme.txt
[root@linuxprobe ~]# tftp 192.168.10.10
tftp> get readme.txt
tftp> quit
[root@linuxprobe ~]# ls
anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures readme.txt Videos
Desktop Downloads Music Public Templates
[root@linuxprobe ~]# cat readme.txt
i love linux

centos7.0之vsftpd随笔的更多相关文章

  1. CentOS7.0小随笔——指令基本操作(Part.A)

    与其说是CentOS7.0的小随笔,说老实话,基本指令在每个发行版本的Linux中都基本上是一致的. Part.A部分我们讲述以下四个方面:命令行界面与图形界面.Linux系统的关闭与重启.命令行帮助 ...

  2. CentOS7.0小随笔——运行级别

    一.Linux运行级别(通用) 0:关机(halt) 1:单用户模式(无需用户名和密码的登录,用于紧急维护系统时用,类似于Windows中的安全模式) 2:不启用网络功能的多用户模式 3:启用网络功能 ...

  3. 云服务器 Centos7.0 部署

    CentOS安装jdk的三种方法 http://www.mamicode.com/info-detail-613410.html centos Linux下安装Tomcat和发布Java的web程序 ...

  4. CentOS7.0下安装FTP服务的方法

    http://www.jb51.net/article/106604.htm   本篇文章主要介绍了CentOS7.0下安装FTP服务的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟 ...

  5. centos7.0 下安装jdk1.8

    centos7.0这里安装jdk1.8采用yum安装方式,非常简单. 1.查看yum库中jdk的版本 [root@localhost ~]# yum search java|grep jdk 2.选择 ...

  6. centos7.0 安装redis集群

    生产环境下redis基本上都是用的集群,毕竟单机版随时都可能挂掉,风险太大.这里我就来搭建一个基本的redis集群,功能够用但是还需要完善,当然如果有钱可以去阿里云买云数据库Redis版的,那个还是很 ...

  7. centos7.0 安装字体库

    最近在centos7.0下用itextpdf将word文档转成pdf时出现字体丢失的情况.网上找了很多资料,各式各样的原因和解决方法.后来经过一番测试发现是centos7.0 minimal没有安装相 ...

  8. centos7.0改变用户创建目录组权限

    centos7.0改变用户创建目录组权限可通过umask进行设置. 临时改变可通过umask命令进行设置 永久性改变,可通过修改~/.bash_profile的方式进行调整.

  9. CentOS-7.0.中安装与配置Tomcat-7的方法

    安装说明 安装环境:CentOS-7.0.1406安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:http://tomcat.apache.org/down ...

随机推荐

  1. 当你有双网络(内部网+互联网)时,如何透明NAT给其他电脑上网。虚拟机+爱快

    一:简介 具体环境是这样的:单位没有提供互联网连接,都是内部网,linux服务器,无法连接源更新,docker无法pull镜像,python无法在线pip安装包. 真是郁闷到想死啊. 好在我的笔记本有 ...

  2. MySQL 占用cpu 100%

    目前的线上数据库,分为主从两个库,从库用来做比较耗时的数据统计分析. 今天top了一下从库服务器,发现mysqld 在很长一段时间都占用105% cpu,一开始以为是从库在处理主库的binlog. 两 ...

  3. VSTO:使用C#开发Excel、Word【9】

    文件背后的代码VSTO支持文档背后的代码,要求开发人员使用VSTO项目中生成的具有预连接上下文和预连接事件的类.这些类有时被称为“代码后面”类,因为它们是与特定文档或工作表相关联的代码.在Word中, ...

  4. ubuntu14.04 解析不了域名—ubuntu的DNS配置

    问题描述: 电脑系统为ubuntu14.04,连上无线后,火狐浏览器打开www.baidu.com,提示找不到服务器,以及终端ping www.baidu.com,提示unkown host,但是浏览 ...

  5. vivado自动化tcl实现(更新中)

    ug1197-vivado-high-level-productivity vivado中如何使用自动化工具进行设计?用过的项目有AD9361提供的官方例子中,使用了自动化方式,可以借鉴.

  6. HDU 2063 (二分图最大匹配)

    RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐.但是,每个女孩 ...

  7. day 54 jQuery 的初步基础

    jQuery介绍 jQuery是一个轻量级的.兼容多浏览器的JavaScript库. jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方便地进行Ajax交互, ...

  8. MYSQL MyISAM与InnoDB对比

    1. 区别: (1)事务处理: MyISAM是非事务安全型的,而InnoDB是事务安全型的(支持事务处理等高级处理): (2)锁机制不同: MyISAM是表级锁,而InnoDB是行级锁: (3)sel ...

  9. winform 异性窗体的实现

    效果图 首先需要在vs里添加控件  AlphaForm.dll 添加完了有这来两个控件 1.把第二个控件拖入窗体里把窗体铺满 2.找一张至少有一个闭合图形的透明图片 设置为AlphaFormTrans ...

  10. intellij构建多模块项目

    1.新建sailfish总目录, 2.新建maven项目,并将其手动移入sailfish,再用intellij打开该项目, <groupId>com.rainbow.sailfish< ...