设为首页 收藏本站
查看: 287|回复: 0

[经验分享] centos 下NFS和FTP的搭建

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-6-3 08:42:21 | 显示全部楼层 |阅读模式
一. 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服务的目录


[iyunv@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 #删除账号

错误提示
[iyunv@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  #启动服务

[iyunv@mysql ~]# ps aux |grep pure-f
检查是否启动起来

测试
安装lftp,在客户端安装
[iyunv@chenglinux ~]# yum install -y lftp

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

访问方式
用户名@ip地址
[iyunv@chenglinux ~]# lftp oppym@192.168.21.97

日志文件位置
/var/log/messages

下载ftp上的文件,下载下来的文件在当前目下
下载cheng.txz这个文件
lftp lsezs@192.168.21.97:/> get cheng.txz

上传文件格式
put [文件名]

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


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-73357-1-1.html 上篇帖子: Linux系统与windows系统文件同步 下篇帖子: CentOS6.6默认安装完虚机化平台和虚拟化工具后没有virt-install命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表