CentOS安装配置Samba

介绍

Samba可以让我们在windows中访问linux系统中的文件,如果用来调试linux虚拟机中的代码会非常的方便

1、安装

yum -y update
yum install samba samba-client samba-swat -y

 2、查看安装情况

[root@localhost samba]# rpm -qa|grep samba 
samba-swat-3.6.23-20.el6.i686
samba-common-3.6.23-20.el6.i686
samba-winbind-clients-3.6.23-20.el6.i686
samba-3.6.23-20.el6.i686
samba-winbind-3.6.23-20.el6.i686
samba-client-3.6.23-20.el6.i686

 3、对路由表做如下操作

iptables -I INPUT 4 -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT  
iptables -I INPUT 5 -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT  
iptables -I INPUT 6 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT  
service iptables save

 4、创建用户

useradd smbuser  
groupadd smbgrp  
usermod -a -G smbgrp smbuser  
smbpasswd -a smbuser  

 5、生成目录

cd /home/samba/  
mkdir test  
chown -R smbuser:smbgrp test/  
chmod -R 0770 test/ 

 6、生成配置文件

[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
security = share
passdb backend = tdbsam
load printers = yes
cups options = raw
[homes]         
comment = Home Directories
browseable = no 
writable = yes  

[printers]      
comment = All Printers
path = /var/spool/samba
browseable = no 
guest ok = no   
writable = no   
printable = yes 

[share]
path = /tmp
writeable = yes
browseable = yes
create mask =  0664
directory mask = 0775
guest ok = yes
public = yes

[test]        
comment = Public Stuff
path = /home/samba/
public = yes    
writable = yes  
printable = no 
write list = +staff   
valid users = smb

 7、重启

chkconfig smb on  
chkconfig nmb on  
service smb restart && service nmb restart

如果出现没有权限的问题,请再次确认以下几个重点

1.关闭防火墙: service iptables stop
2.设置SELinux的宽松模式:setenforce 0
3.设置你需要共享的文件夹的属性为777,chmod 777 /share
4.重启了smb和nmb服务。

 最近在配置samba,windows连接的时候出现如下问题:samba不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接

net use * /del /y

这个不是samba的限制,是Windows的限制,如果要用public=yes的话,上面的方法都不能有效解决

原因:在打开存在 public=yes的samba服务器时,如果首先点击了有public=yes的共享资源的时候,widows会用默认的用户名去连接服务器,一般就 是windows的登录名(可以在服务器端查看到的),这时候,再去点击没有public=yes的共享资源,由于使用了user级别,服务器就会要求验证,这时,之前的默认登录已经存在,就出现了楼主的故障了。即使注销连接后如果没有采用正确的顺序访问共享资源,还是会陷入这个泥潭中。因此,最好办法就 是不用public=yes,给公共帐号建立一个共用的账户并公示出来。这样处理,其实权限更清晰一些

参考:

http://www.linuxsir.org/main/?q=node/158
http://blogold.chinaunix.net/u/19637/showart_491257.html

原文地址:https://www.cnblogs.com/chenpingzhao/p/4799697.html