在运维大环境下Openstack、docker和虚拟化盛行的年代,对于基础运维环境的搭建,特别是日常办公工作中,建立适当的共享机制进行办公内部资源共享,针对这样的情况,我们详解以下3种常用基本共享的方式

1.Windows文件共享

2.samba文件共享

3.nfs网络文件系统共享

4.以SVN为基础进行C/S模式的文件共享


1.Windows文件共享

进入计算机管理——》共享文件夹——》共享——》新建共享

局域网文件共享几种方式_第1张图片

下一步略过,重点讲述权限部分

局域网文件共享几种方式_第2张图片

此处需要在共享权限以及安全两个选项中都需要添加上需要的用户

局域网文件共享几种方式_第3张图片


2.samba文件共享

RHEL

yum install samba samba-common


Ubuntu

apt-get install samba samba-common
samba配置文件在/etc/samba/smb.conf


配置文件中常用       

hosts allow = 192.168.3.4
#hosts deny = 192.168.3.5


[share]
   comment = share's share directory
   browseable = yes
   path = /home/share
   writable = yes
   valid users = share,abc
   create mode =  777
   directory mode = 777
   write list = qwe, root


以上配置为只允许192.168.3.4访问(如果将注释写在上面一行,则为不允许192.168.3.5访问

创建share目录共享,允许qwe进行创建目录,写入权限为777;允许share及abc读取

用户只能写文件,不能进行删除配置

设置共享文件夹属性:

   chmod 1777 /home/share

配置共享属性

   writable = yes

   valid users = share,abc

   create mode =  1444

   directory mode = 1555


创建samba用户密码方法:

smbpasswd -a share


修改samba用户密码:

smbpasswd share


查看已经添加的samba用户列表:

pdbedit -L



3.nfs网络文件系统共享

NFS

服务端

RHEL 5

yum install nfs-utils
yum install portmap        #用于支持安全NFS RPC服务的连接


RHEL 6

yum install nfs-utils
yum install rpcbind


Ubuntu

安装nfs组件

#  apt-get install nfs-kernel-server -y
# vi /etc/exports 
/home/nfs_share    192.168.3.2(rw,sync,no_root_squash)
/home/nfs_share    192.168.3.0/24(ro,sync,no_root_squash)

注意:配置文件的说明在 man 5 exports

# chmod 777 /home/nfs/
service nfs-kernel-server restart
service portmap restart

首先测试本机 mount.nfs 127.0.0.1:/home/nfs   /mnt

iptables开启状态下开放以下端口

vi /etc/services
nfs             2049/tcp   # Network File System
nfs             2049/udp   # Network File System
sunrpc          111/tcp         portmapper # RPC 4.0 portmapper
sunrpc          111/udp         portmapper
rpc2portmap     369/tcp
rpc2portmap     369/udp         # Coda portmapper


linux客户端

安装nfs组件

apt-get install -y nfs-common libgssglue1 rpcbind

挂载磁盘

mount -t nfs 192.168.3.1:/home/nfs /mnt
mount.nfs 192.168.3.1:/home/nfs /mnt

开机即挂载

vi /etc/fstab
192.168.3.1:/home/nfs   /mnt   nfs   defaults 0 0



新增主机需求请先配置

服务端:

修改                    /etc/exports

重启服务生效      service nfs-kernel-server restart

客户端:

修改                    /etc/fstab

挂载磁盘或者reboot实现生效服务


windows客户端

2008 server版 服务器管理——》添加角色——》文件服务——》下一步——》网络文件系统服务,安装完成后

在cmd执行命令  mount 192.168.3.1:/home/nfs X:

wKiom1fowh3jHn4LAAAL92Mm2gk305.png

wKiom1fowlqAsy0cAAAMkf9onnE835.png


应用场景分析

1.只有192.168.3.3的IP能对磁盘进行写操作,其他IP只能读

在/etc/exports中

/home/nfs_share 192.168.3.3(rw,sync,no_root_squash)

/home/nfs_share 192.168.3.0/24(sync,no_root_squash)

非192.168.3.3主机能够正常查看文件,但是编辑后无法对磁盘进行写操作,报错信息如下:

Linux报错信息

$ touch aa

touch: cannot touch `aa': Read-only file system

window报错信息

局域网文件共享几种方式_第4张图片


4.以SVN为基础进行C/S模式的文件共享

SVN与上述3种区别在于

  1. 增加了锁机制,使得管理员并发占用的问题得到了解决;

  2. 不依赖于网络共享的方式,更新后可保存在本地;

  3. 对于目录的可见性也做出了改变,用户进行checkout的目录只能到定义过的目录;

  4. 可以借助客户端以及web页面登录对文件进行下载;


权限及数据安全问题

window共享基于本机用户的方式

samba共享IP和用户账户的方式,账户也必须是服务器存在的,否则得使用虚拟账户

nfs共享基于IP的方式开启只读模式

只读的模式避免了数据被删除,

SVN共享基于用户账户属性,目录访问受到权限的影响,但是无法避免数据被员工离职对带有权限的文件夹进行拷贝的问题

上述共享无法避免数据被员工离职全盘拷贝的问题,针对拷贝,只能上专业的DLP系统将共享服务通过加密网关进行加密的保障,另外一种将共享文件放在web,并带有日志记录,下载数量的限制。


用户修改密码问题


SVN的Server端,采用数据库的方式搭建,因此可以使用自行编码的网页对MySQL所使用的SVN表的字段进行修改,Collabnet SVN Edge架设SVN服务器的话,登录自带的WEB版控制台就可以修改密码;


阐述结束后,毕竟是运维的基础架构,搭建完成后,我们不再因为Critix Xen Center安装操作系统需要自建CIFS ISO Library的困难发愁了,同时VMware EXSI,KVM,ansilble自动化部署等也不再为基础设施的搭建困扰。