1、配置匿名访问samba共享文件。

2、配置用户以身份验证的方式访问samba共享文件。

3、在samba的主配置文件中设置访问地址限制。

4、配置linuxsamba客户端访问别人的共享文件。

首先介绍一下实验环境:开启两台虚拟机,linux-1作为samba共享服务器使用,win 7-1作为客户机使用来访问服务器上的共享文件,并且要有写入权限。

wKioL1V4Xf6CSI0IAADedVY9K2E664.jpg

首先是挂载光盘文件,然后使用rpm命令安装作为samba服务器端的安装包。

wKiom1V4XFihKxGIAAQlqwNyPsE110.jpg

此时可以先关闭IPtables防火墙服务,以及SElinux策略。

wKioL1V4Xf6wAoL_AAFPtc7Soyo142.jpg

安装完成之后可以使用rpm -qc samba查看samba服务的安装目录。切换到配置文件/etc/samba/目录下,mv先修改其中的主配置文件名称,然后在过滤掉以#开头的注释行,并重定向为配置文件,然后就可以编辑主配置文件了,这样就算是编辑错了,也有个备份文件。

wKioL1V4Xf6SMv3HAAL1myMiqFk042.jpg

进入samba主配置文件,首先修改securityshare表示可以匿名访问。

wKiom1V4XFmiZnUUAABbsXAv9-w830.jpg

然后按“G”跳转到行未,添加下列配置文件参数。Benet为共享文件名称。

wKioL1V4Xf7TnpA7AAERSigm4Tw405.jpg

配置文件设置完成之后,在上面指定的共享路径中创建共享目录。并且设置目录权限。设置完成之后就可以开启samba共享服务了。

wKiom1V4XFmSNscLAAGiy327vJk135.jpg

此时打开win7虚拟机,配置网卡确保两台虚拟机能够互联互通,然后在运行里面输入samba服务器的IP地址进行访问。

wKioL1V4Xf-CWyfEAAKk4a8LKQw176.jpg

因为前面设置了可以写入的权限,所以任何用户在此目录下都可以写入文件。

wKiom1V4XFmCg_kLAAEUIdg1iAY144.jpg

回到linux上面使用“ls -l 文件目录”可以看到刚才创建的文件的权限,以及属主和属组为nobody,查看ID号为99

wKioL1V4Xf_zUz6iAAD_LyOMMQs077.jpg

下面开始做用户身份验证,同样要先配置security参数配置为user

wKiom1V4XFryQqhxAABFClo0ib4696.jpg

然后到行未配置共享文件的参数,共享名称为accp,在这里需要指定valid users能够允许访问的用户。

wKiom1V4XFqAbbtYAAFTArgb4ds530.jpg

配置文件配置完成之后,首先要创建用户,如果只是为了共享建议不要设置用户密码,可以直接使用“smbpasswd -a 加用户名”设置用户的samba服务密码,然后是创建共享目录并设置权限。

wKioL1V4XgCjaWXfAAIu0JaT590623.jpg

配置完成此时需要重新启动samba服务,注意是重启。

wKioL1V4XgDgws7HAAEIsyNwNAQ337.jpg

win 7上面同样需要清空刚才访问的数据,以防有缓存作怪。

wKiom1V4XFuglnh0AALknmOCa9Y904.jpg

此时再使用同样的IP地址进行访问,提示你输入用户名和密码,输入刚才创建的用户名zhangsan以及samba密码进行访问。

wKiom1V4XFuyWJBSAAOMBDN9M1I386.jpg

此时不仅可以看到共享文件目录,还可以看到自己的家目录,而且accp目录是可以写入的(在accp里面创建了一个文件222.txt)。

wKioL1V4XgHC0Z1SAAJMoBGSmK8717.jpg

回到samba服务器的主配置文件中,删除writable代表所有用户都可以写入的参数,在下面添加一条只允许lisi进行写入的条目。

wKioL1V4XgGj2IjwAAEjS9E8yxE972.jpg

(重启linuxsamba服务,清空win 7的缓存之后再进行登陆)此时再使用刚才登陆的zhangsan用户,在accp目录下创建文件表示已经没有权限了。

wKiom1V4XFyj1aMyAAKsRaJLAhA009.jpg

(重启samba服务,清空缓存之后再进行登陆)然而使用lisi用户登陆依然可以有写入权限。

wKioL1V4XgKjOhjGAAJnuGkolyI731.jpg

下面编辑/etc/samba/smbusers文件,samba用户的别名机制。

wKiom1V4XF3AsPmwAACUYv99Eqo562.jpg

直接在下面添加“用户名 = 别名”就OK了。

wKioL1V4XgLiLbaSAADIvGL0ekM545.jpg

再编辑samba的主配置文件,在全局配置中添加“username map =别名路径”应用别名机制。

wKiom1V4XF2AYQ1fAADvEwAdDwQ188.jpg

又要重启samba服务,清空缓存之后再进行登陆。

wKioL1V4XgPjswQPAAFHhw_2XRM161.jpg

此时使用别名进行登陆,跟直接使用lisi用户登陆是一个效果。

wKiom1V4XF3gWucxAAOtFpNtowY131.jpg

同样可以创建文件,而且创建出来的文件的属主和属组都是lisi

wKioL1V4XgOxYB88AAJ0K7_eeRQ608.jpg

另外还可以在samba服务的主配置文件中做地址限制,有点像ACL,其中“hosts deny”表示拒绝,“hosts allow”表示允许

wKiom1V4XF7CMJ5lAACMKaQJWec876.jpg

此时在win7上无论是用什么用户都不能够访问samba服务,但是可以ping通。

wKioL1V4XgSwhAegAAPOOqFFiA4931.jpg

下面是在linux上安装samba的客户端软件,安装完成之后使用“smbclient -L 加对方IP”就可以访问win 7上面的共享文件了。

wKiom1V4XF_SF-gkAAQFtZj3Gmg066.jpg

经验总结:安装samba服务的软件包时注意不要错了。Samba主配置文件中的各种配置参数需要清楚,匿名访问和身份验证访问的参数别搞混了。还有就是权限问题,有时不能写入就要检查权限设置了。谢谢大家!wKioL1V4YqHxe11LAAAd16RwZB0672.jpg 真的很辛苦的,支持一下了。