JavaScript is required to for searching.
跳过导航链接
退出打印视图
系统管理指南:安全性服务     Oracle Solaris 10 8/11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

第 1 部分安全性概述

1.  安全性服务(概述)

第 2 部分系统、文件和设备安全性

2.  管理计算机安全性(概述)

3.  控制对系统的访问(任务)

4.  控制对设备的访问(任务)

5.  使用基本审计报告工具(任务)

6.  控制对文件的访问(任务)

使用 UNIX 权限保护文件

用于查看和保证文件安全的命令

文件和目录的所有权

UNIX 文件权限

特殊文件权限(setuidsetgid 和 Sticky 位)

setuid 权限

setgid 权限

Sticky 位

缺省 umask

文件权限模式

使用访问控制列表保护 UFS 文件

UFS 文件的 ACL 项

UFS 目录的 ACL 项

用于管理 UFS ACL 的命令

防止可执行文件危及安全

保护文件(任务列表)

使用 UNIX 权限保护文件(任务列表)

如何显示文件信息

如何更改本地文件的所有者

如何更改文件的组所有权

如何在符号模式下更改文件权限

如何在绝对模式下更改文件权限

如何在绝对模式下更改特殊文件权限

使用 ACL 保护 UFS 文件(任务列表)

如何检查文件是否具有 ACL

如何将 ACL 项添加到文件

如何复制 ACL

如何更改文件的 ACL 项

如何删除文件的 ACL 项

如何显示文件的 ACL 项

防止程序受到安全风险(任务列表)

如何查找具有特殊文件权限的文件

如何禁止程序使用可执行栈

7.  使用自动安全性增强工具(任务)

第 3 部分角色、权限配置文件和特权

8.  使用角色和特权(概述)

9.  使用基于角色的访问控制(任务)

10.  基于角色的访问控制(参考)

11.  特权(任务)

12.  特权(参考)

第 4 部分加密服务

13.  Oracle Solaris 加密框架(概述)

14.  Oracle Solaris 加密框架(任务)

15.  Oracle Solaris 密钥管理框架

第 5 部分验证服务和安全通信

16.  使用验证服务(任务)

17.  使用 PAM

18.  使用 SASL

19.  使用 Oracle Solaris 安全 Shell(任务)

20.  Oracle Solaris 安全 Shell(参考)

第 6 部分Kerberos 服务

21.  Kerberos 服务介绍

22.  规划 Kerberos 服务

23.  配置 Kerberos 服务(任务)

24.  Kerberos 错误消息和故障排除

25.  管理 Kerberos 主体和策略(任务)

26.  使用 Kerberos 应用程序(任务)

27.  Kerberos 服务(参考)

第 7 部分Oracle Solaris 审计

28.  Oracle Solaris 审计(概述)

29.  规划 Oracle Solaris 审计

30.  管理 Oracle Solaris 审计(任务)

31.  Oracle Solaris 审计(参考)

词汇表

索引

使用 ACL 保护 UFS 文件(任务列表)

以下任务列表列出了用于列出 UFS 文件的 ACL、更改 ACL,以及将 ACL 复制到另一个文件的过程。

任务
参考
确定文件是否具有 ACL
将 ACL 添加到文件
复制 ACL
修改 ACL
删除文件的 ACL
显示文件的 ACL

如何检查文件是否具有 ACL

示例 6-6 检查文件是否具有 ACL

在以下示例中,ch1.sgm 文件具有 ACL。ACL 由模式字段右侧的加号 (+) 表示。

% ls -l ch1.sgm
-rwxr-----+  1 stacey   techpubs      167 Nov 11 11:13 ch1.sgm

如何将 ACL 项添加到文件

  1. 使用 setfacl 命令设置文件的 ACL。
    % setfacl -s user::perms,group::perms,other:perms,mask:perms,acl-entry-list filename ...
    -s

    设置文件的 ACL。如果文件已具有 ACL,则会替换该 ACL。此选项要求至少有 user::group::other:: 项。

    user::perms

    指定文件所有者权限。

    group::perms

    指定组所有者权限。

    other:perms

    为文件所有者或组成员之外的用户指定权限。

    mask:perms

    指定 ACL 掩码的权限。掩码表示允许用户(所有者除外)和组拥有的最大权限。

    acl-entry-list

    指定文件或目录中要为特定用户和组设置的一个或多个 ACL 项的列表。也可以设置目录的缺省 ACL 项。表 6-7表 6-8 显示了有效的 ACL 项。

    filename ...

    指定要对其设置 ACL 的一个或多个文件或目录。多个 filename 由空格分隔。


    注意

    注意 - 如果该文件已存在 ACL,则 -s 选项将使用新的 ACL 替换整个 ACL。


    有关更多信息,请参见setfacl(1) 手册页。

  2. 检验是否已对文件设置了 ACL 项。
    % getfacl filename

    有关更多信息,请参见如何检查文件是否具有 ACL

示例 6-7 设置文件的 ACL

在以下示例中,会在 ch1.sgm 文件中将文件所有者权限设置为读写、将文件组权限设置为只读,并将其他用户权限设置为无。此外,还在文件中为用户 anusha 指定读写权限。将 ACL 掩码权限设置为读写,这意味着任何用户或组都没有执行权限。

% setfacl -s user::rw-,group::r--,other:---,mask:rw-,user:anusha:rw- ch1.sgm
% ls -l
total 124
-rw-r-----+  1 stacey  techpubs   34816 Nov 11 14:16 ch1.sgm
-rw-r--r--   1 stacey  techpubs   20167 Nov 11 14:16 ch2.sgm
-rw-r--r--   1 stacey  techpubs    8192 Nov 11 14:16 notes
% getfacl ch1.sgm
# file: ch1.sgm
# owner: stacey
# group: techpubs
user::rw-
user:anusha:rw-    #effective:rw-
group::r--         #effective:r--
mask:rw-
other:---

在以下示例中,会将文件所有者权限设置为读写和执行,将文件组权限设置为只读,并将其他用户权限设置为无。此外,还会在 ch2.sgm 文件中将 ACL 掩码权限设置为读。最后,将为用户 anusha 指定读写权限。但是,由于 ACL 掩码的原因,anusha 的权限为只读。

% setfacl -s u::7,g::4,o:0,m:4,u:anusha:7 ch2.sgm
% getfacl ch2.sgm
# file: ch2.sgm
# owner: stacey
# group: techpubs
user::rwx
user:anusha:rwx         #effective:r--
group::r--              #effective:r--
mask:r--
other:---

如何复制 ACL

示例 6-8 复制 ACL

在以下示例中,会将 ch2.sgm 中的 ACL 复制到 ch3.sgm

% getfacl ch2.sgm | setfacl -f - ch3.sgm

如何更改文件的 ACL 项

  1. 使用 setfacl 命令修改文件的 ACL 项。
    % setfacl -m acl-entry-list filename ... 
    -m

    修改现有的 ACL 项。

    acl-entry-list

    指定文件或目录中要修改的一个或多个 ACL 项的列表。也可以修改目录的缺省 ACL 项。表 6-7表 6-8 显示了有效的 ACL 项。

    filename ...

    指定一个或多个文件或目录,由空格分隔。

  2. 检验是否已修改文件的 ACL 项。
    % getfacl filename

示例 6-9 修改文件的 ACL 项

在以下示例中,将用户 anusha 的权限修改为读写。

% setfacl -m user:anusha:6 ch3.sgm
% getfacl ch3.sgm
# file: ch3.sgm
# owner: stacey
# group: techpubs
user::rw-                
user::anusha:rw-        #effective:r--
group::r-               #effective:r--
mask:r--
other:r-

在以下示例中,将组 staff 的缺省权限修改为对 book 目录的读取权限。此外,还将缺省 ACL 掩码权限修改为读写。

% setfacl -m default:group:staff:4,default:mask:6 book

如何删除文件的 ACL 项

  1. 删除文件的 ACL 项。
    % setfacl -d acl-entry-list filename ... 
    -d

    删除指定的 ACL 项。

    acl-entry-list

    指定文件或目录中要删除的 ACL 项(未指定权限)的列表。只能删除特定用户和组的 ACL 项和缺省 ACL 项。表 6-7表 6-8 显示了有效的 ACL 项。

    filename ...

    指定一个或多个文件或目录,由空格分隔。

    或者,可以使用 setfacl -s 命令删除文件的所有 ACL 项,并使用所指定的新 ACL 项替换它们。

  2. 检验是否已删除文件的 ACL 项。
    % getfacl filename

示例 6-10 删除文件的 ACL 项

在以下示例中,将从 ch4.sgm 文件中删除用户 anusha

% setfacl -d user:anusha ch4.sgm

如何显示文件的 ACL 项

示例 6-11 显示文件的 ACL 项

在以下示例中,将显示文件 ch1.sgm 的所有 ACL 项。用户和组项旁边的 #effective: 注释表示由 ACL 掩码修改后的权限。

% getfacl ch1.sgm

# file: ch1.sgm
# owner: stacey
# group: techpubs
user::rw-
user:anusha:r-        #effective:r--
group::rw-            #effective:rw-
mask:rw-
other:---

在以下示例中,将显示目录 book 的缺省 ACL 项。

% getfacl -d book

# file: book
# owner: stacey
# group: techpubs
user::rwx
user:anusha:r-x       #effective:r-x
group::rwx            #effective:rwx
mask:rwx
other:---
default:user::rw-
default:user:anusha:r--
default:group::rw-
default:mask:rw-
default:other:---