samba在linux下的配置

Posted _Gelandesprung

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了samba在linux下的配置相关的知识,希望对你有一定的参考价值。

Samba配置过程容易遇到的问题

samba的安装很简单,搜索一下都能找到。我主要是记录一上我碰到的问题及解决的办法

第一个问题

  防火墙的问题,粗暴的办法是直接把防火墙关掉,合适的做法是把samba用到的端口打开

如何打开呢?我引用一下别人整理的命令集:

添加
firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent

samba用到的端口有139/tcp 445/tcp 137/udp 138/udp 389/tcp ,也包括了ndb用到端口。所以我们需要手动把这些端口打开,并保存下来,下次重启的时候就不用关心这个问题了。 

firewall-cmd --zone=public --add-port=139/tcp --permanent
firewall-cmd --zone=public --add-port=445/tcp --permanent
firewall-cmd --zone=public --add-port=137/udp --permanent
firewall-cmd --zone=public --add-port=138/udp --permanent
firewall-cmd --zone=public --add-port=389/tcp --permanent

默认zone是zone不是public,所以需要切换一下。也可以不切换,把这个名为public 的zone设置到特定的网卡上,那么只有这块网卡打开这些端口

firewall-cmd --set-default-zone=public

之后reload一下,然后firewall-cmd --list-ports查询一下是否成功了。

第二个问题

  解决了端口的问题,可以在其它机器看到你分享的目录了,但是打不开,原因是selinux,需要selinux设置你分享的那个目录一个权限,才能允许其它机器访问这个目录,网上有很多解决方案,在我这里都没有用,只能粗暴一回先凑合着,就是编辑/etc/sysconfig/selinux文件,改成这样:

SELINUX=disabled
#SELINUX=enforcing

第三个问题

有些目录想匿名访问,有些xxx文件想密码访问,需要添加一个用户,比如smb,没有主目录,纯粹是为了samba的访问

useradd -s /sbin/nologin -M smb

创建完用户,把这个用户配置到samba服务里

smbpasswd -a smb

然后修改一下/etc/samba/smb.conf文件,把[homes]那一块注释掉,否则会看到一个叫smb的目录,而且不能访问,很恶心。

重启服务


以上是关于samba在linux下的配置的主要内容,如果未能解决你的问题,请参考以下文章

掌握Samba服务的配置原理;在linux下配置samba共享服务

Linux 安装和配置 Samba

linux访问windows的samba配置,如何配置?详细教程

Linux常用服务器构建-samba

Debian下配置Samba服务器

Windows访问Linux下的共享目录的配置方法