SAMBA、NFS共享区别

NFS开源文件共享程序:NFS(NetworkFile System)是一个能够将多台Linux的远程主机数据挂载到本地目录的服务,属于轻量级的文件共享服务,不支持Linux与 Windows系统间的文件共享。

Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软件,实现了Linux与Windows系统间的文件共享。也可以实现Linux与Linux之间的共享服务。
SMB(Server Messages Block)协议:实现局域网内文件或打印机等资源共享服务的协议。

SAMBA共享服务配置

samba服务器:192.168.10.10    Linux客户端:192.168.10.20    Windows客户端:192.168.10.30 
Samba配置文件说明:

服务器端安装Samba服务:yum install samba -y
            浏览配置文件:cat/etc/samba/smb.conf 过滤掉注释
            mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
          cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf

[global]   #全局参数。
  workgroup = MYGROUP #工作组名称。
  server string = Samba Server Version %v #服务器介绍信息,参数%v为显示SMB版本号。
  log file = /var/log/samba/log.%m #定义日志文件存放位置与名称,参数%m为来访的主机名。
  max log size = 50 #定义日志文件最大容量为50Kb。
  security = user #安全验证的方式,总共有4种。
  #share:来访主机无需验证口令,更加方便,但安全性很差。
  #user:需由SMB服务验证来访主机提供的口令后才可建立访问,更加的安全。
  #server:使用独立的远程主机验证来访主机提供的口令(集中管理帐号)。
  #domain:使用PDC来完成验证
  passdb backend = tdbsam #定义用户后台的类型,共有3种。
  #smbpasswd:使用SMB服务的smbpasswd命令给系统用户设置SMB密码。
  #tdbsam:创建数据库文件并使用pdbedit建立SMB独立的用户。
  #ldapsam:基于LDAP服务进行帐户验证。
  load printers = yes #设置是否当Samba服务启动时共享打印机设备。
  cups options = raw #打印机的选项
[homes]   #共享参数
  comment = Home Directories #描述信息
  browseable = no #指定共享是否在“网上邻居”中可见。
  writable = yes #定义是否可写入操作,与"read only"相反。
[printers]   #打印机共享参数
  comment = All Printers  
  path = /var/spool/samba #共享文件的实际路径(重要)。
  browseable = no  
  guest ok = no #是否所有人可见,等同于"public"参数。
  writable = no  
  printable = yes
标准的Samba共享参数是这样的:
参数 作用
[linuxprobe] 共享名称为linuxprobe
comment = Do not arbitrarily modify the database file 警告用户不要随意修改数据库
path = /home/database 共享文件夹在/home/database
public = no 关闭所有人可见
writable = yes 允许写入操作

----------------------------------------------Linux服务器与Windows之间的共享实验(user口令验证)-------------------------------------

第1步:更改为user验证模式,后台用户类型为tdbsam

security = user
passdb backend = tdbsam

第2步:创建共享文件夹:
mkdir /database


第2步:描述共享文件夹信息。

SMB服务主配置文件的最下面追加共享文件夹的配置参数:

[database]
comment = Do not arbitrarily modify the database file
path = /database
public = no
writable = yes

第3步:创建SMB服务独立的帐号。
 

SMB服务配置文件中密码数据库后台类型为"tdbsam",所以这个帐户和口令是Samba服务的独立帐号信息,我们需要使用pdbedit命令来创建SMB服务的用户数据库
 pdbedit命令用于管理SMB服务的帐户信息数据库,格式为:“pdbedit [选项] 帐户”。

参数 作用
-a 用户名 建立Samba用户
-x 用户名 删除Samba用户
-L 列出用户列表
-Lv 列出用户详细信息的列表

先建立系统用户smbuser,再samba用户映射到系统用户:
useradd smbuser
此系统用户提升为SMB用户:
[root@linuxprobe ~]# pdbedit -a -u smbuser
 
new password:设置SMB服务独立的密码
retype new password:
Unix username: smbuser
NT username:
Account Flags: [U ]
User SID: S-1-5-21-4146456071-3435711857-2069708454-1000
Primary Group SID: S-1-5-21-4146456071-3435711857-2069708454-513
Full Name:
Home Directory: \\linuxprobe\smbuser
HomeDir Drive:
Logon Script:
Profile Path: \\linuxprobe\smbuser\profile
Domain: LINUXPROBE
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: Wed, 06 Feb 2036 23:06:39 CST
Kickoff time: Wed, 06 Feb 2036 23:06:39 CST
Password last set: Sat, 11 Jul 2015 18:27:04 CST
Password can change: Sat, 11 Jul 2015 18:27:04 CST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

第4步:允许防火墙和SELinux设置:命令
iptables -F
service iptables save
chown -Rf smbuser:smbuser /database
setsebool -P samba_enable_home_dirs on
semanage fcontext -a -t samba_share_t /database
restorecon -Rv /database/
第5步:验证
 

-------------------------------------------------------------Linux与Linux之间的共享---------------------------------------------------------------

第1步:在客户端安装cifs-utils软件包:
 
[root@linuxprobe ~]# yum install -y cifs-utils
 
第2步:创建挂载目录:
 
[root@linuxprobe ~]# mkdir /database
第3步:在root家目录创建认证文件(依次为SMB用户名、SMB用户密码、SMB共享域):
 
[root@linuxprobe ~]# vim auth.smb
username=smbuser
password=redhat
domain=MYGROUP
此文件太重要了,权限应该给小一些:
[root@linuxprobe ~]# chmod -Rf 600 auth.smb
 
第4步:配置其挂载信息(内容依次为远程共享信息、本地挂载目录、文件系统类型、认证文件以及开机自检选项):
 
[root@linuxprobe ~]# vim /etc/fstab
//192.168.10.10/database /database cifs credentials=/root/auth.smb 0 0
 
第5步:使用mount命令的-a参数挂载所有在fstab文件中定义的文件信息:
 
[root@linuxprobe ~]# mount -a
成功挂载Samba的共享目录(能够看到共享文件了):
第6步:验证
[root@linuxprobe ~]# cat /database/Memo.txt
i can edit it .

NFS共享

NFS(Network Files System)即网络文件系统,使用TCP/IP协议,依赖于RPC服务与外部通信,所以必需保证RPC服务能够正常注册服务的端口信息才能正常使用NFS服务。
 第1步:创建NFS服务端的共享目录。
     
清空iptables iptables -F service iptables save
     创建nfsfile共享目录:mkdir /nfsfile
     为共享目录设置权限(让其他人可以有写入权限):chmod -Rf 777 /nfsfile
     写入一个文件,用于NFS客户端读取:echo "welcome to linuxprobe.com" > /nfsfile/readme
     NFS服务端配置文件是"/etc/exports"
     [root@linuxprobe ~]# vim /etc/exports

//格式为:共享目录的绝对路径 允许访问NFS资源的客户端(权限参数)
     /nfsfile 192.168.10.*(rw,sync,root_squash)

NFS配置共享的参数有:

参数 作用
ro 只读默认
rw 读写模式
root_squash 当NFS客户端使用root用户访问时,映射为NFS服务端的匿名用户。
no_root_squash 当NFS客户端使用root用户访问时,映射为NFS服务端的root用户。
all_squash 不论NFS客户端使用任何帐户,均映射为NFS服务端的匿名用户。
sync 同时将数据写入到内存与硬盘中,保证不丢失数据。
async 优先将数据保存到内存,然后再写入硬盘,效率更高,但可能造成数据丢失。


 
第2步:启动NFS服务端
     
红帽RHEL7系统中RPC服务已经默认运行(active)了,所以无需再配置RPC服务啦
     直接启动NFS服务端 
     systemctl start nfs-server
     systemctl enable nfs-server
第3步:配置NFS客户端
     
查询远程NFS服务端中可用的共享资源:(showmount命令用于查询NFS服务端共享信息,格式为:“showmount [参数] [远程主机]

参数 作用
-e 显示NFS服务端的共享列表
-a 显示本机挂载NFS资源的情况
-v 显示版本号

[root@linuxprobe ~]# showmount -e 192.168.10.10
 Export list for 192.168.10.10:
/nfsfile (everyone)

创建本地挂载目录: mkdir /nfsfile
挂载:  mount -t nfs 192.168.10.10:/nfsfile /nfsfile
 查看到刚刚写入文件内容:cat /nfsfile/readme

开机后自动将NFS资源挂载到本地,可以通过修改fstab文件来实现
 [root@linuxprobe ~]# vim /etc/fstab
192.168.10.10:/nfsfile /nfsfile nfs defaults 0 0

Autofs自动挂载

AutoFs服务与Mount/Umount命令不同之处在于它是一种守护进程,只有检测到用户试图访问一个尚未挂载的文件系统时才自动的检测并挂载该文件系统,换句话说,将挂载信息填入/etc/fstab文件后系统将在每次开机时都自动将其挂载,而运行AutoFs后则是当用户需要使用该文件系统了才会动态的挂载,节约网络与系统资源。
 
模拟训练:每次进入/media/iso目录时都会自动挂载镜像。
 
NFS服务端RHEL7192.168.10.10
NFS客户端RHEL7192.168.10.20
 
1、安装autofs服务:
 
    [root@linuxprobe ~]# yum install autofs -y
 
2、启动autofs服务并加入到开机启动项中:
 
    [root@linuxprobe ~]# systemctl start autofs
    [root@linuxprobe ~]# systemctl enable autofs
    ln -s '/usr/lib/systemd/system/autofs.service' '/etc/systemd/system/multi-user.target.wants/autofs.service'
3、修改autofs主配置文件(格式为:挂载目录 映射配置文件):
 
    [root@linuxprobe ~]# vim /etc/auto.master
    /media /etc/iso.misc
4、编辑挂载配置参数文件(映射文件):
 
[root@linuxprobe ~]# vim /etc/iso.misc
iso   -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
5、重启autofs服务:
[root@linuxprobe ~]# systemctl restart autofs
6、验证:
进入自动挂载目录中:
[root@linuxprobe ~]# cd /media/iso
查看当前目录下的文件:
[root@linuxprobe iso]# ls
addons images Packages RPM-GPG-KEY-redhat-release
EFI isolinux release-notes TRANS.TBL
EULA LiveOS repodata
GPL media.repo RPM-GPG-KEY-redhat-beta

Linux:SAMBA共享、NFS共享、Autofs自动挂载的更多相关文章

  1. Linux服务——二、配置NFS及autofs自动挂载服务

    一.NFS服务配置步骤 NFS的作用:能够使两台虚拟机之间实现文件共享.数据同步 准备:主机名.网络.yum源 Server端: 1.安装nfs-util和rpcbind:(图形化自带) [root@ ...

  2. NFS使用autofs自动挂载

    NFS自动挂载设置在/etc/fstab和/etc/rc.local可能挂载不成功,假如是服务端NFS宕机还可能导致客户端无法启动,可以使用autofs实现自动挂载 安装autofs yum -y i ...

  3. linux autofs自动挂载

    autofs:自动挂载器 自动挂载器是一个监视目录的守护进程,并在目标子目录被引用时,自动执行预定义的NFS挂载 自动挂载器由autofs服务脚本管理 自动挂载器由auto.master配置文件进行配 ...

  4. 配置samba和NFS共享服务

                            配置samba和NFS共享服务 1案例1:配置SMB文件夹共享 1.1问题 本例要求在虚拟机server0上发布两个共享文件夹,具体要求如下: 此服务器 ...

  5. centos samba/squid 配置 samba配置 smbclient mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squid配置 3128 DNSPOD 第二十七节课

    centos  samba/squid 配置  samba配置 smbclient  mount fstab自动挂载samba curl -xlocalhost:3128 www.qq.com squ ...

  6. autofs 自动挂载.

    autofs 自动挂载. 操作环境:redhat 6 一.autofs 说明 自动挂载器是一个监视目录的守护进程,并在目标子目录被引用时,自动执行预定义的挂载 自动挂载器由autofs服务脚本管理 自 ...

  7. Linux 通过 UUID 在 fstab 中自动挂载分区

    Linux 通过 UUID 在 fstab 中自动挂载分区 summerm6关注 2019.10.17 16:29:00字数 1,542阅读 605 https://xiexianbin.cn/lin ...

  8. 2-5-NFS服务器配置和autofs自动挂载-配置Samba服务器配置现实文件共享

    大纲: NFS服务器运行原理 实战配置NFS服务器 配置Samba服务器配置现实文件共享 ----------------------------------------------- 问题: # 怎 ...

  9. 实现nfs持久挂载+autofs自动挂载

    实验环境: 两台主机 node4:192.168.37.44 NFS服务器 node2:192.168.37.22 客户端 在nfs服务器,先安装nfs和rpcbind [root@node4 fen ...

随机推荐

  1. Bing必应地图中国API - 在地图上画圆

    Bing必应地图中国API - 在地图上画圆 2011-05-24 14:49:37|  分类: Bing&Google|字号 订阅     <变形金刚2>上映4日国内票房过亿,基 ...

  2. 【NOIP 2016】初赛-完善程序 & 参考答案

    参考答案 感觉这两题目都挺好的~~ T1 交朋友 简单描述:有n个人依次进入教室,每个人进入会找一个身高绝对值相差最小的人交朋友(相同时更想和高的交朋友),求每个人交的朋友. Solution: So ...

  3. JQuery 日期选择框

    一    jeDate日期控件,关于官方的文档请查看: http://www.jayui.com/jedate/ 1 引入js文件 <script type="text/javascr ...

  4. 10.07 WZZX Day2总结

    今天仍然是KCZ出题.今天才知道KCZ不仅是WZ地区史上最强选手而且还是ZJ队长?在ZJOI拿到Rank1的男人?%%%%% 今天KCZ出题的依然很强势…… T1.wzoi 期望得分20-100 实际 ...

  5. python-----获取ip的两种方法

    方法一: 通常使用socket.gethostbyname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称),示例代码如下: import socket # 获取本机计算机名称 ...

  6. centOS命令随笔记(杂):cd、pwd

    1.向上向下翻页: 反向的命令一般是Shift-PageUp和Shift-PageDown. 每日一命令:cd 1.cd /   进入系统根目录 2.cd ..   进入系统根目录可以使用“ cd . ...

  7. E20180124-hm

    introspection n.自我反省; 反省,内省; capacity n. 容量; 性能; 才能; 生产能力; synthesize vt. 综合; 人工合成; (通过化学手段或生物过程) 合成 ...

  8. E20170609-ts

    algorithm n.算法 layout   n. 布局,安排,设计; 布置图,规划图; resource  n. 资源; 物力,财力; 办法; 智谋; partial adj. 部分的; 偏爱的; ...

  9. bzoj [JSOI2010]Group 部落划分 Group【二分+并查集】

    我是zz吗这么简单都写错-- 一眼二分,然后判断的话是枚举点,然后计算这个点到已有联通块的最小距离,如果这个点到一些联通块的距离小于当前二分的val,则把这些联通块合并起来,这里用并查集维护,最后看这 ...

  10. JPA中关联关系(OneToOne、OneToMany、ManyToMany,ManyToOne)映射代码片段

    在使用Hibernate的时候我们常常会在类里边配置各种的关联关系,但是这个并不是很好配置,配置不当会出现各种各样的问题,下面具体来看一下: 首先我们来看User类里边有一个IdentityCard类 ...