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共享服务