nfs:
nfs: Network File System #网络文件系统
nis:Network Information Service; #网络信息服务
ldap:lightweight directory access protocol; ldap over ssl/tls;
nfsd: 2049/tcp #nfs的守护进程,
辅助类的服务: rpc, portmapper #端口映射
rpc.mountd :认证 ;
rpc.lockd : 加锁;
rpc.statd : 状态;
rpc: remote procedure call #远程过程调用
NFS Server:
/etc/exports或/etc/exports.d/
/PATH/TO/SOME_DIR clients1(export_options, …) clients2(export_options, …)
clients:
single host:ipv4, ipv6, FQDN;
network:address/netmask, 同时长短格式的掩码;
wildcards:主机名通配,例如:.magedu.com;
netgroups:NIS域内的主机组;@group_name;
anonymous:使用*通配所有主机;
General Options:
ro:只读
rw:读写;
sync:同步;
async:异步;
User ID Mapping: #默认压缩的
root_squash:压缩root用户,一般指将其映射为nfsnobody(来宾用户);
no_root_squash:不压缩root用户;
all_squash:压缩所有用户;
anonuid and anongid:将压缩的用户映射为此处指定的用户;
NFS Client:
客户端可以使用 showmount -e 服务器端地址 #查看共享列表
mount -t nfs servername:/path/to/share /path/to/mount_point
[-rvVwfnsh ] [-o options] #挂载共享文件
# exportfs -ar #重新导出所有目录,注意不要重启服务
# exportfs -au #不导出某个目录
以下是nfs的具体实现:
一、yum 安装
yum -y install nfs-utils rpcbind #rpcbind是nfs的辅助类服务
二、 nfs 的配置文件
配置文件目录 /etc/exports默认为空
[root@shewei ~]#vim /etc/exports
/opt/test/ 192.168.1.0/24(rw,async,anonuid=501,anongid=501)
共享文件目录 客户端网段 (可读,异步,默认压缩系统用户,将压缩的用户映射为此处指定的用户)
使配置生效 :exportfs -r
三、启动 nfs
service rpcbind start
service nfs start #辅助进程和nfs都要启动
chkconfig rpcbind on
chkconfig nfs on #这里是加入开机启动
四、客户端挂载:
NFS Client:
客户端可以使用 showmount -e 服务器端地址 #查看共享列表
mount -t nfs servername:/path/to/share /path/to/mount_point
[-rvVwfnsh ] [-o options] #挂载共享文件
# exportfs -ar #更改后的目录需要重新导出所有目录,注意不要重启服务
# exportfs -au #不导出目录
关于部署共享服务,可以在服务器搭建lamp环境然后通过nfs共享出去
也可以把服务器当数据库,在客户端上搭建lamp环境,使用nfsg共享的文件。
samb服务:
smb: Service message block
cifs: common internet filesystem
samba:Andrew Tridgell;
功能:
文件系统共享;
打印机共享;
NetBIOS协议;
peer/peer(workgroup model)
domain model
程序环境:
服务端程序包:samba
主配置文件:/etc/samba/smb.conf, 由samba-common包提供;
主程序:
nmbd:NetBIOS name server
smbd:SMB/CIFS services
Unit File:
smb.service #提供文件系统共享和打印机共享
nmb.service
监听的端口:
137/u dp, 138/udp
139/tcp, 445/tcp
客户端程序:
smbclient:交互式命令行客户端,类似于lftp;
mount.cifs:挂载cifs文件系统的专用命令;
samba的配置文件:
smb.conf
两类配置段:
全局配置
[global]
Network-Related Options
workgroup =
server string =
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
hosts allow = 127. 192.168.12. 192.168.13.
Logging Options
log file = /var/log/samba/log.%m
max log size = 50
Standalone Server Options
security = user
设定安全级别:取值有四个;
share:匿名共享;
user:使用samba服务自我管理的账号和密码进行用户认证;用户必须是系统用户,但密码非为
/etc/shadow中的密码,而由samba自行管理的文件,其密码文件的格式由passdb backend进行定义;
server:由第三方服务进行统一认证;
domain:使用DC进行认证;基于kerberos协议进行;
passdb backend = tdbsam
Printing Options
load printers = yes
cups options = raw
共享文件系统配置
[SHARED_NAME]
有三类:
[homes]:为每个samba用户定义其是否能够通过samba服务访问自己的家目录;
[printers]:定义打印服务;
[shared_fs]:定义共享的文件系统;
常用指令:
comment :注释信息;
path :当前共享所映射的文件系统路径;
browseable:是否可浏览,指是否可被用户查看;
guest ok :是否允许来宾账号访问;
public :是否公开所有用户;
writable :是否可写
write list:拥有写权限的用户列表;
用户名
@组名
+组名
samba用户管理:
smbpasswd
smbpasswd [options] USERNAME
-a:添加
-x:删除
-d:禁用
-e:启用
pdbedit
-L:列出samba服务中的所有用户;
-a, –create:添加用户为samba用户;
-u, –user=USER:要管理的用户;
-x, –delete:删除用户;
-t, –password-from-stdin:从标准输出接收字符串作为用户密码;
查看服务器端的共享:
smbclient -L SMB_SERVER [-U USERNAME]
交互式文件访问:
smbclient //SMB_SERVER/SHARE_NAME [-U USERNAME]
挂载访问:
mount -t cifs //SMB_SERVER/SAHRE_NAME -o username=USERNAME,password=PASSWORD
注意:挂载操作的用户,与-o选项中指定用户直接产生映射关系;
此时,访问挂载点,是以-o选项中的username指定的用户身份进行,与本地用户无关,
smbstatus命令:
显示samba服务的相关共享的访问状态信息;
-b:显示简要格式信息;
-v:显示详细格式信息;
以下是samba的具体实现:
一、安装SAMBA
[root@shewei ~]#yum -y install samba samba-client samba-common
1)、samba samba服务器软件包
2)、samba-client samba客户端工具
3)、samba-common samba通用工具和库文件
二、配置SAMBA服务器
[root@shewei ~]#systemctl start smb nmb #提供文件系统共享和打印机共享
监听的端口: 137/udp, 138/udp
139/tcp, 445/tcp
[root@wei ~]#smbclient -L 172.18.12.11 [user] #可以匿名登陆,查看是否能显示出列表
[root@wei samba]#smbpasswd -a centos #创建samba用户,需要本地有映射的用户,
这里密码是samba设置的,
[root@wei ~]#smbclient -U centos //172.18.12.11/centos #访问共享的家目录,给家目录w权限可以上传和下载
samba用户管理:
smbpasswd
smbpasswd [options] USERNAME
-a:添加
-x:删除
-d:禁用
-e:启用
pdbedit #此命令功能很强大
-L:列出samba服务中的所有用户;
-a, –create:添加用户为samba用户;
-u, –user=USER:要管理的用户;
-x, –delete:删除用户;
-t, –password-from-stdin:从标准输出接收字符串作为用户密码;
[root@wei samba]#pdbedit -a -u fedora #这里添加用户也需要本地存在此用户
[root@wei samba]#smbstatus #显示samba服务的共享信息
-b :显示摘要信息
-v :显示详细信息
前面都是samba的一些使用方法;下面才是samba的具体配置
创建共享目录(假设共享/smb目录下的文件)
# mkdir -pv /data/mydat
[mysql]
comment = MYdate
path = /data/mydata
public = yes
browseable = yes
read only = no
保存退出后
[root@wei data]#testparm #使用此命令检查是否成功,会多出一个mysql列表
最后记得给对应目录的权限,此处给了公共权限,同时记得一定要有本地映射的用户,
[root@she ~]#mount -t cifs //172.18.12.11/mysql /opt/ -o username=centos,password=centos
#在客户端挂载samba共享文件,指定文件系统cifs , -o 指定挂载使用的用户和密码
原创文章,作者:shewei,如若转载,请注明出处:http://www.178linux.com/74353