Samba之文件共享配置实例本例实现了不同的用户访问同一个共享目录具有不同的权限,便于管理和维护。基本上能满足一些企业用户的需求。一.需求1.某公司有5个大部门,分别为:人事行政部、财务部、技术部、市场部、生产部。2.各部门的文件夹只允许本部门员工有权访问;各部门之间交流性质的文件放到公用文件夹中。3.每个部门都有一个管理本部门文件夹的管理员账号和一个只能新建和查看文件的普通用户权限的账号。4.公用文件夹中分为存放工具的文件夹和存放各部门共享文件的文件夹。5.对于各部门自己的文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。不是本部门用户不能访问本部门文件夹。6.对于公用文件夹中的各部门共享文件夹,各部门管理员具有完全控制权限,而各部门普通用户可以在该部门文件夹下新建文件及文件夹,并且对于自己新建的文件及文件夹有完全控制权限,对于管理员新建及上传的文件和文件夹只能访问,不能更改和删除。本部门用户(包括管理员和普通用户)在访问其他部门共享文件夹时,只能查看不能修改删除新建。对于存放工具的文件夹,只有管理员有权限,其他用户只能访问。二.规划根据公司需求情况,现做出如下规划:1.在系统分区时单独分一个Company的区,在该区下有以下几个文件夹:HR、CaiWu、JiShu、ShiChang、ShengChan和Share。在Share下又有以下几个文件夹:HR、CaiWu、JiShu、ShiChang、ShengChan和Tools。2.各部门对应的文件夹由各部门自己管理,Tools文件夹由管理员维护。3.HR管理员账号:hradmin;普通用户账号:hruser。CaiWu管理员账号:caiwuadmin;普通用户账号:caiwuuser。JiShu管理员账号:jishuadmin;普通用户账号:jishuuser。ShiChang管理员账号:shichangadmin;普通用户账号:shichanguser。ShengChan管理员账号:shengchanadmin;普通用户账号:shengchanuser。Tools管理员账号:admin。文件夹之间的关系请见下图:三.SAMBARPM安装和启动在系统中使用rpm–qa|grepsamba和rpm–qa|grepsmb来查看系统有没有安装该软件,如果没有安装则挂载系统盘,找到samba软件包,使用rpm–ivhsamba*和rpm–ivhsmb*即可安装。使用RPM包安装后,samba的配置文件smb.conf默认在/etc/samba/下。使用servicesmbstart启动samba。使用chkconfig--level35smbon,可以使samba随系统一起启动。在/etc/selinux/config中将“SELINUX”项关闭,SELINUX=disabled。四.新建用户使用useradd命令新建系统账户,然后再使用smbpasswd–a建立SMB账户。[root@Samba/]#useradd–s/sbin/nologinjishuadmin[root@Samba/]#useradd–gjishuadmin–s/sbin/nologinjishuuser[root@Samba/]#useradd–s/sbin/nologinshichangadmin[root@Samba/]#useradd–gshichangadmin–s/sbin/nologinshichanguser[root@Samba/]#useradd–s/sbin/nologinshengchanadmin[root@Samba/]#useradd–gshengchanadmin–s/sbin/nologinshengchanuser[root@Samba/]#useradd–s/sbin/nologinadmin[root@Samba/]#smbpasswd–ahradmin[root@Samba/]#smbpasswd–ahruser[root@Samba/]#smbpasswd–acaiwuadmin[root@Samba/]#smbpasswd–acaiwuuser[root@Samba/]#smbpasswd–ajishuadmin[root@Samba/]#smbpasswd–ajishuuser[root@Samba/]#smbpasswd–ashichangadmin[root@Samba/]#smbpasswd–ashichanguser[root@Samba/]#smbpasswd–ashengchanadmin[root@Samba/]#smbpasswd–ashengchanuser[root@Samba/]#smbpasswd–aadmin五.新建目录[root@Samba/]#cdCompany[root@SambaCompany]#mkdirHRCaiWuJiShuShiChangShengChanShare[root@SambaCompany]#cdShare[root@SambaShare]#mkdirHRCaiWuJiShuShiChangShengChanTools六.更改目录属性使用chown命令更改目录的属主和属组。[root@Samba/]#cd/Company/[root@SambaCompany]#chownhradmin.hradminHR[root@SambaCompany]#chowncaiwuadmin.caiwuadminCaiWu[root@SambaCompany]#chownjishuadmin.jishuadminJiShu[root@SambaCompany]#chownshichangadmin.shichangadminShiChang[root@SambaCompany]#chownshengchanadmin.shengchanadminShengChan[root@SambaCompany]#chownadmin.adminShare使用chmod命令更改用户访问该目录的权限。[root@SambaCompany]#chmod1770HRCaiWuJiShuShiChangShengChan[root@SambaCompany]#chmod-R0775Share[root@SambaCompany]#cd/Company/Share/[root@SambaShare]#chownhradmin.hradminHR[root@SambaShare]#chowncaiwuadmin.caiwuadminCaiWu[root@SambaShare]#chownjishuadmin.jishuadminJiShu[root@SambaShare]#chownshichangadmin.shichangadminShiChang[root@SambaShare]#chownshengchanadmin.shengchanadminShengChan[root@SambaShare]#chownadmin.adminTools[root@SambaShare]#chmod1775HRCaiWuJiShuShiChangShengChan七.配置SambaSamba的配置文件在/etc/samba目录下,文件名为smb.conf。[root@Samba/]#cd/etc/samba[root@Sambasamba]#cpsmb.confsmb.conf.bak[root@Sambasamba]#vismb.conf[global]workgroup=WORKGROUPserverstring=SambaServerVersion%vnetbiosname=SAMBAlogfile=/var/log/samba/%m.logmaxlogsize=50security=userpassdbbackend=tdbsam[HR]comment=ThisisadirectoryofHR.path=/Company/HR/public=noadminusers=hradminvalidusers=@hradminwritable=yescreatemask=0750directorymask=0750[JiShu]comment=ThisisadirectoryofTechnology.path=/Company/JiShu/public=noadminusers=jishuadminvalidusers=@jishuadminwritable=yescreatemask=0750directorymask=0750[CaiWu]comment=ThisisadirectoryoftheMinistryofFinance.path=/Company/CaiWu/public=noadminusers=caiwuadminvalidusers=@caiwuadminwritable=yescreatemask=0750directorymask=0750[ShiChang]comment=Thisisamarketingdirectory.path=/Company/ShiChang/public=noadminusers=shichangadminvalidusers=@shichangadminwritable=yescreatemask=0750directorymask=0750[ShengChan]comment=ThisisadirectoryofProduction.path=/Company/ShengChan/public=noadminusers=shengchanadminvalidusers=@shengchanadminwritable=yescreatemask=0750directorymask=0750[Share]comment=Thisisasharedirectory.path=/Company/Share/public=novalidusers=admin,@hradmin,@caiwuadmin,@jishuadmin,@shichangadmin,@shengchanadminwritable=yescreatemask=0755directorymask=0755八.测试修改完smb.conf需要重启smb服务。[root@Samba/]#servicesmbrestart客户机通过UNC路径访问samba。如:\\sambaserverip,然后输入用户名和密码即可访问。有时候当我们要进入不同的samba目录,但是这些目录都有自己的密码设置时,如果我们在点击这个目录时输入访问该目录的用户名和密码时,会提示“不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次。”出现此问题是windows自身的限制,通常我们会注销当前windows用户,然后再重新登陆samba来访问其他目录。这样很麻烦,其实,我们可以在windows命令提示符下输入“netuse*/del/y”来切断你本机当前的所有远程连接。然后点击其他目录输入该目录用户名和密码即可正常访问了。如果还是有提示,那就多执行这个命令两次,或者刷新一下登陆samba的页面即可。本文出自“大浪淘沙”博客,请务必保留此出处