在运维大环境下Openstack、docker和虚拟化盛行的年代,对于基础运维环境的搭建,特别是日常办公工作中,建立适当的共享机制进行办公内部资源共享,针对这样的情况,我们详解以下3种常用基本共享的方式
1.Windows文件共享
2.samba文件共享
3.nfs网络文件系统共享
4.以SVN为基础进行C/S模式的文件共享
1.Windows文件共享
进入计算机管理——》共享文件夹——》共享——》新建共享
下一步略过,重点讲述权限部分
此处需要在共享权限以及安全两个选项中都需要添加上需要的用户
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:
应用场景分析
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.以SVN为基础进行C/S模式的文件共享
SVN与上述3种区别在于
增加了锁机制,使得管理员并发占用的问题得到了解决;
不依赖于网络共享的方式,更新后可保存在本地;
对于目录的可见性也做出了改变,用户进行checkout的目录只能到定义过的目录;
可以借助客户端以及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自动化部署等也不再为基础设施的搭建困扰。