一. NFS
1. NFS简介
NFS全称是network file system
NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。 
假如有三台机器A, B, C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到A, B, C. 但是使用NFS只需要放到A上,然后A共享给B和C即可。访问的时候,B和C是通过网络的方式去访问A上的那个目录的。

2. 安装、配置NFS服务
需要安装两个包(nfs-utils和rpcbind)
yum install -y nfs-utils  会同时安装上rpcbind
提供nfs服务的机器上 vim /etc/exports  //内容如下:
      /home/ 192.168.137.0/24(rw,sync,all_squash,anonuid=501,anongid=501) 
共分为三部分,第一部分就是本地要共享出去的目录,第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)第三部分就是小括号里面的,为一些权限选项。它表示:共享的目录为/home,信任的主机为192.168.137.0/24这个网段,权限为读写,同步,限定所有使用者,并且限定的uid和gid都为501。
启动 /etc/init.d/rpcbind start; /etc/init.d/nfs start

3. NFS配置的一些选项说明
rw :读写;
ro :只读;
sync :同步模式,内存中数据时时写入磁盘;
async :不同步,把内存中数据定期写入磁盘中;
no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;
root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;
all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。

4. 客户端上挂载NFS
客户端同样安装 yum install -y nfs-utils 
查看服务器端都共享了哪些目录 
    showmount -e 192.168.137.10  
在客户端上挂载服务端的nfs 
    mount -t nfs  -onolock,nfsvers=3 192.168.137.10:/home/ /mnt/     //如果不加 -onolock,nfsvers=3 则在挂载目录下的文件属主和组都是nobody,如果指定nfsvers=3则显示root

df -h  查看挂载的情况

5. exportfs 命令的使用
-a :全部挂载或者卸载;
-r :重新挂载;
-u :卸载某一个目录;
-v :显示共享的目录
改变/etc/exports配置文件后,不用重启nfs服务直接用这个exportfs即可
exportfs -arv  使生效
在使用nfs时,常用一个选项就是 -o nolock  
我们还可以把要挂载的nfs目录写到client上的/etc/fstab文件中  192.168.137.10:/tmp/ /test nfs nolock 0 0  然后 mount -a

二. ftp
1. 什么是ftp
FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为 “文传协议” 用于Internet上的控制文件的双向传输。
FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。
在CentOS或者RedHat Linux上有自带的ftp软件叫做vsftpd

2. 使用pure-ftpd搭建FTP服务
pure-ftpd 官网 http://www.pureftpd.org/project/pure-ftpd  
wget http://download.pureftpd.org/pub ... ftpd-1.0.32.tar.bz2  
tar jxf pure-ftpd-1.0.32.tar.bz2 
cd pure-ftpd-1.0.32 
./configure   --prefix=/usr/local/pureftpd   --without-inetd   --with-altlog   --with-puredb   --with-throttling   --with-peruserlimits   --with-tls
make && make install

cd configuration-file 
mkdir -p /usr/local/pureftpd/etc/  
cp pure-ftpd.conf /usr/local/pureftpd/etc/pure-ftpd.conf 
cp pure-config.pl /usr/local/pureftpd/sbin/pure-config.pl 
chmod 755 /usr/local/pureftpd/sbin/pure-config.pl

vim /usr/local/pureftpd/etc/pure-ftpd.conf  //内容如下:

  1. ChrootEveryone              yes
  2. BrokenClientsCompatibility  no
  3. MaxClientsNumber            50
  4. Daemonize                   yes
  5. MaxClientsPerIP             8
  6. VerboseLog                  no
  7. DisplayDotFiles             yes
  8. AnonymousOnly               no
  9. NoAnonymous                 no
  10. SyslogFacility              ftp
  11. DontResolve                 yes
  12. MaxIdleTime                 15
  13. PureDB                        /usr/local/pureftpd/etc/pureftpd.pdb
  14. LimitRecursion              3136 8
  15. AnonymousCanCreateDirs      no
  16. MaxLoad                     4
  17. AntiWarez                   yes
  18. Umask                       133:022
  19. MinUID                      100
  20. AllowUserFXP                no
  21. AllowAnonymousFXP           no
  22. ProhibitDotFilesWrite       no
  23. ProhibitDotFilesRead        no
  24. AutoRename                  no
  25. AnonymousCantUpload         no
  26. PIDFile                     /usr/local/pureftpd/var/run/pure-ftpd.pid
  27. MaxDiskUsage               99
  28. CustomerProof              yes

复制代码

mkdir /data/ftp  #创建ftp服务的目录
useradd www  #创建以哪个账号的身份登录ftp
/usr/local/pureftpd/bin/pure-pw useradd test1  -uwww -d /data/ftp  #建立虚拟账号
/usr/local/pureftpd/bin/pure-pw mkdb #创建密码文件
/usr/local/pureftpd/bin/pure-pw list #列出用户
/usr/local/pureftpd/bin/pure-pw userdel test1 #删除账号

启动pure-ftpd服务的命令: /usr/local/pureftpd/sbin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf

2. vsftp配置ftp服务  (五期王钦利的文档http://note.youdao.com/share/?id=4be23a089a56f46a9f56d5f7b97fca96&type=note)
yum install -y vsftpd db4-utils
建立虚拟账号相关联的系统账号 useradd virftp -s /sbin/nologin  
建立虚拟账户相关的文件  vim  /etc/vsftpd/vsftpd_login //内容如下: 
    test1
    123456
    test2
    abcdef
chmod 600 /etc/vsftpd/vsftpd_login
生成对应的库文件 db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

建立虚拟账号相关的目录以及配置文件 mkdir  /etc/vsftpd/vsftpd_user_conf
cd   /etc/vsftpd/vsftpd_user_conf  创建和用户对应的配置文件
vim test1 内容如下:
local_root=/home/virftp/test1
anonymous_enable=NO
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000

mkdir /home/virftp/test1
修改权限: chown -R virftp:virftp /home/virftp
vim /etc/pam.d/vsftpd   在最开头添加两行 
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login   //如果是64位系统,则改为/lib64/security/pam_userdb.so 
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login  //如果是64位系统,则改为/lib64/security/pam_userdb.so 
再修改/etc/vsftpd.conf   vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES改为anonymous_enable=NO
#anon_upload_enable=YES 改为 anon_upload_enable=NO
#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO
再增加:

  1. chroot_local_user=YES
  2. guest_enable=YES
  3. guest_username=virftp
  4. virtual_use_local_privs=YES
  5. user_config_dir=/etc/vsftpd/vsftpd_user_conf

复制代码

启动vsftpd服务/etc/init.d/vsftpd start  

NFS,FTP的更多相关文章

  1. <实训|第五天>通过搭建NFS,FTP实现共享文件附Vim脚本游戏

    先说个事情:我周末是不更新这个系列教程的,不过其他内容的会更新,我周末就整理这一周的各种内容到我的微信公众号中,提供给大家! 期待已久的linux运维.oracle"培训班"终于开 ...

  2. MPSOC之9——host、embeded间tftp、nfs、ftp环境搭建

    tftp 可传输单个文件,不能传文件夹 需要通过命令传输文件,略显复杂 ==一般调试kernel时,用uboot通过tftp方式启动,不用每次都烧写存储介质== nfs 在host linux(ubu ...

  3. NFS、FTP介绍

    第二十五课 NFS.FTP介绍 目录 一. NFS介绍 二.NFS服务端安装配置 三.NFS配置选项 四.exportfs命令 五.NFS客户端问题 六.FTP介绍 七.使用vsftpd搭建ftp 八 ...

  4. 阿里云学生优惠Windows Server 2012 R2安装IIS,ftp等组件,绑定服务器域名,域名解析到服务器,域名备案,以及安装期间错误的解决方案

     前言: 这几天终于还是按耐不住买了一个月阿里云的学生优惠.只要是学生,在学信网上注册过,并且支付宝实名认证,就可以用9块9的价格买阿里云的云服务ECS.确实是相当的优惠. 我买的是Windows S ...

  5. 应用层HTTP,FTP,TFTP,TELNET,DNS,EMAIL

    ip路由选择 crc校验 数据包转发子模块 ttl值 ip输出队列/输入队列icmp报文 路由表 ip是网络层 tcp是传输层 应用层表示层会话层传输层网络层链路层物理层 网卡工作在链路层 网卡是工作 ...

  6. 转: ubuntu配置NFS,挂载开发板

    ====================================== 命令: 1. $sudo apt-get install nfs-kernel-server           (安装N ...

  7. CentOS7 下安装 NFS,Linux/Windows 作为客户端

    目录 一.简介 1. 定义 2. 版本和变化 3. 部署说明 二.服务端 1. 关闭防火墙 2. 安装 nfs 3. 配置说明 4. 配置共享目录 5. 启动服务 6. 确认启动成功 三.Linux ...

  8. Zabbix 3.4.11监控 apache服务,ftp服务的配置

    一 zabbix 的安装部署 略 二监控 apache服务的配置 首先在本机下载模板:https://github.com/rdvn/zabbix-templates/archive/m aster. ...

  9. FTP文件传输协议两种模式 ftp协议集,错误码集,ftp客户端命令集

    TCP/IP协议中,FTP标准命令TCP端口号为21,Port方式数据端口为20.FTP协议的任务是从一台计算机将文件传送到另一台计算机,它与这两台计算机所处的位置.联接的方式.甚至是是否使用相同的操 ...

随机推荐

  1. light oj 1153 - Internet Bandwidth【网络流无向图】

    1153 - Internet Bandwidth   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 ...

  2. python 探索(四) Python CookBook 系统管理

    看CookBook就像看小说,挑感兴趣的先学习. 所以继<文本>之后,开始<系统管理>. 同样,请善用目录. 发现一个cookbook:好地址 生成随机密码 from rand ...

  3. vue相关

    勾三股四的vue+webpack实战:http://jiongks.name/blog/just... 用Vue构建一个Notes App:https://coligo.io/learn-vuex-. ...

  4. JSON ,JSONArray和JSONObject

    和 XML 一样,JSON 也是基于纯文本的数据格式.由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,可以用 JSON 传输一个简单的 String,Num ...

  5. Markdown中实现缩进的方法

    markdown中实现缩进的方法 在每一行开头的时候,先输入下面的代码,然后紧跟着输入文本即可.注意有分号. 半角空格:  或   全角空格:  或   不换行空格:  或  

  6. Android Developers:拖动和缩放

    这个课程描述了如何使用手势来拖拽和缩放屏幕的对象,使用onTouchEvent()方法来获取触摸事件.这里是这节课程使用的源代码. 拖动一个对象 ——————————————————————————— ...

  7. 用WebCollector爬取站点的图片

    用WebCollector爬取整站图片,仅仅须要遍历整站页面.然后将URL为.jpg.gif的页面(文件)保存到本地就可以. 比如我们爬取一个美食站点,获取里面全部的图片: import cn.edu ...

  8. javascript Deferred和递归次数限制

    function runAsyncTTS(text,speecher,audiopath) { var def = jQuery.Deferred(); var args = {"Synth ...

  9. android系统架构图

    android的系统架构和其操作系统一样,采用了分层的架构.从架构图看,android分为四个层,从高层到低层分别是应用程序层.应用程序框架层.系统运行库层和Linux核心层. 1.应用程序 Andr ...

  10. Chapter 1 Securing Your Server and Network(6):为SQL Server訪问配置防火墙

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/38082123,专题文件夹:http://blog.csdn.net/dba_huangz ...