1、配置匿名访问samba共享文件。linux
2、配置用户以身份验证的方式访问samba共享文件。缓存
3、在samba的主配置文件中设置访问地址限制。服务器
4、配置linux为samba客户端访问别人的共享文件。ide
首先介绍一下实验环境:开启两台虚拟机,linux-1做为samba共享服务器使用,win 7-1做为客户机使用来访问服务器上的共享文件,而且要有写入权限。spa
首先是挂载光盘文件,而后使用rpm命令安装做为samba服务器端的安装包。3d
此时能够先关闭IPtables防火墙服务,以及SElinux策略。blog
安装完成以后可使用rpm -qc samba查看samba服务的安装目录。切换到配置文件/etc/samba/目录下,mv先修改其中的主配置文件名称,而后在过滤掉以#开头的注释行,并重定向为配置文件,而后就能够编辑主配置文件了,这样就算是编辑错了,也有个备份文件。图片
进入samba主配置文件,首先修改security为share表示能够匿名访问。get
而后按“G”跳转到行未,添加下列配置文件参数。Benet为共享文件名称。虚拟机
配置文件设置完成以后,在上面指定的共享路径中建立共享目录。而且设置目录权限。设置完成以后就能够开启samba共享服务了。
此时打开win7虚拟机,配置网卡确保两台虚拟机可以互联互通,而后在运行里面输入samba服务器的IP地址进行访问。
由于前面设置了能够写入的权限,因此任何用户在此目录下均可以写入文件。
回到linux上面使用“ls -l 文件目录”能够看到刚才建立的文件的权限,以及属主和属组为nobody,查看ID号为99。
下面开始作用户身份验证,一样要先配置security参数配置为user。
而后到行未配置共享文件的参数,共享名称为accp,在这里须要指定valid users可以容许访问的用户。
配置文件配置完成以后,首先要建立用户,若是只是为了共享建议不要设置用户密码,能够直接使用“smbpasswd -a 加用户名”设置用户的samba服务密码,而后是建立共享目录并设置权限。
配置完成此时须要从新启动samba服务,注意是重启。
win 7上面一样须要清空刚才访问的数据,以防有缓存做怪。
此时再使用一样的IP地址进行访问,提示你输入用户名和密码,输入刚才建立的用户名zhangsan以及samba密码进行访问。
此时不只能够看到共享文件目录,还能够看到本身的家目录,并且accp目录是能够写入的(在accp里面建立了一个文件222.txt)。
回到samba服务器的主配置文件中,删除writable表明全部用户均可以写入的参数,在下面添加一条只容许lisi进行写入的条目。
(重启linux的samba服务,清空win 7的缓存以后再进行登录)此时再使用刚才登录的zhangsan用户,在accp目录下建立文件表示已经没有权限了。
(重启samba服务,清空缓存以后再进行登录)然而使用lisi用户登录依然能够有写入权限。
下面编辑/etc/samba/smbusers文件,作samba用户的别名机制。
直接在下面添加“用户名 = 别名”就OK了。
再编辑samba的主配置文件,在全局配置中添加“username map =别名路径”应用别名机制。
又要重启samba服务,清空缓存以后再进行登录。
此时使用别名进行登录,跟直接使用lisi用户登录是一个效果。
一样能够建立文件,并且建立出来的文件的属主和属组都是lisi。
另外还能够在samba服务的主配置文件中作地址限制,有点像ACL,其中“hosts deny”表示拒绝,“hosts allow”表示容许。
此时在win7上不管是用什么用户都不可以访问samba服务,可是能够ping通。
下面是在linux上安装samba的客户端软件,安装完成以后使用“smbclient -L 加对方IP”就能够访问win 7上面的共享文件了。
经验总结:安装samba服务的软件包时注意不要错了。Samba主配置文件中的各类配置参数须要清楚,匿名访问和身份验证访问的参数别搞混了。还有就是权限问题,有时不能写入就要检查权限设置了。谢谢你们! 真的很辛苦的,支持一下了。