Linix-Samba VS Windows-共享&NTFS权限
实验背景
小诺公司由于部门业务的需求,需要使用windows和linux分别搭建文件服务器提供给员工共享资料。具体要求如下:
1、 公司目前有两个部门:财务部和工程部,要求建立财务部和工程部的共享文件夹,并且要求财务部共享文件夹只允许财务部里的员工访问,且只能下载,不允许上传和修改;工程部共享文件夹只允许工程部里的员工访问,且只能下载,不允许上传和修改。
2、 为了方便管理,需要给每个部门建立一个管理员,要求各个管理员对自己的部门文件夹具有所有的权限。
3、 由于公司里的一些规章制度以及一些时事新闻需要给所有员工共享,需要建立一个共享文件夹,并且只允许所有员工查看共享文件夹里的内容,不允许修改和删除等操作。为了管理方便,允许所有部门管理员对共享文件夹具有所有的管理权限。
实验网络拓扑图
组织结构图
实验步骤:
一、 Windows下文件服务器的实现过程
1、 在文件服务器上创建财务部管理员、财务部用户、工程部管理员、工程部用户。
打开“计算机管理”(可以在“运行”里输入“compmgmt.msc”命令打开),然后在“本地用户和组”里的“用户”里添加组织结构图里对应的用户(admin_caiwu、user_admin、admin_gongcheng、user_gongcheng)。
打开“计算机管理”(可以在“运行”里输入“compmgmt.msc”命令打开),然后在“本地用户和组”里的“组”里添加组织结构图里对应的组(caiwubu、gongchengbu、admins)。
添加各个部门管理员到组admins中。
添加财务部所有员工以及管理员到组caiwubu中。
添加工程部所有员工以及工程部管理员到组gongchenbu中。
2、 建立各个部门共享文件夹,并赋予相应的权限
分别创建三个共享文件夹(财务部资料、工程部资料、共享资料)然后打开“财务部资料”的“属性”并选择“共享 ”,删除默认的权限,然后添加财务部组以及财务部管理员,并赋予相应的权限。
打开财务部资料“属性”,并选择“安全”,然后添加财务部管理员以及财务部门组,并赋予相应的权限。
注:工程部的设置方法与财务部的相同。
打开“共享资料”的“属性”,选择“共享”,然后添加各个部门的管理员组以及everyone组,并赋予相应的权限。
打开“共享资料”的“属性”,并添加各个部门的管理员组,保留users组,然后赋予相应的权限。
3、 在测试客户机上使用UNC路径访问的方式分别使用各个用户进行权限的测试。
打开“运行”窗口,输入“\\文件服务器的IP地址或者主机名”
输入财务部的管理员用户以及对应的密码。
财务部管理员可以访问财务部的资料,并且可以下载和创建文件、文件夹。
财务部管理员不可以访问工程部资料。
财务部管理员可以访问共享资料,并且可以删除、创建文件和文件夹。
测试完成之后,需要使用“net use * /d”命令删除已有的远程连接,这样可以保证用户资料的安全性。否则,下一次访问,是不需要输入用户名和密码就可以访问上一次访问过的内容。
换一个工程部员工的用户访问共享文件夹。
工程部的员工可以访问工程部的资料,并且可以下载,但是不能够修改和创建文件、文件夹。
工程部的员工不能够访问财务部的资料。
工程部的员工能够访问共享文件夹的资料,但是不能够删除、修改、添加文件和文件夹。
二、 Linux下Samba服务器的实现过程
1、 编辑samba的主配置文件
默认samba服务已安装,直接配置就可以了。
在配置文件全局目录[global]中添加“dos charset = gb2312 , unix charset = gb2312”这个是为了保持windows和samba语言编码的通用性。否则,windows上传上来的文件夹如果是中文,则会显示为乱码。
默认的“security = user”不需要修改,要求用户访问samba服务器时需要输入用户名和密码。
默认的[homes]配置文件不需要修改,每个用户都由一个属于自己的共享目录,而且具有完全控制的权限。
添加三个配置文件[caiwubu]、[gongchengbu]、[share],并设置相应的路径path,public设置为no,这一项可以不设置,对[homes]有作用,并且设置writable为yes,保证所有用户对该目录具有写入的权限,不过用户最终访问共享文件夹的权限是配置文件中的权限和用户对文件夹访问权限的最严格权限的叠加。
2、 创建用户和组,并将用户添加到对应的组中。
分别创建三个组caiwubu、gongchengbu和admins。
创建组中对应的用户,并添加到对应的组中(命令:useradd –g 组名 用户名)。然后使用“smbpasswd –a 用户”创建samba服务器对应的用户以及密码。(注意:samba服务器使用的是另一套用户名和密码,组使用的还是系统中的组,并且用户名必须在系统中存在。)
3、 创建共享文件夹,并设置共享文件夹的访问权限以及属主、属组。
在home目录下创建public共享主文件夹,并设置其属主为root用户,属组为组admins,权限为755,root用户对public具有完全控制的权限,admins组中的用户以及其它用户具有读取的权限。
在主共享文件夹中创建各个共享子文件夹,并设置子文件夹的属主以及属组,要求共享文件夹share的属主为root,属组为admins。
设置共享文件夹caiwu以及gongcheng的权限为750(部门管理员具有完全控制的权限,组里的用户具有读取的权限,其它用户没有权限),share的权限为775(root和属组里的用户具有完全控制的权限,其它用户具有读取的权限)。
4、 在windows下修改smb.conf配置文件里的共享目录为中文字幕。
复制smb.conf到admin_caiwu的宿主目录中,然后通过admin_caiwu用户访问。
复制smb.conf到windows系统中,并编辑smb.conf中的共享目录为“中文字幕”。
注意:宿主目录中默认有隐藏的用户配置文件,如果服务器作samba服务器,这些配置文件是不需要的,因为不需要使用系统用户登录samba服务器。而这些配置文件是从/etc/skel/目录中复制过来的。可以将/etc/skel/中的隐藏文件删除掉,也可以删除掉,然后创建一个具有相同权限的同名文件夹。不做这一步也可以,只需要登录的用户自己删除就可以了。
编辑“主目录”为中文字幕,设置完成之后,再复制到caiwu_admin目录中,并且覆盖到/etc/samba/中。
覆盖完成之后,需要重新启动smb服务程序。使配置生效。
5、 在测试主机上使用各个用户进行测试。
删除已有的访问连接
继续输入财务部管理员的用户以及密码。
可以看到主目录以及变成中文字幕了。
财务部管理员可以访问财务部里的资料,同时也可以创建、删除以及修改财务部文件夹中的内容。
财务部管理员不允许访问工程部里的资料。
财务部管理员可以访问共享资料,并且可以修改、删除、添加文件或文件夹。
删除已有连接,并使用工程部普通用户user_gongcheng访问samba服务器。
工程部员工可以访问工程部资料,但是不能够创建、删除文件。
工程部员工不能够访问财务部里的资料。
财务部员工可以访问共享资料,但是不能够创建、删除、修改文件。
总结:
在现实网络中,windows和linux都可以搭建文件服务器,他们有什么不同之处吗?
Windows创建共享文件夹比较方便,容易理解,也容易控制,但是易感染病毒,不便于维护,要求安全性较高。Linux下的samba服务器权限设置比较困难,不便于理解,但是安全性较高,而且不易感染病毒,至少windows下的那一套病毒在linux下就等于普通文件。因为linux下就没有扩展名这一说,且病毒程序根本就没办法运行,即使用户上传上去病毒程序也很难在linux下发作。如果在Linux下搭建samba服务器,建议添加一块硬盘,然后挂载到共享目录public中,并且设置磁盘配额。Windows下如果共享文件夹过多,可以使用DFS将所有共享文件夹实现单点访问,也可以利用其DFS复制功能实现冗余备份,这个是windows下的一大优势。
本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/169679,如需转载请自行联系原作者