Linux基础教程学习笔记35——配置NFS和SMB文件共享服务
Linux基础教程学习笔记35——配置NFS和SMB文件共享服务
一、配置NFS服务
NFS服务使用端口:2049
此外还使用以下RPC服务的随机端口:
RPC使用端口111:远程进程调用
rpc.lock:随机端口
rpc.mount:随机端口
rpc.stat:随机端口
在RHEL6中,以上随机端口需要设置固定的端口,而RHEL7中则以更简单的方式管理:
查看本机开放的NFS端口,当重启NFS服务的时候,开放的端口会改变:
[root@client ~]# rpcinfo -p localhost
program vers proto port service
100024 1 udp 59791 status
100024 1 tcp 43154 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 46989 nlockmgr
100021 3 udp 46989 nlockmgr
100021 4 udp 46989 nlockmgr
100021 1 tcp 59814 nlockmgr
100021 3 tcp 59814 nlockmgr
100021 4 tcp 59814 nlockmgr
100011 1 udp 875 rquotad
100011 2 udp 875 rquotad
100011 1 tcp 875 rquotad
100011 2 tcp 875 rquotad
在RHEL7中,则只需要在防火墙添加相应的NFS服务即可:
[root@linuxidc ~]# firewall-cmd --add-service=nfs --permanent
[root@linuxidc ~]# firewall-cmd --add-service=rpc-bind --permanent
[root@linuxidc ~]# firewall-cmd --add-service=mountd --permanent
编辑/etc/exports文件,配置NFS共享:
共享目录 范围1(权限1,权限2,权限3) 范围2(权限1,权限2,权限3)
/aa 10.35.89.0/26(rw,sync) 10.35.56.0/26(rw,sync)
修改了exports文件后,无需重启nfs服务,否则可能会导致其他用户访问挂死,执行以下命令重新加载共享内容即可:
[root@linuxidc ~]# exportfs -avr
在客户端查看服务器端共享的文件:
[root@client ~]# showmount -e 10.35.89.32
挂载服务端共享的文件夹:
[root@client ~]# mount 10.35.89.32:/aa /nfs
查看服务器端共享的文件的默认权限,其中65534指的是nfsnobody用户和组:
[root@client ~]# cat /var/lib/nfs/etab
/aa10.35.89.0/26(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)
客户端默认使用的是nfsnobody的用户访问共享文件:
[root@client nfs]# touch aa
[root@client nfs]# ll
total 0
-rw-r--r--. 1 nfsnobody nfsnobody 0 Feb 11 10:05 aa
export的权限如果加上no_root_squash,则客户端使用root用户访问共享文件时,使用的是root用户
二、配置samba服务
samba用于类unix和windows之间的文件共享
安装samba包:
[root@linuxidc ~]# yum install samba -y
samba的2个服务:
1、smb:端口TCP139和445
2、nmb::用于windows的netbios协议 使用udp137和138
防火墙添加samba服务:
[root@linuxidc ~]# firewall-cmd --add-service=samba --permanent
编辑/etc/samba/smb.conf配置文件:
主要 参数:
全局参数:
workgroup = WORKGROUP
hosts allow = 127. 192.168.12. 192.168.13
log file = /var/log/samba/log.%m
security = user
config file = /etc/samba/smb.conf.%U 为每个用户单独设置访问权限
共享配置:
[public]
comment = Public Stuff
path = /home/samba
public = yes
writable = yes(是否隐藏)
printable = no
write list = +staff (+或@代表是组)
hosts allow = 10.35.89.30
使用smbpasswd命令添加samba用户,添加的用户必须是系统已经存在的的用户,使用smbpasswd命令需先安装samba-client包:
[root@linuxidc ~]# smbpasswd -a RedHat
使用pdbedit命令查看samba用户列表:
[root@linuxidc ~]# pdbedit -L
redhat:1000:redhat
使用smbclinet在linux系统访问samba共享文件:
[root@client nfs]# smbclient -L //10.35.89.32
连接smb共享服务:
[root@client nfs]# smbclient //10.35.89.32 -U redhat%redhat
使用multuser多用户实现多用户权限的设置:
安装cifs包:
[root@client /]# yum install cifs-utils.x86_64 -y
挂载共享文件:
服务器端共享配置“
[bb]
331 comment= bb share
332 path = /bb
333 writable = no
334 write list = tom
客户端挂载:
[root@client /]# mount -o multiuser,username=redhat,password=redhat,sec=ntlmssp //10.35.89.32/bb /cc
客户端使用除root之外的其他用户对共享的文件没有相关的读写权限:
[tom@client cc]$ ls
ls: reading directory .: Permission denied
获取服务器端用户的权限:
[tom@client ~]$ cifscreds add 10.35.89.32 -u tom
此时再访问共享文件夹,具有了读写权限:
[tom@client cc]$ ls
aa bb cc nfs
客户端设置开机自动挂载,编辑fstab:
//10.35.89.32/bb /cc cifs multiuser,username=redhat,passwd=redhat,sec=ntlmssp 0 0
--------------------------------------分割线 --------------------------------------
--------------------------------------分割线 --------------------------------------