跳过导航链接 | |
退出打印视图 | |
![]() |
从 Oracle Solaris 10 转换到 Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (简体中文) |
以下各节介绍对文件和文件系统安全的变更。
Oracle Solaris 11 中再次引入了确定 chmod 操作期间如何修改文件中的 ACL 权限的 aclmode 属性。aclmode 值包括 discard、mask 和 passthrough。discard 缺省值受限制最多,passthrough 值受限制最少。
示例 9-3 ACL 与对 ZFS 文件的 chmod 操作的交互
以下示例说明特定的 aclmode 和 aclinherit 属性值如何影响现有的 ACL 与 chmod 操作的交互,其中该操作减少或扩展了任何现有的 ACL 权限以便与组的所有权一致。
在此示例中,aclmode 属性设置为 mask,aclinherit 属性设置为 restricted。此示例中的 ACL 权限以简写模式显示,这样可以更方便地展示权限更改。
原始的文件和组所有权以及 ACL 权限如下所示:
# zfs set aclmode=mask pond/whoville # zfs set aclinherit=restricted pond/whoville # ls -lV file.1 -rwxrwx---+ 1 root root 206695 Aug 30 16:03 file.1 user:amy:r-----a-R-c---:-------:allow user:rory:r-----a-R-c---:-------:allow group:sysadmin:rw-p--aARWc---:-------:allow group:staff:rw-p--aARWc---:-------:allow owner@:rwxp--aARWcCos:-------:allow group@:rwxp--aARWc--s:-------:allow everyone@:------a-R-c--s:-------:allow
一个 chown 操作更改了 file.1 的文件所有权,现在所属用户 amy 在查看输出。例如:
# chown amy:staff file.1 # su - amy $ ls -lV file.1 -rwxrwx---+ 1 amy staff 206695 Aug 30 16:03 file.1 user:amy:r-----a-R-c---:-------:allow user:rory:r-----a-R-c---:-------:allow group:sysadmin:rw-p--aARWc---:-------:allow group:staff:rw-p--aARWc---:-------:allow owner@:rwxp--aARWcCos:-------:allow group@:rwxp--aARWc--s:-------:allow everyone@:------a-R-c--s:-------:allow
下面的 chmod 操作将权限更改为限制性更强的模式。在此示例中,sysadmin 组和 staff 组的修改后 ACL 权限未超出所属组的权限。
$ chmod 640 file.1 $ ls -lV file.1 -rw-r-----+ 1 amy staff 206695 Aug 30 16:03 file.1 user:amy:r-----a-R-c---:-------:allow user:rory:r-----a-R-c---:-------:allow group:sysadmin:r-----a-R-c---:-------:allow group:staff:r-----a-R-c---:-------:allow owner@:rw-p--aARWcCos:-------:allow group@:r-----a-R-c--s:-------:allow everyone@:------a-R-c--s:-------:allow
下面的 chmod 操作将权限更改为限制性更弱的模式。在此示例中,sysadmin 组和 staff 组的修改后 ACL 权限恢复为允许与所属组相同的权限。
$ chmod 770 file.1 $ ls -lV file.1 -rwxrwx---+ 1 amy staff 206695 Aug 30 16:03 file.1 user:amy:r-----a-R-c---:-------:allow user:rory:r-----a-R-c---:-------:allow group:sysadmin:rw-p--aARWc---:-------:allow group:staff:rw-p--aARWc---:-------:allow owner@:rwxp--aARWcCos:-------:allow group@:rwxp--aARWc--s:-------:allow everyone@:------a-R-c--s:-------:allow
在先前的 Oracle Solaris 发行版和本发行版中,加密框架功能提供 encrypt、decrypt 和 mac 命令来加密文件。
Oracle Solaris 10 不支持 ZFS 加密,但 Oracle Solaris 11 支持以下 ZFS 加密功能:
ZFS 加密与 ZFS 命令集相集成。与其他 ZFS 操作一样,密钥更改和重设密钥操作联机执行。
您可以使用现有的存储池,只要对它们进行了升级。可以灵活地加密特定的文件系统。
ZFS 加密可由后代文件系统继承。可以通过 ZFS 委托管理来委托密钥管理。
数据通过使用 AES(Advanced Encryption Standard,高级加密标准)在 CCM 和 GCM 操作模式下进行加密,密钥长度为 128、192 和 256。
ZFS 加密使用加密框架功能,这为其提供了自动访问加密算法的任何可用硬件加速或优化的软件实现的权限。
注 - 当前,您无法对 ZFS 根文件系统或其他 OS 组件(例如 /var 目录)进行加密,即使它是单独的文件系统也是如此。
示例 9-4 创建加密的 ZFS 文件系统
以下示例说明如何创建加密的 ZFS 文件系统。缺省的加密策略是提示您输入 passphrase,其长度必须至少为 8 个字符。
# zfs create -o encryption=on tank/data Enter passphrase for 'tank/data': xxxxxxxx Enter again: xxxxxxxx
当文件系统的加密值为 on 时,缺省的加密算法为 aes-128-ccm。
创建加密的文件系统后,无法取消加密。例如:
# zfs set encryption=off tank/data cannot set property for 'tank/data': 'encryption' is readonly
有关更多信息,请参见《Oracle Solaris 11.1 管理:ZFS 文件系统》中的"加密 ZFS 文件系统"。
作为 Oracle Solaris 11 中的新功能,file-mac-profile 属性允许您运行具有只读根文件系统的区域。此功能使您可以在四个预定义的配置文件之间进行选择,这些配置文件确定区域文件系统中仅为只读的量,甚至是对于具有 allzone 特权的进程。请参见 《Oracle Solaris 11.1 管理:Oracle Solaris Zones、Oracle Solaris 10 Zones 和资源管理》中的"zonecfg file-mac-profile 属性"。