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 审计(参考)

词汇表

索引

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

以下任务列表列出了用于列出文件权限、更改文件权限,以及使用特殊文件权限保护文件的过程。

任务
参考
显示文件信息
更改文件所有权
更改文件权限

如何显示文件信息

使用 ls 命令显示有关目录中所有文件的信息。

示例 6-1 显示文件信息

在以下示例中,显示了 /sbin 目录中部分文件的列表。

% cd /sbin
% ls -la
total 13456
drwxr-xr-x   2 root     sys          512 Sep  1 14:11 .
drwxr-xr-x  29 root     root        1024 Sep  1 15:40 ..
-r-xr-xr-x   1 root     bin       218188 Aug 18 15:17 autopush
lrwxrwxrwx   1 root     root          21 Sep  1 14:11 bpgetfile -> ...
-r-xr-xr-x   1 root     bin       505556 Aug 20 13:24 dhcpagent
-r-xr-xr-x   1 root     bin       456064 Aug 20 13:25 dhcpinfo
-r-xr-xr-x   1 root     bin       272360 Aug 18 15:19 fdisk
-r-xr-xr-x   1 root     bin       824728 Aug 20 13:29 hostconfig
-r-xr-xr-x   1 root     bin       603528 Aug 20 13:21 ifconfig
-r-xr-xr-x   1 root     sys       556008 Aug 20 13:21 init
-r-xr-xr-x   2 root     root      274020 Aug 18 15:28 jsh
-r-xr-xr-x   1 root     bin       238736 Aug 21 19:46 mount
-r-xr-xr-x   1 root     sys         7696 Aug 18 15:20 mountall
   .
   .
   .

每一行按以下顺序显示了有关文件的信息:

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

文件所有者、 Primary Administrator(主管理员)角色或超级用户可以更改任何文件的所有权。

  1. 显示文件的权限。
    % ls -l example-file
    -rw-r--r--   1 janedoe   staff   112640 May 24 10:49 example-file
  2. 承担 Primary Administrator(主管理员)角色,或成为超级用户。

    Primary Administrator(主管理员)角色拥有 Primary Administrator(主管理员)配置文件。要创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 "使用 Solaris Management Console(任务)"

  3. 更改文件的所有者。
    # chown stacey example-file
  4. 检验文件的所有者是否已更改。
    # ls -l example-file
    -rw-r--r--   1 stacey   staff   112640 May 26 08:50 example-file 

示例 6-2 允许用户更改其自身文件的所有权

安全注意事项-您应该有合理理由将 rstchown 变量的设置更改为零。通过此设置,用户可以将其文件的所有权更改为另一用户名。

在此示例中,在 /etc/system 文件中将 rstchown 变量的值设置为零。通过此设置,文件所有者可以使用 chown 命令将文件的所有权更改为另一用户。通过此设置,文件所有者还可以使用 chgrp 命令将文件的组所有权设置为非其所在的组。重新引导系统后,更改将生效。

set rstchown = 0

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

此外,请注意,已挂载 NFS 的文件系统对更改所有权和组有更多限制。有关限制对已挂载 NFS 的系统的访问的更多信息,请参见《系统管理指南:网络服务》中的第 6  章 "访问网络文件系统(参考)"

如何更改文件的组所有权

  1. 承担 Primary Administrator(主管理员)角色,或成为超级用户。

    Primary Administrator(主管理员)角色拥有 Primary Administrator(主管理员)配置文件。要创建该角色并将其指定给用户,请参见《系统管理指南:基本管理》中的第 2  章 "使用 Solaris Management Console(任务)"

  2. 更改文件的组所有权。
    $ chgrp scifi example-file

    有关设置组的信息,请参见《系统管理指南:基本管理》中的第 4  章 "管理用户帐户和组(概述)"

  3. 检验文件的组所有权是否已更改。
    $ ls -l example-file
     -rw-r--r--   1 stacey   scifi   112640 June 20 08:55  example-file

    另请参见示例 6-2

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

  1. 如果您不是文件或目录的所有者,请成为超级用户或承担等效角色。

    只有当前所有者或超级用户可以使用 chmod 命令更改文件或目录的文件权限。

  2. 在符号模式下更改权限。
    % chmod who operator permissions filename
    who

    指定要更改其权限的用户。

    operator

    指定要执行的操作。

    permissions

    指定要更改的权限。有关有效符号的列表,请参见表 6-5

    filename

    指定文件或目录。

  3. 检验文件的权限是否已更改。
    % ls -l filename

示例 6-3 在符号模式下更改权限

在以下示例中,将解除其他用户的读取权限。

% chmod o-r example-file1

在以下示例中,将为用户、组和其他用户添加读和执行权限。

$ chmod a+rx example-file2

在以下示例中,将为组指定读写和执行权限。

$ chmod g=rwx example-file3

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

  1. 如果您不是文件或目录的所有者,请成为超级用户或承担等效角色。

    只有当前所有者或超级用户可以使用 chmod 命令更改文件或目录的文件权限。

  2. 在绝对模式下更改权限。
    % chmod nnn filename
    nnn

    按照该顺序指定将表示文件所有者、文件组和其他用户的权限的八进制值。有关有效八进制值的列表,请参见表 6-4

    filename

    指定文件或目录。


    注 - 使用 chmod 命令更改具有 ACL 项的文件的文件组权限时,文件组权限和 ACL 掩码都将更改为新权限。请注意,新 ACL 掩码权限可以更改在文件中具有 ACL 项的其他用户和组的权限。使用 getfacl 命令以确保为所有 ACL 项都设置了适当的权限。有关更多信息,请参见 getfacl(1) 手册页。


  3. 检验文件的权限是否已更改。
    % ls -l filename

示例 6-4 在绝对模式下更改权限

在以下示例中,将公共目录的权限从 744(读、写、执行;只读;只读)更改为 755(读、写、执行;读和执行;读和执行)。

# ls -ld public_dir
drwxr--r--  1 jdoe   staff    6023 Aug  5 12:06 public_dir
# chmod 755 public_dir
# ls -ld public_dir
drwxr-xr-x  1 jdoe   staff    6023 Aug  5 12:06 public_dir

在以下示例中,将可执行 shell 脚本的权限从读写更改为读写和执行。

% ls -l my_script
-rw------- 1 jdoe   staff    6023 Aug  5 12:06 my_script
% chmod 700 my_script
% ls -l my_script
-rwx------ 1 jdoe   staff    6023 Aug  5 12:06 my_script

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

  1. 如果您不是文件或目录的所有者,请成为超级用户或承担等效角色。

    只有当前所有者或具有超级用户功能的用户可以使用 chmod 命令更改文件或目录的特殊权限。

  2. 在绝对模式下更改特殊权限。
    % chmod nnnn filename
    nnnn

    指定用于更改文件或目录的权限的八进制值。最左侧的八进制值设置文件的特殊权限。有关特殊权限的有效八进制值的列表,请参见表 6-6

    filename

    指定文件或目录。


    注 - 使用 chmod 命令更改具有 ACL 项的文件的文件组权限时,文件组权限和 ACL 掩码都将更改为新权限。请注意,新 ACL 掩码权限可以更改在文件中具有 ACL 项的其他用户和组的权限。使用 getfacl 命令以确保为所有 ACL 项都设置了适当的权限。有关更多信息,请参见 getfacl(1) 手册页。


  3. 检验文件的权限是否已更改。
    % ls -l filename

示例 6-5 在绝对模式下设置特殊文件权限

在以下示例中,将对 dbprog 文件设置 setuid 权限。

# chmod 4555 dbprog
# ls -l dbprog
-r-sr-xr-x   1 db     staff        12095 May  6 09:29 dbprog

在以下示例中,将对 dbprog2 文件设置 setgid 权限。

# chmod 2551 dbprog2
# ls -l dbprog2
-r-xr-s--x   1 db     staff       24576 May  6 09:30 dbprog2

在以下示例中,将对 public_dir 目录设置 sticky 位权限。

# chmod 1777 public_dir
# ls -ld public_dir
drwxrwxrwt   2 jdoe   staff          512 May 15 15:27 public_dir