访问权限控制

2024-05-13

访问权限控制(精选七篇)

访问权限控制 篇1

在现今的信息系统中,访问控制变得越来越重要。访问控制能够有效地管理所有系统信息访问请求,并根据系统安全作出是否允许用户访问的判断。它能够保障有效的授权用户访问系统信息,避免非法用户访问系统信息。访问控制技术最早产生于20世纪60年代,随后出现了两种重要的访问控制技术:自主访问控制(Discretionary Access Control, DAC)和强制访问控制(Mandatory Access Control, MAC),当前在信息系统开发中更应该关注基于角色的访问控制(Role-Based Access Control, RBAC)[1]。

在基于角色的访问控制模型中,用户和权限之间引入角色的概念,使得用户与权限不直接建立关系,而是通过角色来实现用户和权限的多对多的对应关系。由于企业或事业单位具有大量的用户信息和复杂的组织结构,使得RBAC访问控制模型不能简单直接地应用到系统中,必须灵活使用。结合作者参与开发的基于WEB的某教育培训管理信息系统,谈谈如何灵活地在系统中应用RBAC访问控制模型。

1 基于角色的访问控制模型

基于角色的访问控制模型(RBAC)是由David Fenaiolo Richard Kuhn等提出的[1]。RBAC的几个相关基本概念[1]如下:

a) 用户 系统的使用者。

b) 角色 对应于组织中某一特定职能岗位,代表特定的任务范畴。

c) 权限 表示对系统中的客体进行特定模式访问的操作许可,在应用中许可受到特定应用逻辑的限制。

d) 用户分配与权限分配 用户分配指把角色分配给用户;权限分配指把权限分配给角色。传统的权限管理做法是把权限直接授予用户,用户与权限之间是多对多的对应关系。当用户与权限数量非常巨大时,若想给每个用户授予每个权限,工作量可想而知非常繁琐。例如1000个用户,1000个权限,授予权限的操作要进行1000×1000次。而基于角色的访问控制模型则是在用户与权限之间引入角色的概念,使得原来的工作变为给用户分配角色,给角色授予权限。而用户与角色之间,角色和权限之间都是多对多的关系,这样使得工作量大量减少。例如同样1000个用户,1000个权限,角色只有一种,给用户分配角色是1000次,给角色分配权限是1000次,总共进行了(1000+1000)次操作。虽然这是一个较极端的例子,但也不难看出引入角色后工作量大量减少。

文献[2]引入了一般化的基于角色的访问控制模型。然而对于习惯于使用基于角色的访问控制模型的人员来说,如果能够仅仅对传统的基于角色的访问控制模型进行一些概念扩展达到很好效果,无疑更好。部分基于访问控制的文献中也提到了RBAC在应用中的权限灵活设置,有基于多粒度的权限设置[3],然而仅仅对权限进行多类型划分并不能满足要求。本文提出在基于角色的访问控制模型基 础上扩展角色和权限等概念。

2 基本思想

2.1 扩展角色概念的角色设置

角色在RBAC访问控制模型中是权限的集合,指对应于组织中某一特定职能岗位,然而在实际应用中角色局限于此定义在有些情况下不利于权限管理。有如下情况:

1) 角色等同于组织内的全体成员。要求企业的某个部门D1中的人员全部拥有某个权限P,而在信息管理系统中一般情况下会存储人员与部门D1间的对应关系,这时如果再设置一个角色R表示部门D1的人员,反而会增加给用户设置角色的操作,此时可以使用一个虚拟的角色R2,建立R2与D1之间的关系,然后授权给R2权限P。

2) 角色指一个临时成立的用户组。企业内不同部门间成立临时用户组,即一个小组,以在一段时间内协助合作完成某项工作。若要给某个用户组G内的全体成员授予某种权限P,只需设置一个虚拟的角色R3,建立R3与G之间的关系,然后给角色R3授予权限P就可以达到效果。读者可能提出这样的疑问,用户组与部门有差别吗,两者是否重复。企业内人员不能同时属于两个不同部门。当需要一个部门的部分人员与另一个部门的部分人员在一段时间内合作完成一项工作时,如果分别给这两个部门分配权限,则安全性得不到保障。这时建立临时工作G,并把需要的人员加入进来,使用虚拟角色R3,建立R3与工作组G的对应关系,能够满足安全性和方便性需求。

3) 除了特殊的情况,当然可以创建代表职务的角色R1。

在某教育培训管理系统中,初始创建的角色系统管理员可以动态创建以上三种角色,即代表职务的角色R1、代表企业组织内成员的角色R2、代表用户组成员的角色R3。扩展角色概念可以减少大量的工作量,并灵活方便地对系统进行访问控制。

2.2 扩展权限概念的权限设置

权限在RBAC访问控制模型中表示对系统中的客体进行特定模式访问的操作许可。实际应用中权限扩展到多个层次的操作许可,能够使系统灵活、简便地完成访问控制。因此本文提出将权限的概念扩展到多层次的权限。

对于基于WEB的信息管理系统,多层次权限的概念尤其有用。基于WEB的信息管理系统中,一般会根据所管理的领域不同分成几个不同的模块。模块中包含管理实体的页面,而管理实体的页面无外乎有增加、删除、修改(编辑)、查看等基本操作。系统有些角色只需要授予其中基本操作中的几个操作权限;有些角色却需要授予某个模块的所有操作权限。

对于基于WEB的信息管理系统,本文提出如下几个层面的操作权限:

1) 基于模块的操作权限 模块指系统中对某一领域进行管理的页面集合,如果直接分配模块权限给角色,则简化分配的工作量。模块权限记做Pm[i]。例如,在某教育培训管理系统中,主要有如下模块:系统设置管理模块、组织结构管理模块、培训学习管理模块、考试评估管理模块、教育管理模块。因此,若直接分配模块权限,能够灵活地分配权限。

2) 基于功能节点页面的操作权限 功能节点页面指系统中对实体进行管理的页面。实体是指客体,即培训班、试卷、教师、人员、部门等。功能节点页面权限记作Pf。它包含于某个模块,即某个模块权限包含功能节点页面权限。例如,在某教育培训管理系统中的教育管理模块中包含的功能节点有教师信息管理、培训班管理、学历学位管理等。

3) 基于操作的权限 基于操作的权限指对某个客体进行操作的权限,即对客体的增加、删除、修改、查看等操作的许可。操作的权限记作Pc。它包含于某个功能节点页面中,即某个功能节点页面的权限包含操作的权限。

上面三种权限是依次包含关系,在不同层次上,模块权限Pm包含功能节点页面权限Pf,功能节点页面权限Pf包含操作的权限Pc。

2.3 为用户分配角色

用户指所有使用系统的人员。用户记作U。

对于上文提到的三种角色,分别接情况说明如何为用户分配角色。系统中存在角色A和角色B不能同时授予用户U,则称角色A和角色B是互斥角色。这种角色互斥常出现在代表职务的角色R1中,例如,用户U不能同时是申请人和审核人。

1) 代表职务的角色R1

为用户U分配代表职务的角色R1,首先检查是否存在与要分配角色互斥的角色,若没有,直接建立用户U与R1间的对应关系;若存在互斥角色,则向用户提示出现角色互斥,拒绝分配。

2) 代表企业组织内成员的角色R2

为用户U分配代表企业组织内成员的角色R2,由于一般情况下系统中会存储用户U与组织部门D之间的对应关系,因此只需建立组织部门D与角色R2的对应关系。这种情况同样存在互斥角色,处理方法同上。

3) 代表用户组成员的角色R3

为用户U分配代表用户组成员的角色R3,首先建立用户U与用户组G的对应关系,然后建立用户组G与角色R3的对应关系。这种情况不存在互斥角色,用户可以同时属于两个不同的用户组。

2.4 为角色分配权限

由于为不同类型的角色分配权限操作相同,因此下面对于角色统一用R标记,分别对三种不同层次的权限分情况说明如何分配。

1) 为角色R分配模块权限Pm。

建立权限Pm与角色R间的对应关系。

2) 为角色R分配功能节点页面权限Pf。

首先检查要分配的功能节点权限Pf是否包含于已为角色R分配的模块权限集,如果要分配的功能节点权限Pf不包含于已为角色R分配的模块权限集,建立权限Pf与角色R间的对应关系。

3) 为角色R分配操作权限Pc。

首先检查要分配的操作权限Pc是否包含于已为角色R分配的模块权限集,是否包含于已为角色R分配的功能节点权限集,如果全都不包含,则建立权限Pc与角色R之间的对应关系。

此外,为了权限授予的方便,本文在提出多层次权限的基础上引入屏蔽权限的概念,可以屏蔽授予角色的权限的一部分。

权限屏蔽——存在某种权限P包含权限P1……Pi……Pn,存在一个角色R。若要分配给角色R权限P1……Pi-1,Pi+1……Pn,其中1≤i≤n。将权限P分配给角色R,并使得角色R不具有权限Pi,即对角色R屏蔽权限Pi,称为权限屏蔽。

例如,假设模块权限Pm中包含N个功能节点权限,若要授予角色R模块权限Pm中的N-i个功能节点权限(其中N,i 是自然数,N≥i),当然可以通过依次授予功能节点权限的方法解决问题。但如果N=100或更大的数字,且i=10或更小的数字时,依次授予角色R功能节点权限的方法效率太低。引入屏蔽权限的概念,可以对角色R屏蔽模块权限Pm中的三个功能节点权限。

引入权限屏蔽后,基于WEB的信息系统权限分配的流程变为,首先选择要分配权限的角色R,然后再分三和情况分配权限,即模块权限Pm、功能节点权限Pf、操作权限Pc。若给角色R分配模块权限,选择要分配的模块权限Pm[i],分配给角色R,再看是否要屏蔽部分权限,若不需要,则完成一次分配;若需要,选择要屏蔽的部分权限,屏蔽该权限。若给角色R分配功能节点权限Pf,选择要分配的功能节点权限Pf[i],分配给角色R,与分配模块权限时相同也要查看是否要屏蔽部分权限。若给角色R分配操作权限Pc,选择要分配的操作权限Pc[i]分配给角色R。

引入本文提出的扩展角色与权限的概念和权限屏蔽后,在基于WEB的信息系统中用户、角色和权限的关系如图1所示。

在引入权限屏蔽概念后,本文提出的扩展角色与权限的RBAC访问控制模型如图2所示。

图2中会话指用户与角色之间关系函数。用户与扩展的角色之间、扩展的角色与多层次的权限之间用双箭头表示它们之间是多对多关系,在为角色分配权限时用到权限屏蔽。

扩展权限的层次,并且引入权限屏蔽的概念,可以灵活地对权限进行高效地分配。

3 结束语

本文描述了在实际应用中如何灵活应用基于角色的访问控制模型RBAC,并对RBAC中角色和权限的概念进行扩展,引入权限屏蔽的概念。在我们参与开发的基于WEB的某教育培训管理系统中也应用了对角色和权限概念进行扩展和引入权限屏蔽后的RBAC访问控制模型,实践表明,这种思想能够更加灵活、高效地对信息系统进行权限访问控制。

参考文献

[1]王亚民.基于RBAC的信息系统访问控制模型[J].情报技术,2005(10).

[2]Matthew J Moyer,Mustaque Ahamad.Generalized Role-Based AccessControl[J].IEEE,2001.

访问权限控制 篇2

其实,除了在图形用户界面下对文件或文件夹的访问控制权限进行设置外,我们还可以在命令行方式下完成这项工作,这在由于某些原因无法进入图形用户界面时特别实用,虽然使用时有些麻烦,但却可以救急。

一、使用Cacls.exe命令

这是一个在Windows /XP/Server 2003操作系统下都可以使用的命令,作用是显示或者修改文件的访问控制表,在命令中可以使用通配符指定多个文件,也可以在命令中指定多个用户。命令语法如下:

Cacls filename [/T] [/E] [/C] [/G usererm] [/R user [...]] [/P usererm [...]] [/D user [...]]

Filename:显示访问控制列表(以下简称ACL)

/T:更改当前目录及其所有子目录中指定文件的ACL

/E:编辑ACL而不替换

/C:在出现拒绝访问错误时继续

/G Userer:perm:赋予指定用户访问权限,Perm代表不同级别的访问权限,其值可以是R(读取)、W(写入)、C(更改,写入)、F(完全控制)等。

/R user:撤销指定用户的访问权限,注意该参数仅在与“/E”一起使用时有效。

/P user:perm:替换指定用户的访问权限,perm的含义同前,但增加了“N(无)”的选项。

/D user:拒绝指定用户的访问。

实例一:查看文件夹的访问控制权限

例如,这里我们希望查看h: emp文件夹的访问控制权限,那么只需要在“开始→运行”对话框或切换到命令提示符模式下,键入如下命令:Cacls h: emp

此时,我们会看到所有用户组和用户对h: emp文件夹的访问控制权限项目,这里的CI表示ACE会由目录继承,OI表示ACE会由文件继承,IO表示ACI不适用于当前文件或目录,每行末尾的字母表示控制权限,例如F表示完全控制,C表示更改,W表示写入。

如果你希望查看该文件夹中所有文件(包括子文件夹中的文件)的访问控制权限,可以键入“Cacls h: emp .”命令。

实例二:修改文件夹的访问控制权限

假如你希望给予本地用户wzj9999完全控制h: emp文件夹及子文件夹中所有文件的访问权限,只需要键入如下命令:

Cacls h: emp /t /e /c /g wzj9999:f

这里的“/t”表示修改文件夹及子文件夹中所有文件的ACL,“/e”表示仅做编辑工作而不替换,“/c”表示在出现拒绝访问错误时继续,而“/g wzj9999:f”表示给予本地用户wzj9999以完全控制的权限,这里的“f”代表完全控制,如果只是希望给予读取权限,那么应当是“r”,

实例三:撤销用户的访问控制权限

如果你希望撤销wzj9999用户对h: emp文件夹及其子文件夹的访问控制权限,可以键入如下命令:

cacls h: emp /t /e /c /r wzj9999

如果只是拒绝用户的访问,那么可以键入如下命令:

cacls h: emp /t /e /c /d wzj9999

二、使用增强工具xcals.exe

在windows 2000资源工具包中,微软还提供了一个名为xcacls.exe的文件控制权限修改工具,其功能较cacls.exe更为强大,可以通过命令行设置所有可以在windows资源管理器中访问到的文件系统安全选项,我们可以从www.microsoft.com/windows2000/techinfo/reskit/tools/existing/xcacls-o.asp下载,安装后即可使用。

xcacls.exe命令的语法和参数与cacls.exe基本相同,但不同的是它通过显示和修改文件的访问控制列表(acl)执行此操作。在“/g”参数后除保持原有的perm权限外,还增加了spec(特殊访问权限)的选项,另外还增加了“/y”的参数,表示禁止在替换用户访问权限时出现确认提示,而默认情况下,cacls.exe是要求确认的,这样在批处理中调用cacls.exe命令时,程序将停止响应并等待输入正确的答案,引入“/y”参数后将可以取消此确认,这样我们就可以在批处理中使用xcacls.exe命令了。

实例一:查看文件或文件夹的权限

在“开始→运行”对话框或切换到命令提示符模式下,注意请事先将“c:program files esource kit”添加到“系统属性→高级→环境变量→系统变量”中,或者通过cd命令将其设置为当前路径,否则会提示找不到文件,然后键入如下命令:

xcacls h: emp

此时,可以查看到所有用户组或用户对h: emp文件夹的访问控制权限,io表示此ace不应用于当前对象,ci表示从属窗口将继承此ace,oi表示从属文件将继承该ace,np表示从属对象不继续传播继承的ace,而每行末尾的字母表示不同级别的权限,例如f表示完全控制,c表示更改,w表示写入。

实例二:替换文件夹中的acl而不确认

xcacls h: emp /g administrator:rw/y

以上命令将替换h: emp文件夹中所有文件和文件夹的acl,而不扫描子文件夹,也不会要求用户确认。

实例三:赋予某用户对文件夹的控制权限

xcacls h: emp /g wzj9999:rwed;rw /e

以上命令将赋予用户wzj9999对h: emp文件夹中所有新建文件的读取、写入、运行和删除权限,但需要说明的是,这条命令只是赋予了用户对文件夹本身的读写权限,而不包括子文件夹下的文件。

访问权限控制 篇3

在传统权限管理的访问控制模型中是通过直接为用户授予相关操作权限来实现用户对数据资源的存取, 当用户的职责发生变化时, 就需要管理员来修改用户的权限, 这是一种低层次的安全管理方式, 用户权限不能根据企业组织的结构形式来进行划分, 而基于角色访问控制 (RBAC) 则是通过用户角色控制用户权限的改变, 能够在较高的层次上实现权限的安全管理。RBAC是根据整个企业组织结构中不同岗位职责进行角色划分的, 而并非针对具体的某个用户划分权限, 即资源的访问许可是通过角色来获取的, 利用角色层次结构将用户与权限联系起来, 当用户成为其相应角色的成员时便可以获得该角色所拥有的权限, 从而在很大程度上简化了用户与权限的管理。图1即为传统访问控制与RBAC的对比:

在RBAC中, 在用户和访问许可权之间引入角色 (role) 的概念, 用户与特定的一个或多个角色相联系, 角色与一个或多个访问许可权相联系, 角色可以根据实际的工作需要生成或取消, 而用户可以根据自己的需要动态地激活自己拥有的角色, 避免了用户无意中危害系统安全。

当今社会中大型信息系统应用于社会的各个方面, RBAC技术由于引进了对角色和层次化的管理, 针对用户数量庞大, 系统功能不断扩充的大型信息系统特别适用, 为大型可扩展信息系统的提供了安全管理方案。

1 基于RBAC的权限访问技术应用

RBAC模型作为一个较新的权限访问技术, 通过角色配置用户和权限, 增加了灵活性;支持多管理员的分布式管理;支持由简到繁的层次模型, 适合各种安全需要;完全独立于其它安全手段, 是策略中立的。

实践是检验真理的唯一标准, RBAC模型自产生以来一直应用于各种信息系统, 经受住了实用性的检验。首先, 企业结构可以很直观地通过角色和角色层次映射到信息系统中, 非常简洁而且易于应用。其次, 一旦权限初始化设置好以后, 就不需要再做大幅度的调整与修改。因为直接与权限相对应的是角色, 而非用户, 企业内部的人员可能会调动频繁, 但是岗位职责本身却是很少变化的。由于权限控制是基于岗位职责的而不是基于职员的, 所以权限控制机制不会随着人员的调动而产生太多的影响。而且, 由于RBAC模型支持访问权限的委托机制, 使得其更加适用于企业。例如, 当系统管理员需要请假时, 他只需要简单地将系统中管理员这个角色转授于其他用户, 即可将他所拥有的管理权限临时交给另一个职员来代理, 而无需其他繁琐的步骤就能完成, 十分方便。这些特点使RBAC模型非常适合应用于大型的企业信息系统。

2 权限管理子系统的解决方案

权限管理系统的目标就是要将权限管理独立出来, 在RBAC模型上, 建立起新的权限管理系统, 外部应用只要通过调用系统提供的接口, 来实现权限管理的通用性。同时, 本系统更要考虑到可扩充性。为此, 系统内部要实现下列功能:

2.1 权限主体的管理

系统要能够管理用户, 例如添加新的用户, 能查询用户的信息, 对于用户还要实现删除和修改等。在用户的权限方面, 要能实现有效的管理。

2.2 资源管理

系统必须要能做好资源的配置, 因为外部应用各种各样, 因而资源的管理要做到具有很好的可扩展性。

2.3 角色管理

角色分离了权限管理和权限, 必须能很好的定义角色, 同时要能实现角色的诸多操作。

2.4 权限管理

要建立起用户对资源的访问机制, 实现可靠、并可扩充的权限管理功能。

为了提高整个系统的安全性, 需要限定可以登录系统的人员范围, 同时对于可以登录的人员需要限定其可见的菜单和数据范围。权限系统即是否可以满足这个需求。权限管理系统的功能如下:

验证登录用户信息, 确定其是否可以登录系统。确定登录职员可见的业务系统菜单和数据范围。提供登录职员的属性信息给业务系统。职员, 角色等信息的维护。记录系统操作日志并提供查询功能。

用户向框架提出登录申请, 框架通过权限系统对登录职员的用户名密码等信息进行验证, 权限系统向框架返回验证结果, 同时确定登录人员的权限范围。登录成功后, 权限系统向业务系统提供认证及其它数据信息。权限系统和框架及其他业务系统之间的关系如图2所示。

3 基于RBAC的权限管理系统设计

权限管理系统的物理设计是包括人员管理、权限管理、角色管理、功能管理和日志管理五个部分。

3.1 人员管理模块

本模块管理职员信息, 包括增加、修改、删除、查询、权限微调、密码恢复、权限及查看功能。人员管理模块操作员表结构表1所示。

3.2 日志查询模块

本模块用于操作日志查询。

提供的查询条件包括菜单, 起始时间, 终止时间, 职员账号, 描述。通过页面提供的区域树和菜单树选择查询的区域范围和菜单, 选择起始时间和终止时间确定查找的时间范围, 查询结果列表信息包括:职员账号, 操作时间, 系统菜单, 功能菜单, 按钮。系统提供查看详细信息的功能, 详细信息包括:操作人员工号、操作人员姓名、登陆时间、退出时间、登陆主机IP地址、操作类型、操作对象、操作动作、操作结果, 详细信息描述等。

日志管理模块工作记录表结构如表2所示。

3.3 权限管理模块

在系统中添加, 修改, 删除, 查询系统的功能信息, 如子系统, 菜单, 按钮, 页面组件等信息。

这项功能在系统升级时会用到, 但通常的系统升级会有功能信息的初始化数据直接写表。所以该功能在系统维护时用的也比较少, 查询用到的比较多, 查询功能的详细。

权限管理模块账户权限微调表结构如表3所示。

3.4 角色管理模块

本模块完成对功能角色的维护, 包括功能角色的查询, 增加, 修改, 删除 (先修改角色状态为无效) , 角色合并, 查看权限和对角色的赋权。

角色管理模块角色表结构如表4所示。

3结束语

RBAC模型是目前国际上流行的安全访问控制方法, 本文基于RBAC构建一个通用的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的权限管理系统。在今后的应用中, 随着用户对信息系统安全控制要求的不断提高和细化, 权限的管理和控制还有待进一步的研究和探讨。

摘要:本文对比传统权限管理的访问控制模型, 研究了RBAC的权限访问技术, 提出了权限管理子系统解决方案, 并设计了一个基于RBAC的权限管理系统, 从而在信息系统中实现使用者即操作员对整个系统的统一管理。

关键词:权限管理,RBAC,模型

参考文献

[1]孙群.多组织多用户条件下基于角色的访问控制[D].[硕士论文].济南:山东大学, 2005.

[2]孔小萌.基于RBAC多层集中式信息授权管理系统设计[J].南通航运职业技术学院学报, 2009, 8 (1) :93-96.

巧妙设定光驱网络的访问权限 篇4

正文:在Win/服务器平台中,我们可以很方便地使用NTFS磁盘格式为硬盘上的资源进行用户访问保护,有效地保护资料的安全。而对于数据读取设备中的光盘驱动器来说,由于硬件特殊性,一般只能设定网络访问客户端进行权限设定,而对于本地用户却不能做到分门别类加以对待,其实我们完全可以通过一种变通的方法来完成用户访问权限的设定,当然方法也很简单。

先找到系统的管理工具打开计算机管理,在界面中单击磁盘管理进行设定。找到“cd-rom”选项,单击右键选择更改驱动器名及路径命令,在原有的光驱盘符下点选“删除”,然后将驱动器添加在系统的一个NTFS分区上,选择或新建一个空文件夹按“确定”(比如在E盘上建一个cdrom目录),将驱动器的路径重新指定。

完成上述设定后,放入一张光盘,再次打开我的电脑时会发现原来的光驱盘符已经消失了。这时要访问光盘上的资源,我们需要来到E盘找到刚才指定的那个cdrom目录 ,现在光盘的图标就有了,点击进去随后会发现不停闪亮的光驱指示灯,现在隐藏的光盘上的信息立刻就可以呈现在眼前了,这时再对目录进行完权限指派,就可以立刻实现光驱本地的访问权的用户控制了,以后本地用户如果没有相应的权限,是不能完全控制使用光盘(包括光盘刻录),当然如果哪天需要取消这一安全措施,只要按本文方法逆向操作即可。

访问权限控制 篇5

Linux是应用广泛的多用户操作系统, 从系统的安全性考虑, Linux通过给文件赋予所有者和访问权限, 实现对文件的安全管理。本文针对Linux中文件的访问权限、约定权限、权限掩码含义及计算方法展开讨论, 阐述访问权限的设置方法, 明晰文件的约定权限、权限掩码和访问权限的关系。

2 文件访问权限及设置方法

文件访问权限是指文件所有者u (user) 、文件所属组g (group) 和其它用户o (others) 对文件的读 (r) 、写 (w) 和执行 (x) 权限, 简称ugo (user group others) 权限。所有者是对文件具有所有权的用户, 所属组是文件所属的用户组, 其它用户是除所有者和所属组成员以外的用户。在Linux中, 用户与组密不可妥, 因此, Linux按文件所有者、文件所属组和其它用户来设定文件的访问权限。

在Linux中, 文件的访问权限由10个字符组成, 第1个字符表示linux系统支持的文件类型, 主要包括普通文件 (-) 、块设备文件 (b) 、命名管道文件 (p) 、目录 (d) 、链接文件 (l) 、字符设备文件 (c) 和套接字文件 (s) 。第2至4个字符表示文件所有者权限;第5至7个字符表示文件所属组权限;第8至10个字符表示其它用户的权限。

例如:查看当前用户对文件file的访问权限。

#ls–l file

-rwxrwxr--3 root root 2048 3月12 22:12 file

结果显示file是一个普通文件, 文件所有者和文件所属组对file有rwx权限, 其它用户对file有r权限。

在实际应用过程中, 文件所有者可以使用chmod命令设置文件的访问权限, Chmod命令有两种方式:一种是字符方式, 另一种是数字方式, 所谓数字方式是指将rwx权限分別用4、2、1表示, 沒有授予权限用0表示, 然后把所授予的权限对应的数字相加, 形成3位八进制数的组合来表示文件的访问权限。

字符方式的基本语法:chmod[ugoa]+|-|=[rwx]文件|目录

参数说明:+|-:是在原有权限设置的基础上, 增加或取消权限;

=:是赋予文件或目录新的权限;

u表示文件的所有者;

g表示文件所属组;

o表示其它用户;

a表示全部用户;

数字方式的基本语法:chmod nnn文件|目录

参数说明:

三个n分别代表文件拥有者、文件所属组和其它用户对文件的权限, n的取值要么是0 (无权限) , 要么是赋予了相应权限所对应的数值累加和。

例如:设置文件file1的访问权限, 使文件所有者 (u) 和文件所属组 (g) 对file2有rwx (7) 权限, 其它用户 (o) 对file2有r (4) 权限

字符方式设置访问权限:#chmod ug=rwx, o=r file1

数字方式设置访问权限:#chmod 774 file1

3 文件访问权限、约定权限、权限掩码的关系

在LINUX中, root用户登录系统, 建立文件和目录的访问权限分别为644和755;普通用户登录, 建立文件和目录的访问权限分别为664和775, 两类用户建立的文件和目录访问权限不同, 与LINUX的权限掩码有关。

为了提高文件系统的安全性, 方便用户权限设置, Linux设置了权限掩码 (umask值) , root用户和普通用户登录系统, 权限掩码默认分别为022和002, 在终端上输入umask命令可查看系统当前的权限掩码。在不考虑权限掩码的情况下, Linux约定, 新建文件和目录的权限为666和777, 我们称为之为约定权限。在系统给定权限掩码的情况下, 新建文件和目录的访问权限为:文件和目录的约定权限666 (777) 与权限掩码值取反后作逻辑与运算, 得到文件和目录的访问权限。

4 结束语

LINUX中文件的访问权限, 是通过系统给定的文件约定权限与权限掩码取反后作逻辑与运算生成的, 而不是二者简单的相减。通过权限掩码, 可以方便地为文件赋予访问权限, 从而方便用户对文件系统的维护, 提高了文件系统的安全性。

参考文献

[1]潘志安.Linux操作系统应用.高等教育出版社, , 2010.12, ISBN:978-7-04-027800-2.

绩效考核系统中用户访问权限设计 篇6

绩效考核系统的数据访问量一般都很大,并且大量的数据信息存储于数据库服务器平台。因为该系统用户种类繁多,不同种类的用户所具有的权限也不尽相同,并且系统的重要数据信息都是处于集中存放的状态,且被大量的用户所共享使用。正因为如此,我们在开发绩效考核系统的过程中不得不认真考虑系统用户访问权限控制这一重要问题。本文所讨论的就是在绩效考核系统中如何实现用户访问权限控制的问题。

1 系统功能及用户角色的分配设计

基于角色的访问控制 (RBAC) 是20世纪90年代初提出的一种新的访问控制技术,该访问控制技术主要是进行面向企业级安全策略的一种访问控制技术。其核心的思想是信息系统的各种访问操作权限不直接分配给具体的系统用户,而是在系统用户与系统权限之间建立一种对应的关联关系,也就是我们所说的角色对应关系。首先将系统的功能进行整理分类,使每一种用户角色对应一组相应的系统操作。系统用户如果被分配了一定的角色,也就将该角色所具有的访问控制权限分配给了该用户,那么该用户就拥有一定的系统操作权限。这种系统功能角色分配的方式在实际应用中有许多的优点,每次创建新用户的时候我们不必进行繁琐的系统权限分配操作,只需将所创建的新用户指定相应的角色即可。其次,当我们需要改变某一类用户权限时,也不必对这些用户进行一一的修改,只需要改变这些用户所对应角色的权限即可。这样就大大的简化了用户权限的管理,减少了系统不必要的开销。

1.1 用户角色级控制

角色是一个抽象的概念,最早来源于戏剧,用来说明个体在舞台上的身份及其行为。在一个企业和团队中角色还代表着一定的职务,在实际的工作中一个具体的职务具有处理某种事务的权利,也就是该职务所具有一定的功能。因此从角色和权限之间的关联关系来看,角色指的是拥有某种权限的集合;从角色与用户的关联关系来看,角色是指具有相同身份的一类用户的集合。角色、权限和用户它们三者之间的关系,充分说明了角色级访问控制在系统中的应用。

由于绩效考核系统中用户的种类繁多,并且许多的用户具有完全相同的使用权限,如果逐一得给每一个用户分别指定系统使用权限,那么势必会大大增加系统管理的难度,增加许多不必要的工作量。因此,根据用户权限的不同,在数据库中建立了用户组表UserGroup,用来描述一组具有相同系统使用权限的用户,也就是利用UserGroup表对用户进行角色分配。再根据用户组功能的不同,分别赋予各个用户组不同的权限,也就是将角色映射到不同的权限集合上。在数据库中我们使用用户组权限表GROUP_POPE-DOM来进行系统功能的描述。然后根据部门的不同将不同的角色分配给不同的系统用户,这样就保证了用户登录时只能访问到其具有相应角色权限的数据信息,从而大大简化了用户的管理,提高了系统的安全性。

1.2 企业部门级控制

部门级安全性控制是指在一定的资源共享的前提下,一个部门的用户不能操作另外一个同等级别部门的某些关键数据,但允许高级别的用户操作访问低级别部门的数据。

比如某一用户a为企业某一部门A的普通员工,在该用户a登录系统时,系统会通过部门过滤将该部门级别以外的信息过滤掉,使其不能访问到A部门以外与该用户无关联的数据信息;然后还需要用到角色权限控制不允许他访问到A部门内与用户a角色不相符合的数据信息。而用户admin为绩效考核系统管理管理员,应允许其访问各个部门的数据。因此部门级控制实际上是要实现上级部门用户能访问和修改下级部门的数据,但不允许下级部门访问和修改上级部门的数据,也不允许同等级别部门用户之间相互操作对方的关键数据,其原理就像企业中的上下级层次管理结构一样。

2 系统用户访问的登录设计

系统访问控制是系统安全机制的重要组成部分,信息网格中访问控制的主要功能是防止非法的主体进入受保护的网格资源、允许合法的用户访问受保护的网格资源、防止合法的用户对受保护的网格资源进行非授权的访问。

在绩效考核系统中用户登录所涉及到的数据表包括用户信息表、用户权限表、系统功能表、用户组表和用户组权限表,他们之间的关系如图1所示。

该系统的用户访问登陆设计可以用以下步骤来进行描述:1) 分配角色,将系统用户分成若干个用户组,即角色划分;2) 给用户组分配系统功能,也就是指定角色的权限;3) 用户注册,在用户注册时给用户分配角色,指定所属用户组;4) 通过用户权限表对于个别特殊的用户进行访问权限调整;5) 获取用户登录口令,进行登录。

在系统用户访问信息系统时也会出现这样的问题:普通的系统用户需要查看一些重要信息,而系统管理员无法到达现场就需要委托其他工作人员打开其权限访问区域,这时就要把密码告诉给其他人,也就是把自己的权限交给了他人。将密码告知给别人需要承受一定的风险。解决上边所说的问题我们采用了授权密码控制的方式,设计如下:登录时先选择角色,然后每个角色有两个登录口,一个登录口使用原密码,另外一个使用授权密码,不同人员授权的密码访问权限也不相同。考虑到有限授权密码的使用同样存在着安全隐患,授权密码只能使用一次,引入随机生成密码方式,每次授权使用完毕又随机生成方式生成新的密码。访问记录:每次使用授权密码访问时,启用日志记录方式记录登录者的行为,并且权限内不能做删除日志操作,以便管理员查看。

3 结论

该访系统问权限设计通过角色的分配管理,可以有效地避免非法用户登陆该信息管理系统,对于那些不经常登录或者有破坏数据安全倾向的用户可以进行删除和禁用,也可以根据需要将某些禁用的用户取消禁用等,所以在信息系统的安全管理中起到了非常重要的作用。该设计方案使得不同类别的管理人员和操作人员能充分、有效而且合理地使用本绩效考核系统,不但能够充分的发挥该系统的优越性,而且在一定程度上还保证了系统的安全性。

参考文献

[1]Clemens Szyperski.构件化软件——超越面向对象编程[M].王千祥, 译.2版.北京:电子工业出版社, 2004:38-39.

[2]黄柳青.走向面向构件[J].程序员, 2005 (4) :133-135.

[3]Iyad Alshabani, Riehard Olejnik, Bernard Toursel.Component-oriented Programming over GRID with CCADAJ[C].IEEE Computer SOS, 2006.

访问权限控制 篇7

在专业的数据库软件开发中, 为了确保数据库中信息的安全, 往往要求对使用数据库的用户设置不同的权限和访问密码, 以防止未经系统管理员授权的用户访问和修改重要数据。而Access数据库作为一个文件型的小型数据库, 本身并没有设置用户权限的功能。在Access的表中, 不同的用户可以对一个表的任何记录作访问和修改, 为了在Access中实现A用户新建的记录只允许A用户修改, B用户对A用户建立的记录只能读不能写这个功能, 我们可以使用VBA对Access数据库进行编程, 完成权限设置这个功能。

本文通过对一个在windows局域网中使用的Access数据库应用系统的分析, 详细介绍如何使用VBA语言实现Access数据库记录级的读写权限设置。

1 系统设计

由于采用单一的Access数据库无法实现对数据的权限分级保护, 因此系统采用C/S模式。放在服务器端的Access文件是存储着所有数据的主数据库Db1.mdb, 这个Access文件使用密码加密, 密码设定为123456。而Access文件User1是作为访问存储着所有数据的db1.mdb数据库的客户端使用, 放在用局域网相连的各个客户机上。所有的VBA代码都是在User1中编写, 包括访问Db1.mdb的密码。

为了能够保护写在代码中的访问Db1.mdb的密码, User1这个Access文件要经过编译, 形成User1.mde文件再正式使用。编译过的User1.mde文件把存储有Db1.mdb文件访问密码的VBA代码转化为二进制形式, 这样就可以使用户无法看到Db1.mdb文件的访问密码, 避免用户直接打开Db1.mdb文件, 破坏里面的数据。

2 关键技术

2.1 映射网络驱动器

映射网络驱动器, 就是将windows局域网中的某个目录映射成本地驱动器号, 即把网络上其他机器的共享的文件夹映射成自己机器上的一个磁盘, 以方便客户端的VBA程序访问服务器上的Access数据库。本系统使用1台装有win2003的电脑作为服务器, 3台装winXP的电脑作为客户端。这4台电脑通过局域网相连接, 共同使用U1作为用户名登录, 密码都是abcdef。作为主数据库的Db1.mdb文件存放在装有Win2003系统的服务器的D盘data文件夹中。在W in2003中把文件夹data设为共享访问, 设定权限为只有U1用户使用abcdef密码才可以登录, 并把“更改”与“读取”两项勾上。作为客户端的User1.mde文件存放在3台装有WinXP系统的电脑上, 并使用XP的网上邻居功能把win2003上的data文件夹映射成本机上的T盘, 每个客户端只需访问T:Db1.mdb就可以访问服务器中的Db1.mdb数据库。

2.2 使用DAO访问带有密码的Access数据库

客户端User1.mde文件要访问设有密码的Db1.mdb数据库, 必须通过编写VBA代码来实现。Access2003访问数据一般通过DAO (Data Access Object数据访问接口) 或是ADO (Active Data Object) 两种方式。由于采用ADO方式访问Access, 会有数据更新延时的问题, 所以本系统采用DAO来连接带有密码的Db1.mdb数据库。

使用DAO连接密码为123456的Db1.mdb数据库, 代码如下:

‘strPath为目标数据库的路径

strPath="T:Db1.mdb"

‘使用密码123456打开服务器中的Db1.mdb文件

S e t d b 1=D B E n g i n e.OpenDatabase (strPath, false, False, ";pwd=123456")

db1.Execute strSql

2.3 通过VBA访问权限表实现用户权限管理

主数据库Db1.mdb中设置一个权限表, 系统管理员预先把登录此系统的用户名、初始密码与权限输入Db1的权限表中, 非法用户将无法登陆。在登录系统后, VBA程序将根据用户的权限, B用户新建的记录只允许B用户修改, A用户只能查看而不能修改B用户建立的记录。这就实现了A ccess数据库中记录级的权限管理。

3 结论

通过对此系统的分析, 证明使用VBA编程完全可以实现在局域网里对A ccess数据库的网络共享访问, 并实现记录级的用户权限管理。

摘要:本文说明了如何使用VBA语言编程实现Access2003数据库的用户权限分级管理, 实现不同权限的用户拥有不同的系统操作功能, 以及多用户如何使用windows网络访问Access数据库, 并列出了相关代码。

关键词:VBA,权限,数据库,Access2003

参考文献

[1]王宇虹朱亦文陈格朱彦志.Access数据库系统开发从基础到实践[M].电子工业出版社.2007

[2]陈可欣.Access数据库高效开发范例应用[M].中国青年出版社.2005

上一篇:地区不均衡下一篇:中国古代法的逻辑起点