Linux下完整的Samba服务器配置攻略

本文为wjlkoorey258投稿,如需转载请注明出处!

关于Samba,大家有没有这种感觉,弄了N久丫的死活不喘气儿。找来各种“哥”和“姐”,发现全是“详解…配置专题”,看了半天不知道别个在说什么,好不容易找了个简单的教程,从头到尾跟着做,尼玛,浪费时间精力不说,就是跑不起来。是不是有种吐血的生理反应了。唉,不会写文档的娃,伤不起啊。而本文实现的是Linux和Windows间资源互通的问题:在Linux下架设Samba服务器,在Windows下来访问。

下载及安装Samba

推荐用yum来安装,这样它可以自己解决包的依赖关系,省时、省事又方便。一条命令搞定:

yum-y install samba

配置Samba

关于Samba的配置网上资料一大堆,可照着很多教程一步一步做下去发现最后就是用不了,郁闷至极啊。

我的目的不是多仔细,多深入的教你Samba的好,而是教会你如何快速的可以将Samba用起来,因此安全性方面的东西考虑的不是很多。但为了照顾到大家不同档次的水平和口味,我还是尽可能的多写一些东西。

首先,我强烈的建议大家在修改系统原有任何文件的时候一定要养成“先备份,后修改”的好习惯,相信我,这个习惯会为侬节约很多不必要浪费的时间。接下来我要做的是将/home/目录下的用户“koorey”的主目录给挖出来,供我在windows下访问。步骤如下:

1:备份Samba的配置文件:cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

2:在/etc/samba/smb.conf文件的末尾之添加如下字段:

[koorey]

comment=koorey

path=/home/koorey

writable=yes

3:Linux中/etc/passwd里的用户和Samba里的用户几乎没啥关系,硬说有的话,那就是:Samba的所有用户都必须是系统里已存在的用户。我们要授权系统用户访问Samba的话,通过命令:

#添加用户koorey到Samba用户数据库中

smbpasswd-akoorey

注:网上很多教程说针对/etc/samba/smb.conf文件要在[global]字段中加入下配置项:

dos charset = GB2312 ←将Windows 客户端的文字编码设置为简体中文 GB2312unix charset =GB2312 ←指定Samba所在的CentOS服务端新建文件或目录时的编码为 GB2312display charset= GB2312 ←指定使用SWAT(一种通过浏览器控制Samba的工具)时页面的默认文字编码directory mask =0777 ←指定新建目录的属性(以下4行)force directorymode = 0777directorysecurity mask = 0777force directorysecurity mode = 0777create mask =0777 ←指定新建文件的属性(以下4行)force createmode = 0777

security mask =0777force securitymode = 0777

我没有加这些配置,而且在我在共享出来的目录里添加,修改删除文件都没任何问题,还没有乱码现象。

在第3步smbpasswd -a koorey这条命令输入完后,会提示为新建的用户koorey设置访问密码。最后再执行一下service smb restart命令就OK了。至此,Samba服务器就架设好了。不信?为啥?因为后面还有章节,哈哈,说的没错。理论上说确实已经架设好了,可千万不要忽略了Linux的安全机制的存在:iptables和selinux。其中本人就吃了selinux不少苦头。因为只弄了iptables,却忘记了selinux这个牛叉叉的家伙。

对待iptables的问题上

普通青年:直接在命令行敲…

service iptables stop

文艺青年:依次在命令行敲…

ptables-I RH-Firewall-1-INPUT5-m state--state NEW-m tcp-p tcp--dport139-j ACCEPT

iptables-I RH-Firewall-1-INPUT5-m state--state NEW-m tcp-p tcp--dport445-j ACCEPT

iptables-I RH-Firewall-1-INPUT5-p udp-m udp--dport137-j ACCEPT

iptables-I RH-Firewall-1-INPUT5-p udp-m udp--dport138-j ACCEPT

iptables-saveservice iptables restart

对待selinux的问题上

同样,在对在selinux的问题上:(这丫的把我坑惨了呀)

普通青年:直接在命令行敲下面的两条命令,

setenforce

vi/etc/selinux/config

将config文件的SELINUX=enforcing改为SELINUX=disabled为开机重启后不再执行setenfore节约光阴。

文艺青年:依次在命令行敲…

setsebool-Psamba_enable_home_dirs on

setsebool-Psamba_export_all_rw on

完事儿之后再:getsebool -a | grep samba一把,你懂得…

好了,不管你是普通青年还是文艺青年,如果你是一步一步照着做下来的,那么环境已经搭建好了,最后在Windows系统里,访问结果如下:

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180125B0062W00?refer=cp_1026

扫码关注云+社区