Linux 和 Windows 之间共享文件之 samba

导语

如果对windows有过实际操作技巧的人都会明白,在windows下的文件共享加上网络驱动器映射是多么方便的体验,甚至比ftp更加的简单,就像本地多了一块可与他人交流的硬盘一样。

问题

由于性能和生态的原因,大多数人都选择的是linux 操作系统,而linux系统的环境与windows大不相同,windows的共享大量依赖与自己的用户模型系统。 如果想要在linux上与windows实现相互共享,很明显需要第三方的软件来模拟和转换。

方案

这么刚性的需求,肯定有大量的人早已实现了这样的需求,我们一番探究,选取一个最简单的方案–samba。

实施

1.安装

安装这个东西非常简单

yum install samba

2.配置

配置是比较复杂的,对于samba来说。 倒不是说他的选项繁多,而是他的逻辑比较反人类,而且配置说明和实际操作严重不符。 

vi /etc/samba/smb.conf

这个地方我们进去编辑,会发现密密麻麻的一大片,大部分是注释,用来教你怎么配置。 然后其语言几度不精炼,而且写的竟然有问题。 其实这个东西的配置本身十分的简单,只需要配置好两个节点。

[global]
workgroup = mygroup #工作组

server string = Samba Server Version %v #服务器文本

netbios name = HOME-WS #主机名

log file = /var/log/samba/log.%m #日志名称

max log size = 50 #最大日志大小

guest ok = yes #是否允许guest 账户

security = user #安全模式

这段是全局配置,其中其中最大的坑在于

security = user

这一句文档中解释说

security = the mode Samba runs in. This can be set to user, share # (deprecated), or server (deprecated).

意思就是可取值为user、share、server。 取这三个值分别对应用户模式、共享模式、域模式。 其中取值share的时候用户不需要输入密码直接就可以访问,share的时候由域服务器验证。这里我们简单点的需求就是直接取值share。 然而。。。。报错了。

WARNING: Ignoring invalid value 'share' for parameter 'security'

值无效! ! 老子是按照你的说法这样弄的啊!!! 于是翻文档,文档中又是这样说的

“(map to guest) Bad User - Means user logins with an invalid password are rejected, unless the username does not exist, in which case it is treated as a guest login and mapped into the guest account.” Combined with a “guest ok = yes” directive under a share will enable user/password-less browsing.

坑爹货,这下明白了,得还是用

security = user

然后加上

map to guest = Bad Password

再然后配合

guest ok = yes

就可以实现用户匿名直接访问了。 接下来就是建立共享目录了。 很简单,在下面新建节点

[共享名称]

comment = sharefile

path = /var/sharefiles

public = yes

writable = yes

available = yes

browsable = yes

guest ok = yes

create mask = 0777directory mask = 0777

ok了。

测试

这下在windows上就用\ip 就可以看到共享的内容了。

猜你喜欢

转载自www.cnblogs.com/reboot51/p/9577555.html