当前设置samba的系统环境介绍

VM下CentOS6.7 64

IP192.168.0.70

 

关闭selinux

setenforce 0

关闭iptables

service iptables stop

安装samba



yum -y install samba



更改samba配置文件security = user为security = share


sed -i '/;/!s/security = user/security = share/' /etc/samba/smb.conf



注释:


security = user 定义安全级别 ,使用samba服务自我管理的帐号和密码进行用户认证;用户必须是系统用户,但密码非为/etc/shadow中的密码,而由samba自行管理的文件,其密码文件的格式由passdb bachend进行定义


security = share 匿名共享


修改samba配置文件

cat >> /etc/samba/smb.conf << EOF
[share] #此处是模块名称,名字随便起
comment = blog.whsir.com #注释
path = /win #指定目录
browseable = yes #如果把此处改成no,smbclient -L //192.168.0.70在用命令查看时,就看不到share,见下图
guest ok = yes #是否可浏览,是否可被所有用户看到
writable = yes #是否可写(全局可写)
create mask = 0644 #新建文件权限644
directory mask = 0755 #新建目录权限755
EOF



windows 清除samba连接_windows 清除samba连接

windows 清除samba连接_客户端_02

windows 清除samba连接_客户端_03

可以用testparm命令测试下配置文件是否有错误

Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[share]"
WARNING: The security=share option is deprecated
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions


这种是个警告,忽略即可

创建需要共享的目录



mkdir /win



更改权限,可以直接更改属组和属组,也可以将目录权限改成777


chown -R nobody.nobody /win
或
chown -R 777 /win



重启samba


service smb restart



 


Windows客户端访问



开始-运行-打开\192.168.0.70share



windows 清除samba连接_windows 清除samba连接_04

Linux客户端访问

挂载到linux本地/data目录,即本地data目录就是远程/win目录,此处要求输入密码直接回车即可。



mount -t cifs //192.168.0.70/share /data



 


给samba添加帐号密码

更改samba配置文件security = share为security = user



sed -i '/;/!s/security = share/security = user/' /etc/samba/smb.conf



其他配置跟上面相同(看上面修改samba配置文件部分)


给samba添加用户,用户必须是当前linux已经存在的用户,不存在则需要创建



useradd whsir -s /sbin/nologin



smbpasswd -a whsir #这里输入两遍密码



windows 清除samba连接_windows 清除samba连接_05

重启samba



service smb restart



 


Windows客户端访问



开始-运行-打开\192.168.0.70share就需要密码了



windows 清除samba连接_运维_06

Linux客户端访问

挂载到linux本地/data目录,即本地data目录就是远程/win目录,密码就是刚才设置的密码



mount -t cifs //192.168.0.70/share -o username=whsir /data



 


附录:
smbpasswd命令:
-a:添加
-x:删除
-d:禁用
-e:启用
-n:将指定的用户密码置空
pdbedit命令:
-L :列出samba中所有已添加用户

注意:
手动创建useradd用户时,会有uid和gid,用这个用户在windows端上传修改文件时,权限会变成这个用户的uid和gid,这样就会导致一个权限问题。
如果是linux客户端的话,必须在当前linux客户端有这个用户,并且uid和gid跟服务端对应一致,才不会出现权限问题,当然你可以直接让samba使用nobody用户

samba不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接。

在cmd中输入net use * /del /y即可解决

windows 清除samba连接_windows 清除samba连接_07