JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 10 开发者安全性指南     Oracle Solaris 10 1/13 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  面向开发者的 Oracle Solaris 安全(概述)

2.  开发特权应用程序

特权应用程序

关于特权

管理员如何指定特权

如何实现特权

允许特权集合

可继承特权集合

有限特权集合

有效特权集合

超级用户与特权模型之间的兼容性

特权类别

使用特权进行编程

特权数据类型

特权接口

setppriv():用于设置特权

用于映射特权的 priv_str_to_set()

特权编码示例

包围在超级用户模型中的特权

包围在最小特权模型中的特权

特权应用程序开发指南

关于授权

3.  编写 PAM 应用程序和服务

4.  编写使用 GSS-API 的应用程序

5.  GSS-API 客户机示例

6.  GSS-API 服务器示例

7.  编写使用 SASL 的应用程序

8.  Oracle Solaris 加密框架介绍

9.  编写用户级加密应用程序和提供者

10.  使用智能卡框架

A.  基于 C 的 GSS-API 样例程序

B.  GSS-API 参考

C.  指定 OID

D.  SASL 示例的源代码

E.  SASL 参考表

F.  打包和签署加密提供者

词汇表

索引

关于授权

授权存储在 /etc/security/auth_attr 文件中。要创建使用授权的应用程序,请执行以下步骤:

  1. 扫描 /etc/security/auth_attr 以查找一个或多个应用程序授权。

  2. 请在程序开始时使用 chkauthattr(3SECDB) 函数检查所需的授权。chkauthattr() 函数将在以下位置按顺序搜索授权:

    • policy.conf(4) 数据库中的 AUTHS_GRANTED 键-AUTHS_GRANTED 指示缺省情况下指定的授权。

    • policy.conf(4) 数据库中的 PROFS_GRANTED 键-PROFS_GRANTED 指示缺省情况下指定的权限配置文件。chkauthattr () 将针对指定授权检查这些权限配置文件。

    • user_attr(4) 数据库-此数据库存储为用户指定的安全属性。

    • prof_attr(4) 数据库-此数据库存储为用户指定的权限配置文件。

    chkauthattr() 在上述任何位置中都找不到权限授权,则将拒绝用户访问该程序。

  3. 使管理员了解此应用程序需要哪些授权。您可以通过手册页或其他文档通知管理员。

示例 2-3 检查授权

以下代码段说明如何使用 chkauthattr() 函数检查用户的授权。在本例中,该程序将检查 solaris.job.admin 授权。如果用户具有此授权,则该用户可以读取或写入其他用户的文件。如果没有此授权,则用户只能对其拥有的文件执行操作。

/* Define override privileges */
priv_set_t *override_privs = priv_allocset();

/* Clear privilege set before adding privileges. */
priv_set(PRIV_OFF, PRIV_EFFECTIVE, PRIV_FILE_DAC_READ,
            priv_FILE_DAC_WRITE, NULL);

priv_addset(override_privs, PRIV_FILE_DAC_READ);
priv_addset(override_privs, PRIV_FILE_DAC_WRITE);

if (!chkauthattr("solaris.jobs.admin", username)) {
    /* turn off privileges */
    setppriv(PRIV_OFF, PRIV_EFFECTIVE, override_privs);
}
/* Authorized users continue to run with privileges */
/* Other users can read or write to their own files only */