您的位置:首页 > 运维架构 > Linux

linux中samba服务器的全配置操作

2015-06-11 08:27 513 查看
1、配置匿名访问samba共享文件。
2、配置用户以身份验证的方式访问samba共享文件。
3、在samba的主配置文件中设置访问地址限制。
4、配置linux为samba客户端访问别人的共享文件。
首先介绍一下实验环境:开启两台虚拟机,linux-1作为samba共享服务器使用,win 7-1作为客户机使用来访问服务器上的共享文件,并且要有写入权限。



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



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



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



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



然后按“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主配置文件中的各种配置参数需要清楚,匿名访问和身份验证访问的参数别搞混了。还有就是权限问题,有时不能写入就要检查权限设置了。谢谢大家!

真的很辛苦的,支持一下了。

本文出自 “青鸟技术团@威” 博客,请务必保留此出处http://zhang2015.blog.51cto.com/9735109/1660691
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: