首页 > Linux研究 > Samba服务器配置
2016
11-05

Samba服务器配置

Samba是实现的是Linux和Windows间资源互通的问题:在Linux下架设Samba服务器,在Windows下来访问。

1、下载及安装Samba

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

yum -y install samba

2、  配置Samba

首先,我强烈的建议大家在修改系统原有任何文件的时候一定要养成“先备份,后修改”的好习惯

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

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

dos charset = GB2312 ←将Windows 客户端的文字编码设置为简体中文 GB2312

unix charset =GB2312 ←指定Samba所在的CentOS服务端新建文件或目录时的编码为 GB2312

display charset= GB2312 ←指定使用SWAT(一种通过浏览器控制Samba的工具)时页面的默认文字编码

directory mask =0777 ←指定新建目录的属性(以下4行)

force directorymode = 0777

directorysecurity mask = 0777

force directorysecurity mode = 0777

create mask =0777 ←指定新建文件的属性(以下4行)

force createmode = 0777

security mask =0777

force securitymode = 0777

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

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

[software]

comment = software

path = /software

valid users = admin  jack

writable = yes

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

smbpasswd  -a  admin  #添加用户admin到Samba用户数据库中

这条命令输入完后,会提示为新建的用户admin设置访问密码。

4).系统中创建samba用户组,授权admin,jack用户访问software文件夹

mkdir /software

chmod  770 /softeware

chgrp samba /software

groupadd samba

gpasswd -a admin samba

gpasswd -a jack samba

最后再执行一下systemctl  restart  smb命令就OK了。

至此,Samba服务器就架设好了。不信?为啥?因为后面还有章节,哈哈,说的没错。理论上说确实已经架设好了,可千万不要忽略了Linux的安全机制的存在:iptables和selinux。其中本人就吃了selinux不少苦头。因为只弄了iptables,却忘记了selinux这个牛叉叉的家伙。

3、  iptables的设置:

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

service  iptables stop

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

            iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT

            iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT

            iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 137 -j ACCEPT

            iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 138-j ACCEPT

            iptables-save

            service iptables  restart

4、  同样,对在selinux的设置:(这把我坑惨了呀)

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

setenforce 0

vi /etc/selinux/config

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

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

            setsebool -P samba_enable_home_dirs on

            setsebool -P samba_export_all_rw on

#以上2行让home生效

            setsebool -P allow_smbd_anon_write=1

            chcon -t public_content_rw_t /software

#以上2行让自动以的software目录生效

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

关于SElinux的基本用法请看http://www.ttfde.top/archives/360.html 

5.windows下cmd命令输入\\192.168.1.110  输入admin或jack用户名和密码

6.windows下查看删除连接到samba服务器的用户

使用net use  查看

使用net use  *  /delete 删除连接

使用net use * /delete /y 无需询问直接删除

作者:admin
admin
TTF的家园-www.ttfde.top 个人博客以便写写东西,欢迎喜欢互联网的朋友一起交流!

本文》有 0 条评论

留下一个回复