如何配置samba服务器

如何配置samba服务器,第1张

1、 下载及安装Samba

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

yum -y install samba

2、 配置Samba

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

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

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

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文件的末尾之添加如下字段:

[koorey]

comment = koorey

path = /home/koorey

writable = yes

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

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

这条命令输入完后,会提示为新建的用户koorey设置访问密码。最后再执行一下service smb restart命令就OK了。至此,Samba服务器就架设好了。不信?为啥?因为后面还有章节,哈哈,说的没错。理论上说确实已经架设好了,可千万不要忽略了Linux的安全机制的存在:iptables和selinux。其中本人就吃了selinux不少苦头。因为只弄了iptables,却忘记了selinux这个牛叉叉的家伙。关于iptables本人会在后面的博客从头到脚,从里到外,循序渐进的以此和大家交待它的来龙去脉。当然,如果你感兴趣的话。

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 -Psamba_enable_home_dirs on

setsebool -Psamba_export_all_rw on

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

5、最后在Windows系统里,访问结果如下:

6、打完收工。

不管你是普通青年还是文艺青年,如果你是一步一步照着做下来的,结果最后Samba还不通,请留言告诉我。

1.samba安装和启动

samba的源码安装采用最新版本samba-4.1.14,官网下载。安装过程如下:

$ sudo mkdir /usr/local/samba-4.1.14

$ ./configure --prefix=/usr/local/samba-4.1.14

...

Checking for program xsltproc                                                    : not found

Checking for program python                                                      : /usr/bin/python

Checking for program python                                                      : /usr/bin/python

Checking for program python                                                      : /usr/bin/python

Checking for Python version >= 2.5.0                                              : ok 2.7.6

Checking for library python2.7                                                    : not found

Checking for library python2.7                                                    : yes

Checking for program python2.7-config                                            : not found

Checking for program python-config-2.7                                            : not found

Checking

for custom code                                                         

: Could not find the python development headers

/home/anonymalias/Downloads/samba-4.1.14/wscript:100:

error: the configuration failed (see

'/home/anonymalias/Downloads/samba-4.1.14/bin/config.log')

上面错误的原因是samba必须依赖python,执行

$ sudo apt-get install python-dev

后面就是make &&sudo make install,安装ok后,安装目录结构如下:

/usr/local/samba-4.1.14$ ls

bin  etc  include  lib  private  sbin  share  va

将源码文件下默认的conf文件拷贝到安装目录下的etc目录中

/usr/local/samba-4.1.14$ cp /home/anonymalias/Downloads/samba-4.1.14/examples/smb.conf.default  etc/smb.conf

修改smb.conf中配置

global段添加如下字段

[global]

...

netbios name = ubuntu

共享资源字段采用默认配置

[homes]

comment = Home Directories

browseable = no

writable = yes

# NOTE: If you have a BSD-style print system there is no need to

# specifically define each individual printer

[printers]

comment = All Printers

path = /usr/spool/samba

browseable = no

# Set public = yes to allow user 'guest account' to print

guest ok = no

writable = no

printable = yes

添加用户名为Ubuntu的账户,

/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a ubuntu

New SMB password:

Retype new SMB password:

samba服务器的用户是依赖于linux的用户,只能添加linux中已存在的用户,否则会出现如下错误:

/usr/local/samba-4.1.14$ sudo bin/smbpasswd -a user1

New SMB password:

Retype new SMB password:

Failed to add entry for user user1.

启动samba 服务

/usr/local/samba-4.1.14$ sudo sbin/nmbd

/usr/local/samba-4.1.14$ sudo sbin/smbd

在Windwos文件管理器或直接win+R,输入server ip,可以看到如下界面:


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/322246.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存