NFS服务器配置(CIFS)SMB
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NFS服务器配置(CIFS)SMB相关的知识,希望对你有一定的参考价值。
**********************************************
********************NFS服务器配置***************
***********************************************
类UNIX
/etc/exports
示例
/var/ftp/pub 192.168.0.0/24(ro,sync) 【()与前面不能空开,要是有,则表示 前面的只读,其它主机都拥有你所指定的权限】
一,常用操作
1.建立目录并且指定ip
mkdir /nfsshare
/nfsshare 172.25.254.161(rw) 【编辑文件/etc/exports,指定IP】
2.客户端
showmount -e 172.25.254.160 【查看是否成功,注意关闭防火墙】
3.
这样,两个IP就可以用同一个目录/nfsshare了
[注意,事先建立好目录,两个都要。 将用户该为nfsnobody用户(chown),nfsnobody是两者都可以看到,也可以改为都看不到,取决于用户的相同或者不同。]
4.nfsshare 172.25.254.161(rw,no_root_squash) 【这个no_root_squash,表示,当root建立的文件,就为root所属】
5./home/student 172.25.254.161(rw,anonuid=1000,anongid=1000) 【你可以把student用户家目录挂上去,这样你建立的文件自然是student用户和用户组】
6./home/XXX 172.25.254.161(rw.anonuid=1003,anonuid=1003) 【你也可以指定别的用户,但是这个用户如果你的客户端上没有这个用户的话,会以id显示。但这样很不安全,这样的无主文件会易主,不利于文件数据的安全性。】
二,永久挂载NFS文件系统
(1) 将相应的行添加至/etc/fstab:
nfsserver:/nfsshare /mnt/nfsshare nfs defaults 00
(2)客户端NFS挂载选项
rw:挂载可读写的文件系统
ro:挂载只读文件系统
vers=4:尝试只使用指定的NFS版本进行挂载。如果服务器不支持该版本,则挂载请求失败
soft:如果NFS请求超时,三次尝试后返回错误。权衡数据完整性与提高客户端响应性。
三,kerberos认证域,保护NFS输出
Demo:
在serverx和desktopx上运行脚本,加入kerberos认证域:
【注意要点】
1.当NFS服务器运行时,每次您编辑/etc/exports后,都应通过在保存更改后执行exportfs -r来确保应用这些更改。您可以使用exportfs -v显示所有导出。
***********************************
********(CIFS)SMB****************
***********************************
一,简介
1.通用Internet文件系统(CIFS)也成为服务器新信息块(SMB),是适合Microsoft Windows服务器和客户端的标准文件和打印机共享系统。Samba服务可用于将Linux文件系统作为CIFS/SMB网络文件共享进行共享,并将Linux打印机作为CIFS/SMB打印机共享进行共享。
2.分为两个服务,smbnmb
3.通常使用TCP/445进行所有连接。还使用UDP137,UDP138和UDP139进行向后兼容
4.主配置文件:/etc/samba/smb.conf
二,常用操作
1.首先下载
yum reinstall samba-client.x86_64samba-common.x86_64 samba.x86_64 samba-libs.x86_64 -y
2.建立想要share的目录,并在客户端建立相应的用户
3.在/etc/samba/smb.conf里添加相关信息
[smbshare]
path = /smbshare 【位置】
write list = student 【将student添加到可写列表】
printable = no 【是否可打印】
publice = yes 【所有人都可以访问到】
4.查看共享的目录
smbclient -L //172.25.6.11 【匿名查看也行】
三,详细文件配置
(1)/etc/samba/smb.conf:[global]部分
* workgroup 用于指定Windows工作组或网络域名
* host allow
host allow 使用逗号,空格或制表符分隔的允许访问服务的主机集合。如果在[global]部分中指定,将适用于所有服务,无论单个服务是否具有不同的设置。您可以按名称或IP号指定主机。例如 allow hosts = 192.168.254表示一个网段
(2)安全性
该选项影响客户端如何响应Samba,并且在smb.conf文件中是最重要的设置之一。
security = user [客户端必须通过有效的用户名和密码登录。]
security = domain [只有当计算机已添加到NT域时才能正常工作。它要求将encrypted passwords参数设置为yes。在该模式中,Samba通过将用户名/密码传递只WindowsNT主域控制器或设备域控制器来进行行验证,与Windows NT Server采用的方式完全一样。请注意,有效的INIX用户以及域控制器上的账户必须仍然存在,以允许Samba具有有效的UNIX账户,可以以影射文件访问。您必须设置passwd server参数,为Samba提供服务器,以验证密码。]
security = server [Samba将通过将用户名/密码传递至另一个SMB服务器来尝试进行验证。您必须设置password server参数,为Samba提供服务器,以及验证密码。]
security = ads [Samba在ADS realm中作为域成员。如果在该模式下操作,运行Samba的计算机需要安装并配置Kerberos,并且需要使用net实用程序将Samba加入ADSrealm。
(3)其它部分
1.[homes]
此共享(默认情况下启用)是一个特别共享,通过CIFS使用户的主目录可用。包括browseable = no ,因此在用户进行身份验证之前,将不会显示为可用共享。共享名称可以指定为homes(这种情况下,Samba服务器将其转换为用户的主目录路径)或username.
2.[printers]
默认情况下也可用,将共享当前饥饿用的打印机。
3.[share]
如果你想要设置其它共享,请将共享名称放置在括号中,如上所示。共享需要至少一个path参数。
四,详细命令操作
(1)SMB用户
1.useradd
security = user 需要UNXI和Samba账户信息。添加用户(最好使用与Samba账户一样的名称),或在/etc/samba/smbusers中放置条目(有一些示例)。如果您创建仅Samba用户,请将UNIX密码设置为/sbin/nologin
#useradd -s /sbin/nologin wxh
2.smbpasswd
如果您没有Samba密码服务器,则必须在本地计算机上创建身份验证数据。使用smbpasswd创建Samba账户和密码。
如果smbpasswd只传递一个用户名而不带任何选项,它将尝试更改账户密码。传递-a选项将添加账户,并设置密码
#smbpasswd -a hxl
New SMB password:hxl123
Retype new SMB password: hxl123
Added user hxl.
(2)保护SMB
samba_enable_home_dirs和use_samba_home_dirs SElinux布尔值
samba_enable_home_dirs布尔值允许本地Linux主目录作为CIFS文件共享导出至其它系统。另一方面use_samba_home_dirs布尔值允许挂载远程CIFS文件共享并将其作本地Linux主目录
#setsebool -Psamba_enable_home_dirs on
samba_share_t 用于共享用户自定义samba共享
#chcon -R -tsamba_share_t/smbshare
或 #semanagefcontext -a -t samba_share_t‘/smbshare(/.*)?‘
#restorecon -vvFR /smbshare
samba_export_all_ro 和 samba_export_all_rw 用于共享系统目录
#setsebool -P samba_export_all_roon
#setsebool -P samba_export_all_rwon
五,访问CIFS共享(连接到CIFS文件共享的四个基本方法:)
1.图形访问CIFS共享
转至“网络” ——> “连接服务器”。填写以下字段:
Server Address:172.25.254.6
Username:hxl
Password:hxl123
2.(常用)命令行FTP方式访问CIFS共享:(设置匿名登录也可以)
#smbclient -L server6.example.com-U hxl 【如果有效果会显示出来版本操作系统等信息,以及需要输入密码,看到服务器端共享的目录名和所用的协议等信息】
#smbclient//server6.example.com/smbshare -U hxl 【输入密码,登录进你锁分享的/smbshare目录中后就可以ls查看信息了】
3.手动挂载CIFS共享
#mount -o username=hxl//server6.example.com/smbshare /mnt/hxl
4.永久挂载CIFS共享
将以下行添加到/etc/fstab:
//server6.example.com/smbshare/mnt/hxl cifs credentials=/root/userpasswd 0 0
创建/root/userpasswd
user=hxl
pass=hxl123
5.多用户挂载
Demo:(desktopX)
#yum install -y cifs-utils [安装cifs-utils软件包,它包含了cifscreds命令]
#mkdir /mnt/multiuser [建立smb认证文件]
#echo ‘username=hxl‘ >/root/smb-multiuser.txt
#echo ‘username=hxl123‘ > /root/smb-multiuser.txt
编辑/etc/fstab,永久挂载smb共享:
//server0/smbshare /mnt/multiuser cifscredentials=/root/smb-multiuser.txt,multiuser,sec=ntlmssp 0 0
[非root用在多用户文件中写入数据需要输入root密码]
# su - brian
$ touch /mnt/multiuser/test.txt
touch: cannot touch‘/mnt/multiuser/brian.txt’: Permission denied
$ cifscreds add server0
Password: redhat
$ echo "multiuser" >/mnt/multiuser/brian.txt
$ cat /mnt/multiuser/brian.txt
multiuser
$ exit
# su - rob
$ cifscreds add server0
Password: redhat
$ echo "multiuser" >/mnt/multiuser/rob.txt
-bash: /mnt/multiuser/rob.txt:Permission denied
$ cat /mnt/multiuser/brian.txt
multiuser
(*查看)ACL权限列表
【小tip】
nas(网络附属存储)->nfs(网络文件系统) nnfs(分布式版本) 共享目录(文件系统已经有了) | 挂载
san(存储域网络) ->Iscsi (更安全) 共享块 | 制作文件系统 挂载 代表技术:EMC,
[小提示]通过光纤直接连接,特征为sd跟原磁盘没有差别,所有要注意,装系统别装在这里,要不然分区表会被抹掉了。分区表的起始和结束位置。
恢复方法:用在挽救模式,进行dd覆盖,但首先你要 dd截下来。
(SSD更换可以提高I/O,三倍等)
以上是关于NFS服务器配置(CIFS)SMB的主要内容,如果未能解决你的问题,请参考以下文章