【数据资料来自互联网,个人收集总结】
 
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阶段非常“必要”用到
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
------------------------------------------------------------------------------------------
赵小蜗牛
QQ: 755721501
在不断奉献中谋求生存发展、打造自己的优秀人品,用人性最本质最动人的一面“营销”自己!