GT.M - 如何向用户添加特定角色

时间:2015-09-08 03:20:45

标签: mumps

我阅读了有关GT.M安全文档的信息,并看到GT.M不包含特定的安全解决方案,它依赖于OS系统用户角色

现在我希望每个用户在数据库上都有特定的角色,我该怎么做

示例:

  • 用户'经理'可以在全局“帐户”,“薪资”上执行SET,KILL命令

  • 用户'员工'只能在全球“薪资”上执行ZWRITE命令

假设“Account”和“Salary”全局变量映射在同一个数据库文件中

谢谢,

2 个答案:

答案 0 :(得分:5)

GT.M本身并没有实现安全层,而是使用操作系统实现的访问控制(用户/组/世界权限和分层安全性,如SELinux)。我知道有些应用程序已经使用传统的用户/组/世界控件完成了您想要的任务,但它确实需要应用程序架构。其他应用程序在应用程序层实现访问控制。

@DAiMor上面的引用已过时。手册中的当前引用是:

  

确保UNIX级别的数据库文件所有权(用户和组),UNIX用户和组ID以及权限与预期的访问权限相匹配。如果需要比用户提供的更细粒度的访问控制以及组ID和权限,请考虑在适当和可用的情况下使用分层在操作系统之上的安全产品。

通常,我们不再推荐访问控制列表。我注意到后来在手册中提到了它,我们应该删除它。 ACL适用于文件,但不适用于共享内存等资源。

答案 1 :(得分:0)

我在这里看到,您正在谈论读写访问,因此,您必须更改对DB文件的访问权限,您可以添加应该有权写入具有此类访问权限的UNIX组的用户。
来自GT.M安全哲学的Quote

  

确保UNIX级别的数据库文件所有权(用户和组),UNIX用户和组ID以及权限与预期的访问权限相匹配。如果需要比用户提供的更细粒度的访问控制以及组ID和权限,请考虑使用可用的访问控制列表(ACL)。