samba配置汇总_ksmbd/kmod-程序员宅基地

技术标签: tcp  防火墙  Linux  service  测试  windows  user  

1、软件包
[root@pps samba]# rpm -qa | grep samba
samba-common-3.0.23c-2
samba-3.0.23c-2
 
2、添加可以访问Samba的Linux(Windows)用户
[root@pps public]# smbpasswd -a zhaozh
New SMB password:
Retype new SMB password:
Added user zhaozh.
[root@pps public]# smbpasswd -a hoho
New SMB password:
Retype new SMB password:
Added user hoho.
这里我添加了zhaozh 和 hoho两个用户。当然他们已经是系统用户。
如果系统没有zhaozh用户则需要先建立:(hoho用户也一样)
# useradd zhaozh
先不需要设置密码,则zhaozh不能通过ssh等登陆,但是在smbpasswd里设置了密码则可以通过samba登陆共享。
即使通过passwd锁定用户,但不会影响Samba登陆。
[root@pps samba]# passwd -l hoho
Locking password for user hoho.
passwd: Success
[root@pps samba]# passwd -l zhaozh
Locking password for user zhaozh.
passwd: Success
这样可以禁止hoho和zhaozh用户的其它登陆方式比如ssh登陆或者其它终端登陆。
 
4、防火墙开放相关端口
Samba用到的端口
* Port 137 (UDP) - NetBIOS name service and nmbd
* Port 138 (UDP) - NetBIOS datagram service
* Port 139 (TCP) - File and printer sharing and smbd
* Port 389 (TCP) - for LDAP (Active Directory Mode)
* Port 445 (TCP) - NetBIOS was moved to 445 after 2000 and beyond, (CIFS)
* Port 901 (TCP) - for SWAT
一般来说只需要开 137 138 139 445 即可
 
5、启动SMB服务测试
先随便设置一些共享目录,然后启动Samba服务测试以下:
[root@pps samba]# service smb start
启动 SMB 服务:                                            [确定]
启动 NMB 服务:                                            [确定]
在Windows运行输入框里输入"//192.168.32.50”,第一次访问会提示输入用户名和密码。
用户名可以使用刚才用smbpasswd添加的zhaozh或者hoho用户,密码就是当时设置的。
我在Windows里浏览器里双击某共享目录出现“无权访问”或者输入用户名密码都不对的情况,查看 /var/log/messages 看到如下提示:
Mar  8 17:33:23 pps smbd[5506]:   '/home/zhaozh' does not exist or permission denied when connecting to [zhaozh] Error was 权限不够
这是SELinux搞的鬼,执行以下命令即可
# setsebool -P samba_enable_home_dirs=1
SELinux对home目录有“保护”作用。
 
6、隐藏登陆用户宿主目录
“按道理”,在/etc/samba/smb.conf文件里有如下配置:
[homes]
   comment = Home Directories
   browseable = no
   writable = no
  
那么用户的宿主目录应该看不见才对,可是试验结果都能看到宿主目录的。
比如,用hoho用户登陆(windows用户名、Linux用户名都是hoho),可以看到hoho主目录,并且可以进行读写操作!
可以通过注释[homes]达到隐藏的目的:
;[homes]
;   comment = Home Directories
;   browseable = no
;   writable = no
重启smb服务即可。
但是本人将[printers]注释掉但是还可以在Windows浏览器看到打印机图标:(
 
7、读写权限设置
我自己在测试的时候,发现很多“应该实现”的权限设置没有测试成功。
以下是自己认为比较实用的一种目录共享以及权限使用方式:
samba用户:zhaozh hoho
共享目录:
         /home/samba/public_ro      公共“只读”目录
         /home/samba/public_rw      公共“读写”目录,可以用来共享临时需要的文件
         /home/samba/zhaozh's       私人(或某些人专用)的可读写的目录
        
[root@pps samba]# ls -l
总计 24
drwxr-xr-x 2 nobody nobody 4096 03-08 18:55 public_ro
drwxrwxrwx 2 nobody nobody 4096 03-08 19:37 public_rw
drwxr-xr-x 2 zhaozh zhaozh 4096 03-08 19:28 zhaozh's
 
smb.conf文件相关配置如下:
 
security = user
;[homes]
;   comment = Home Directories
;   browseable = no
;   writable = no
[public_ro]
   comment = Public Stuff Read-Only
   path = /home/samba/public_ro
   public = yes
   writable = no
[public_rw]
   comment = Public Stuff Read-Write
   path = /home/samba/public_rw
   public = yes
   writable = yes
   write list = zhaozh
[zhaozh's]
   comment = zhaozh's stuff
   path = /home/samba/zhaozh's
   valid users = zhaozh
   public = no
   writable = yes

可以用 setfacl 来细分权限,可以参考以下文章:
[url]http://my.donews.com/ipv6ok/2006/09/17/gnlcitielbdwpxvivoamdmuvtwrytvqamesc/[/url]
 
8、通过samba-client挂载Windows系统的共享目录
这个需要安装samba-client软件包(我用的是samba-3.0.23c-2.i386.rpm)
安装完后,直接挂载即可:
# mount //192.168.32.1/share mount_disc/
(输入密码为空即可)
将192.168.32.1机器的share共享目录挂载到当前目录下的 mount_disc 目录。
如果Windows的共享做了权限限制,有可能需要使用用户名和密码:
# mount -o username=administrator //192.168.32.1/share mount_disc/
--------------------------------------------------------------------------------
XP在默认情况下是采用的“简单文件共享”。是只要你共享了,任何人都不需要密码就可以打开看。
取消简单文件共享的方法:
在“我的电脑”中点击“工具”--“文件夹选项”--“查看”找到“简单文件共享”并取消掉。--确定。
并建立有权限访问的用户,具体可以参考以下文章:
[url]http://hi.baidu.com/softsky/blog/item/b5a8874442a8e94c510ffe89.html[/url]
--------------------------------------------------------------------------------
如果挂在失败或者没有响应,有可能是Windows机器防火墙(windows防火墙或者其它防火墙)导致。我使用的诺顿防火墙就得开通信任区域 192.168.32.0/24 才可以正常挂载。
 
 
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
温馨一刻:net use * /del
Windows下清空网络连接缓存的命令,管理员在测试samba阶段非常“必要”用到
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

主要参考文章:
[url]http://blog.163.com/liu_ray/blog/static/852459020089252926281/[/url]
[url]http://hi.baidu.com/naruto6006/blog/item/cc8966efd1157cfcb2fb95c4.html[/url]

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/deyili/article/details/5350465

智能推荐

mysql 中 group by 与 order by 的顺序_group by order by顺序-程序员宅基地

文章浏览阅读1.7w次,点赞4次,收藏11次。mysql 中order by 与group by的顺序 是:selectfromwheregroup byorder by注意:group by 比order by先执行,order by不会对group by 内部进行排序,如果group by后只有一条记录,那么order by 将无效。要查出group by中最大的或最小的某一字段使用 max或min函数。例:select sum(click_num) as totalnum,max(update_time) as up._group by order by顺序

【coocs2d-x 3.5】Lua 精灵触摸_coocs 2dx-lua 点击获取精灵-程序员宅基地

文章浏览阅读1k次。local function onTouchBegan(touch, event) local s = map[1][1]:getSprite():getContentSize() local px = map[1][1]:getSprite():getPositionX() local py = map[1][1]:getSprite():getPositionY()_coocs 2dx-lua 点击获取精灵

如何用Java将DWG和DXF文件转换为PDF?看了这篇就懂了_java kabeja.batik 将dxf文件转换成pdf,并设置宽高-程序员宅基地

文章浏览阅读2k次。CAD文件格式是设计师或建筑师在建筑、汽车、五金等各行各业制作图纸时使用的。DWG和DXF是最广泛使用的CAD格式,然而,你需要一个专门的软件来查看DWG和DXF文件中的内容。为了解决这个限制,你可以将CAD图纸转换为PDF格式。Aspose.CAD是一个独立的AutoCAD处理API。它提供将DWG,DWF和DXF文件转换为高质量PDF和光栅图像的功能。开发人员可以从AutoCAD文件中选择和转换特定的布局和图层,并轻松跟踪整个文件转换过程。在本文中,将学习如何自动将CAD转换为PDF,并使用Ja_java kabeja.batik 将dxf文件转换成pdf,并设置宽高

关于腾讯云服务器不能用公网ip访问的解决方案-程序员宅基地

文章浏览阅读9.4k次。最近在腾讯云服务器上部署Javaweb项目,开始外网ip是可以访问到云服务器上的项目的,我重启了一下Tomcat之后发现端口号8080无法使用,此时的公网ip还是可以使用的,然后我重启了一下云服务器之后连公网ip都无法访问了,然后百度了一下,解决办法是在云服务器控制面板中找到安全组把对应所需要的端口号开放了,还有说把防火墙关了,这两种办法有点是可以解决问题的,但是我都试了解决不了,设置安全组如图所

关于uni-app中的安全区域以及动态设置标题_uniapp 安全区域-程序员宅基地

文章浏览阅读420次,点赞11次,收藏5次。获取屏幕边界到安全区的距离。_uniapp 安全区域

[已解决] wget命令出现Unable to establish SSL connection.错误_linux在测试dashboard服务时出现unable to establish connecti-程序员宅基地

文章浏览阅读204次。从win11上下载best.ckpt包时。加上跳过验证证书的参数。_linux在测试dashboard服务时出现unable to establish connection to keystone end

随便推点

【Lintcode】1302. People Counting_3d people counting-程序员宅基地

文章浏览阅读168次。题目地址:https://www.lintcode.com/problem/people-counting/description给定一个数组AAA,再给定一组询问,问每个数在AAA中出现了多少次。直接用哈希表计数。代码如下:import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;public class Solution { /** * _3d people counting

Windows必备软件_qttabbar中文包-程序员宅基地

文章浏览阅读277次。1.谷歌浏览器(见我的另一篇文章,对浏览器下载安装有详细的介绍):谷歌浏览器2.中文PotPlayer播放器(功能最全的播放器):PotPlayer官网(需要科学上网):;亲测可用(安装时,语言选择简体中文即可,里面还有旧版本的potplayer)需要从诚通网盘下载(类似易破解)3.虚拟机:官网Vmware-Workstation(需要登录);第七下载(亲测可用,安装时并无捆绑软件..._qttabbar中文包

vscode出现“若您正以管理员身份运行 Visual Studio Code 用户范围的安装,更新功能会被禁用。”怎么办?_若您正以管理员身份运行 visual studio code 用户范围的安装,更新功能会被禁用。-程序员宅基地

文章浏览阅读2k次,点赞2次,收藏2次。记得选择win下面的System Installer x64而不是User Installer。_若您正以管理员身份运行 visual studio code 用户范围的安装,更新功能会被禁用。

mysql xtrabackup 使用说明_xtrabackup: no valid checkpoint found.-程序员宅基地

文章浏览阅读1.1k次。mysql xtrabackup 使用说明_xtrabackup: no valid checkpoint found.

直线插补法的程序实现(python)_直线插补xoy-程序员宅基地

文章浏览阅读3.9k次,点赞3次,收藏20次。直线插补法的程序实现(python)本次程序实现采用python的海龟绘图法来进行图像的直观描述海龟绘图法简单易懂,而且由python自带,无需下载代码实现import turtle'''初始化坐标系'''t = turtle.Pen()t.goto(0,0)t.goto(-200,0)t.goto(200,0)t.goto(0,0)t.goto(0,200)t.goto..._直线插补xoy

dos 自己常用批处理bat_bat批处理 自己-程序员宅基地

文章浏览阅读587次。最无奈的是每天上班必须启动一系列的应用,干脆自己就搞一个批处理,不用每次都看图标然后再去双击跑起来有兴趣的可以看看,不喜勿喷!!!谢谢@echo off@echo "runing is success ..."goto input@pause:input @set /p order=please input you order: goto %order% ..._bat批处理 自己

推荐文章

热门文章

相关标签