码迷,mamicode.com
首页 > 其他好文 > 详细

centos 下NFS和FTP的搭建

时间:2015-06-02 15:32:15      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:图片   network   程序   客户端   file   

一. 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(在centos5中叫做portmap)

yum install -y nfs-utils  

yum install -y 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。

启动rpcbind

 /etc/init.d/rpcbind start

 

启动nfs

 /etc/init.d/nfs start 

 

两者也可以写成一行

/etc/init.d/rpcbind start;/etc/init.d/nfs start


查看防火墙是否关闭

getenforce

/usr/sbin/setenforce 0 立刻关闭 SELINUX

/usr/sbin/setenforce 1 立刻启用 SELINUX


showmount -e

查看远程共享段共享出来的nfs目录,只能查询同一个网段的


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

     -onolock:不上锁的意思

 

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  


安装yum扩展源,已经安装过的可以不需要安装

yum install -y epel-release


安装服务端

yum install -y pure-ftpd


重定向配置文件,重定向的内容是www.aminglinux.com/study_v2/.pf.c 这个网站上的。

curl www.aminglinux.com/study_v2/.pf.c > /etc/pure-ftpd/pure-ftpd.conf

pure-ftpd.conf配置文件参考,也可以说是模板

ChrootEveryone              yes

BrokenClientsCompatibility  no

MaxClientsNumber            50

Daemonize                   yes

MaxClientsPerIP             8

VerboseLog                  no

DisplayDotFiles             yes

AnonymousOnly               no

NoAnonymous                 yes

SyslogFacility              ftp

DontResolve                 yes

MaxIdleTime                 15

PureDB                       /etc/pure-ftpd/pureftpd.pdb

LimitRecursion              3136 8

AnonymousCanCreateDirs      no

MaxLoad                     4

AntiWarez                   yes

Umask                       133:022

MinUID                      10

AllowUserFXP                no

AllowAnonymousFXP           no

ProhibitDotFilesWrite       no

ProhibitDotFilesRead        no

AutoRename                  no

AnonymousCantUpload         no

CustomerProof              yes


使用mkpasswd升级随机字符串,如果没有mkpasswd命令,需要安装expect库

yum install -y expect

user=`mkpasswd -l 5 -s 0 -d 0 -C 0`


生成密码字符串

pass=`mkpasswd -s 0`


把结果重定向到/tmp/ftp.pass中

echo $user $pass > /tmp/ftp.pass


mkdir /data/ftp  #创建ftp服务的目录



[root@mysql ~]# echo -e "$pass\n$pass"|pure-pw useradd $user -u cheng -d /data/ftp/

pure-pw mkdb  #创建密码文件

pure-pw list #列出用户以及对应的目录

pure-pw userdel $user #删除账号


错误提示

[root@mysql ~]# echo -e "$pass\n$pass"|pure-pw useradd $user -u apache -d /data/ftp/

You must give (non-root) uid and gid

这个错误的意思是说apache这个指定的用户不存在,需要创建才可以,这里的用户的ID一定要大于10才可以


/etc/init.d/pure-ftpd  start  #启动服务


[root@mysql ~]# ps aux |grep pure-f

检查是否启动起来


测试

安装lftp,在客户端安装

[root@chenglinux ~]# yum install -y lftp


Windows上使用这个软件:filezilla-server


访问方式

用户名@ip地址

[root@chenglinux ~]# lftp oppym@192.168.21.97


日志文件位置

/var/log/messages


下载ftp上的文件,下载下来的文件在当前目下

下载cheng.txz这个文件

lftp lsezs@192.168.21.97:/> get cheng.txz 


上传文件格式

put [文件名]


三、vsftp这个实验目前做的时候出错了,稍后成功之后了补上来

本文出自 “IT交流学习” 博客,请务必保留此出处http://sxct168.blog.51cto.com/824373/1657440

centos 下NFS和FTP的搭建

标签:图片   network   程序   客户端   file   

原文地址:http://sxct168.blog.51cto.com/824373/1657440

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!