跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 11.1 管理:安全服务 Oracle Solaris 11.1 Information Library (简体中文) |
RBAC 的初始配置包括创建可以承担特定角色的用户,创建角色并将这些角色指定给相应的用户。
使用以下任务列表可在站点上规划并初步实现 RBAC。一些任务是按顺序排序的。
|
RBAC 可以作为组织管理其信息资源方式的组成部分。进行规划时,需要全面了解 RBAC 功能以及组织的安全要求。
注 - 在 /etc/security/policy.conf 文件中指定缺省权限。
请阅读基于角色的访问控制(概述)。使用 RBAC 来管理系统与使用常规的 UNIX 管理做法大不相同。要在开始实现之前熟悉 RBAC 概念,请参见第 10 章。
您组织的安全策略应详细说明系统面临的潜在威胁,衡量每种威胁的风险并提供应对这些威胁的策略。通过 RBAC 隔离与安全相关的任务可以作为该策略的一部分。尽管可以按原样使用安装的 RBAC 配置,但可能需要对其进行定制,使其支持您的安全策略。
根据安全需要,选择如何使用 RBAC,如下所述:
root 作为角色-缺省情况下提供该方法。它可以防止任何用户以 root 身份登录。相反,用户必须在承担 root 角色之前通过为他们指定的登录信息进行登录。
独立角色-此方法创建基于提供的权限配置文件的角色。可以根据职责级别、任务范围和任务类型指定角色。例如,System Administrator(系统管理员)角色可以执行超级用户可执行的许多任务,而 Network IPsec Management(网络 IPsec 管理)角色可以管理 IPsec。
您还可以将安全职责与其他职责分隔开。User Management(用户管理)角色可以创建用户,而 User Security(用户安全)角色可以指定安全属性(如口令、角色和权限配置文件)。但 User Security(用户安全)角色无法创建用户,User Management(用户管理)角色无法将权限配置文件指定给用户。
没有 root 角色-此方法需要您更改系统的缺省配置。在此配置中,知道 root 口令的任何用户都可以登录和修改系统。您无法区分充当超级用户的用户。
请查看建议的角色的功能及其缺省权限配置文件。通过缺省的权限配置文件,管理员可以使用单个配置文件配置建议的角色。
要进一步检查权限配置文件,请执行以下操作之一:
通过使用 getent prof_attr 命令,查看系统上的可用权限配置文件。
在本指南中,请参阅权限配置文件以了解某些典型权限配置文件的摘要。
请在站点上查找可能从受限制访问中受益的其他应用程序或应用程序系列。合适的 RBAC 候选对象包括:影响安全的应用程序、可能导致服务被拒绝的应用程序,或需要对管理员进行特殊培训的应用程序。您可以定制角色和权限配置文件,以处理组织的安全要求。
检查现有权限配置文件是否可以处理此任务,或是否需要创建单独的权限配置文件。
确定是否应将此任务的权限配置文件指定给现有角色,或是否应创建新角色。如果使用现有角色,请检查该角色的原始权限配置文件是否适用于已指定给该角色的用户。对新的权限配置文件进行排序,以便命令能够使用所需的特权执行。有关排序的信息,请参见搜索指定安全属性的顺序。
根据 least privilege(最小特权)原则,应将用户指定给适合该用户信任级别的角色。如果禁止用户执行用户无需执行的任务,可以减少潜在的问题。
可以在本地以及 LDAP 系统信息库中创建角色。
开始之前
要创建角色,您必须是指定有 User Management(用户管理)权限配置文件的管理员。要将安全属性(包括初始口令)指定给角色,您必须是指定有 User Security(用户安全)权限配置文件的管理员。有关更多信息,请参见如何使用指定给您的管理权限。
有关可接受的字符串的限制,请参见 roleadd(1M) 手册页。
# roleadd [-e expire] [-f inactive] [-s shell] [-m] [-S repository] \ [-A authorization-list] [-P profile-list] [-K key=value] rolename
提示 - 当角色的名称反映权限配置文件的名称时,就可以轻松地了解该角色的目的。例如,将 Audit Review(审计查看)权限配置文件指定给 auditreview 角色时,以使得该角色可以读取、过滤和归档审计记录。
该命令的 RBAC 参数类似于 usermod 命令的参数,如 user_attr(4) 手册页和如何更改用户的安全属性 中的步骤 1 中所述。例如,以下命令可以创建一个本地 User Administrator(用户管理员)角色和一个起始目录。
# roleadd -c "User Administrator role, local" -s /usr/bin/pfbash \ -m -K profiles="User Security,User Management" useradm 80 blocks # ls /export/home/useradm local.cshrc local.login local.profile
# passwd -r files useradm Password: <Type useradm password> Confirm Password: <Retype useradm password> #
注 - 通常,可以将一种角色帐户指定给多个用户。因此,管理员通常都会创建一个角色口令,并单独为用户提供角色口令。
示例 9-11 在 LDAP 系统信息库中创建 User Administrator(用户管理员)角色
在以下示例中,管理员站点使用 LDAP 系统信息库。通过运行以下命令,管理员可以在 LDAP 中创建一个 User Administrator(用户管理员)角色。
# roleadd -c "User Administrator role, LDAP" -s /usr/bin/pfbash \ -m -S ldap -K profiles="User Security,User Management" useradm
示例 9-12 创建角色以实现职责分离
在以下示例中,管理员站点使用 LDAP 系统信息库。通过运行以下命令,管理员可以创建两个角色。usermgt 角色可以创建用户,为其提供起始目录以及执行其他非安全任务。usermgt 角色不能指定口令或其他安全属性。usersec 角色不能创建用户,但可以指定口令以及更改其他安全属性。
# roleadd -c "User Management role, LDAP" -s /usr/bin/pfbash \ -m -S ldap -K profiles="User Management" usermgt # roleadd -c "User Security role, LDAP" -s /usr/bin/pfbash \ -m -S ldap -K profiles="User Security" usersec
示例 9-13 创建 Device and File Security(设备和文件安全)角色
在以下示例中,管理员将为此系统创建 Device and File Security(设备和文件安全)角色:
# roleadd -c "Device and File System Security admin, local" -s /usr/bin/pfbash \ -m -K profiles="Device Security,File System Security" devflsec
此过程会将角色指定给用户、重新启动名称高速缓存守护进程,然后说明用户如何承担该角色。
开始之前
您已添加了一个角色并为该角色指定了一个口令,如如何创建角色中所述。
要修改用户的大多数安全属性(包括口令),您必须是指定有 User Security(用户安全)权限配置文件的管理员。要修改用户的审计标志,您必须承担 root 角色。要修改其他属性,您必须是指定有 User Management(用户管理)权限配置文件的管理员。root 角色可修改用户的每个属性。有关更多信息,请参见如何使用指定给您的管理权限。
usermod [-S repository] [RBAC-arguments] login
例如,将角色给本地用户。
# usermod -R +useradm jdoe-local
此更改将在用户下次登录时生效。
有关 usermod 命令的选项,请参见 usermod(1M) 手册页,或者如何更改用户的安全属性中步骤 1 中 rolemod 命令的选项说明。
示例 9-14 创建和指定角色以管理加密
在以下示例中,LDAP 网络的管理员创建了一个角色来管理加密框架,并将该角色指定给了 UID 1111。
# roleadd -c "Cryptographic Services manager" \ -g 14 -m -u 104 -s /usr/bin/pfksh \ -S ldap -K profiles="Crypto Management" cryptmgt # passwd cryptmgt New Password: <Type cryptmgt password> Confirm password: <Retype cryptmgt password> # usermod -u 1111 -R +cryptmgt
具有 UID 1111 的用户将登录,然后承担该角色并显示指定的安全属性。
% su - cryptmgt Password: <Type cryptmgt password> Confirm Password: <Retype cryptmgt password> $ profiles -l Crypto Management /usr/bin/kmfcfg euid=0 /usr/sbin/cryptoadm euid=0 /usr/sfw/bin/CA.pl euid=0 /usr/sfw/bin/openssl euid=0 $
有关加密框架的信息,请参见第 11 章。要管理该框架,请参见管理加密框架(任务列表)。
可以审计角色执行的操作。审计记录中包括承担角色的用户的登录名、角色名和角色执行的操作。116:AUE_PFEXEC:execve(2) with pfexec enabled:ps,ex,ua,as 审计事件捕获角色操作。通过预选 as、ex、ps 或 ua 类之一,来审计角色操作。
开始之前
要配置审计,您必须是指定有 Audit Configuration(审计配置)权限配置文件的管理员。要启用或刷新审计服务,您必须是指定有 Audit Control(审计控制)权限配置文件的管理员。root 角色可以执行此过程中的所有任务。有关更多信息,请参见如何使用指定给您的管理权限。
有关规划信息,请参见第 27 章。
# auditconfig -getflags
如果预选 as、ex、ps 或 ua 类之一,将审计角色操作。否则,请将其中一个类添加到现有类中。
# auditconfig -setflags existing preselections,as
# auditconfig -setflags as
在该示例中,管理员选择了 as 类。该类包括其他审计事件。要查看一个类中包括的审计事件,请使用 auditrecord 命令,如示例 28-28 中所示。
# audit -s
当提供的权限配置文件不包含所需的安全属性集合时,您可以创建或更改权限配置文件。要了解有关权限配置文件的更多信息,请参见RBAC 权限配置文件。
开始之前
要创建权限配置文件,您必须是指定有 File Security(文件安全)权限配置文件的管理员。有关更多信息,请参见如何使用指定给您的管理权限。
# profiles -p [-S repository] profile-name
系统会提示您输入说明。
对具有单个值的配置文件属性使用 set 子命令,如 set desc。对具有多个值的属性使用 add 子命令,如 add cmd。
例如,以下命令以交互方式创建如何将新的权限策略指定给所有用户中的定制 PAM 权限配置文件。为便于显示,已将名称缩短。
# profiles -p -S LDAP "Site PAM LDAP" profiles:Site PAM LDAP> set desc="Profile which sets pam_policy=ldap" ...LDAP> set pam_policy=ldap ...LDAP> commit ...LDAP> end ...LDAP> exit
示例 9-15 创建 Sun Ray Users(Sun Ray 用户)权限配置文件
在此示例中,管理员在 LDAP 系统信息库中为 Sun Ray 用户创建权限配置文件。管理员已创建了 Basic Solaris User(基本 Solaris 用户)权限配置文件的 Sun Ray 版本,并从 Sun Ray 服务器上的 policy.conf 文件中删除了所有权限配置文件。
# profiles -p -S LDAP "Sun Ray Users" profiles:Sun Ray Users> set desc="For all users of Sun Rays" ... Ray Users> add profiles="Sun Ray Basic User" ... Ray Users> set defaultpriv="basic,!proc_info" ... Ray Users> set limitpriv="basic,!proc_info" ... Ray Users> end ... Ray Users> exit
管理员验证内容。
# profiles -p "Sun Ray Users" Found profile in LDAP repository. profiles:Sun Ray Users> info name=Sun Ray Users desc=For all users of Sun Rays defaultpriv=basic,!proc_info, limitpriv=basic,!proc_info, profiles=Sun Ray Basic User
示例 9-16 从权限配置文件中删除基本特权
在以下示例中,在详尽测试后,安全管理员从 Sun Ray User(Sun Ray 用户)权限配置文件中删除了另一个基本特权。在示例 9-15 中,管理员已删除了一个特权。权限配置文件已被修改,删除了两个基本特权。指定有此配置文件的用户无法检查其当前会话外部的任何进程,也无法添加其他会话。
$ profiles -p "Sun Ray Users" profiles:Sun Ray Users> set defaultpriv="basic,!proc_session,!proc_info" profiles:Sun Ray Users> end profiles:Sun Ray Users> exit
示例 9-17 从权限配置文件的限制特权集中删除特权
在以下示例中,在详尽测试后,安全管理员从 Sun Ray User(Sun Ray 用户)权限配置文件中删除了两个限制特权。
$ profiles -p "Sun Ray Users" profiles:Sun Ray Users> set limitpriv="all,!proc_session,!proc_info" profiles:Sun Ray Users> end profiles:Sun Ray Users> exit
示例 9-18 创建包含特权命令的权限配置文件
在以下示例中,安全管理员在管理员创建的权限配置文件中添加某应用程序的特权。此应用程序能够识别特权。
# profiles -p SiteApp profiles:SiteApp> set desc="Site application" profiles:SiteApp> add cmd="/opt/site-app/bin/site-cmd" profiles:SiteApp:site-cmd> add privs="proc_fork,proc_taskid" profiles:SiteApp:site-cmd> end profiles:SiteApp> exit
要进行验证,管理员可以选择 site-cmd。
# profiles -p SiteApp "select cmd=/opt/site-app/bin/site-cmd; info;end" Found profile in files repository. id=/opt/site-app/bin/site-cmd privs=proc_fork,proc_taskid
另请参见
要排除安全属性分配故障,请参见如何排除 RBAC 和特权指定故障。有关背景的信息,请参见搜索指定安全属性的顺序。
Oracle Solaris 提供的权限配置文件是只读的。如果所提供的某个权限配置文件的安全属性的集合不足以满足要求,您可以克隆该配置文件并进行修改。例如,您可能希望将 solaris.admin.edit/ path-to-system-file 授权添加到所提供的某个权限配置文件中。
开始之前
要创建或更改权限配置文件,您必须是指定有 File Security(文件安全)权限配置文件的管理员。有关更多信息,请参见如何使用指定给您的管理权限。
# profiles -p [-S repository] existing-profile-name
添加或删除补充权限配置文件、授权以及其他安全属性。
示例 9-19 克隆并增强 Network IPsec Management(网络 IPsec 管理)权限配置文件
在此示例中,管理员将多个 solaris.admin.edit 授权添加到某个站点 IPsec Management(IPsec 管理)权限配置文件中。
管理员验证是否无法修改该 Network IPsec Management(网络 IPsec 管理)权限配置文件。
# profiles -p "Network IPsec Management" profiles:Network IPsec Management> add auths="solaris.admin.edit/etc/hosts" Cannot add. Profile cannot be modified
然后,管理员创建包含该 Network IPsec Management(网络 IPsec 管理)配置文件的权限配置文件。
# profiles -p "Total IPsec Mgt" ... IPsec Mgt> set desc="Network IPsec Mgt plus edit authorization" ... IPsec Mgt> add profiles="Network IPsec Management" ... IPsec Mgt> add auths="solaris.admin.edit/etc/hosts" ... IPsec Mgt> add auths="solaris.admin.edit/etc/inet/ipsecinit.conf" ... IPsec Mgt> add auths="solaris.admin.edit/etc/inet/ike/config" ... IPsec Mgt> add auths="solaris.admin.edit/etc/inet/secret/ipseckeys" ... IPsec Mgt> end ... IPsec Mgt> exit
管理员验证内容。
# profiles -p "Total IPsec Mgt" info name=Total IPsec Mgt desc=Network IPsec Mgt plus edit authorization auths=solaris.admin.edit/etc/hosts, solaris.admin.edit/etc/inet/ipsecinit.conf, solaris.admin.edit/etc/inet/ike/config, solaris.admin.edit/etc/inet/secret/ipseckeys profiles=Network IPsec Management
示例 9-20 从权限配置文件中克隆和删除安全属性
在此示例中,管理员将管理 VSCAN 服务的属性这一功能与启用和禁用该服务的功能相分离。
首先,管理员列出 Oracle Solaris 提供的权限配置文件的内容。
% profiles -p "VSCAN Management" info name=VSCAN Management desc=Manage the VSCAN service auths=solaris.smf.manage.vscan,solaris.smf.value.vscan, solaris.smf.modify.application help=RtVscanMngmnt.html
然后,管理员创建用于启用和禁用该服务的权限配置文件。
# profiles -p "VSCAN Management" profiles:VSCAN Management> set name="VSCAN Control" profiles:VSCAN Control> set desc="Start and stop the VSCAN service" ... VSCAN Control> remove auths="solaris.smf.value.vscan" ... VSCAN Control> remove auths="solaris.smf.modify.application" ... VSCAN Control> end ... VSCAN Control> exit
然后,管理员创建可更改该服务的属性的权限配置文件。
# profiles -p "VSCAN Management" profiles:VSCAN Management> set name="VSCAN Properties" profiles:VSCAN Properties> set desc="Modify VSCAN service properties" ... VSCAN Properties> remove auths="solaris.smf.manage.vscan" ... VSCAN Properties> end ... VSCAN Properties> exit
管理员验证新权限配置文件的内容。
# profiles -p "VSCAN Control" info name=VSCAN Control desc=Start and stop the VSCAN service auths=solaris.smf.manage.vscan # profiles -p "VSCAN Properties" info name=VSCAN Properties desc=Modify VSCAN service properties auths=solaris.smf.value.vscan,solaris.smf.modify.application
另请参见
要排除安全属性分配故障,请参见如何排除 RBAC 和特权指定故障。有关背景的信息,请参见搜索指定安全属性的顺序。
如果所提供的授权未包含您需要的授权,您可以创建授权。有关授权的更多信息,请参见RBAC 授权。
开始之前
您已在您要保护的程序中定义并使用了授权。有关说明,请参见 《Oracle Solaris 11 开发者安全性指南》和《Oracle Solaris 11 开发者安全性指南》中的"关于授权"。
例如,为使用户能够修改应用程序中数据的授权创建帮助文件。
# pfedit /docs/helps/NewcoSiteAppModData.html <HTML> -- Copyright 2012 Newco. All rights reserved. -- NewcoSiteAppModData.html --> <HEAD> <TITLE>NewCo Modify SiteApp Data Authorization</TITLE> </HEAD> <BODY> The com.newco.siteapp.data.modify authorization authorizes you to modify existing data in the application. <p> Only authorized accounts are permitted to modify data. Use this authorization with care. <p> </BODY> </HTML>
例如,在本地系统上创建 com.newco.siteapp.data.modify 授权。
# auths add -t "SiteApp Data Modify Authorized" \ -h /docs/helps/NewcoSiteAppModData.html com.newco.siteapp.data.modify
现在,您可以将该授权添加到权限配置文件中,并将该配置文件指定给角色或用户。
示例 9-21 向权限配置文件中添加授权
在此示例中,管理员添加了一个授权,站点应用程序将先检查该授权,然后确定是否允许用户运行该应用程序。
创建授权后,安全管理员将 com.newco.siteapp.data.modify 授权添加到现有权限。管理员已创建了示例 9-18 中的配置文件。
# profiles -p "SiteApp" profiles:SiteApp> add auths="com.newco.siteapp.data.modify" profiles:SiteApp> end profiles:SiteApp> exit
为进行验证,管理员列出了该配置文件的内容。
# profiles -p SiteApp Found profile in files repository. id=/opt/site-app/bin/site-cmd auths=com.newco.siteapp.data.modify
传统应用程序是一个命令或一组命令。安全属性是在指定给某个角色的权限配置文件中为每个命令设置的。承担该角色的用户便可以运行具有安全属性的传统应用程序。
开始之前
要创建权限配置文件,您必须是指定有 Information Security(信息安全)或 Rights Management(权限管理)权限配置文件的管理员。要指定权限配置文件,您必须是指定有 User Security(用户安全)权限配置文件的管理员。root 角色可以执行此过程中的所有任务。有关更多信息,请参见如何使用指定给您的管理权限。
向传统应用程序添加安全属性的方式与为任何命令添加安全属性的方式相同。您必须将具有安全属性的命令添加到权限配置文件。对于传统命令,请为命令指定 euid=0 或 uid=0 安全属性。有关该过程的详细信息,请参见如何创建权限配置文件。
有关步骤,请参见如何创建权限配置文件。
有关示例,请参见示例 9-18。
要为角色指定权限配置文件,请参见示例 9-14。
示例 9-22 向脚本中的命令添加安全属性
如果某个脚本中的命令需要设置 setuid 位或 setgid 位才能成功运行,则必须在权限配置文件中为该脚本的可执行脚本和命令添加安全属性。然后,将权限配置文件指定给角色,再将该角色指定给用户。当用户承担该角色并执行该脚本时,此命令便会以安全属性运行。
示例 9-23 检查脚本或程序中的授权
要针对授权进行检查,您需要编写一个基于 auths 命令的测试。有关此命令的详细信息,请参见 auths(1) 手册页。
例如,以下行会测试用户是否具有作为 $1 参数提供的授权:
if [ `/usr/bin/auths|/usr/xpg4/bin/grep $1` ]; then echo Auth granted else echo Auth denied fi
要使测试更加完整,必须在测试中包括针对通配符的使用进行检查的逻辑。例如,要测试用户是否具有 solaris.system.date 授权,需要检查以下字符串:
solaris.system.date
solaris.system.*
solaris.*
如果您要编写程序,请使用函数 getauthattr() 对授权进行测试。
对于用户或角色的进程为何没有使用指定的安全属性运行,存在以下几种影响因素。此过程可帮助您调试失败的安全属性指定。其中有多个步骤基于搜索指定安全属性的顺序。
开始之前
您必须承担 root 角色。有关更多信息,请参见如何使用指定给您的管理权限。
# svccfg -s name-service/switch svc:/system/name-service/switch> listprop config config application config/value_authorization astring solaris.smf.value.name-service.switch config/default astring files ldap config/host astring "files dns mdns ldap" config/netgroup astring ldap config/printer astring "user files"
在此输出中,所有未明确提及的服务均继承缺省值 files ldap。因此,将先在文件中搜索 passwd(以及 user_attr)、auth_attr 和 prof_attr,然后再在 LDAP 中搜索。
nscd 守护进程可以具有很长的生存时间间隔。通过重新启动此守护进程,可使用当前数据更新该命名服务。
# svcadm restart name-service/cache
将安全属性用作 userattr -v 命令的值。例如,以下命令指明了对用户 jdoe 指定的安全属性以及执行指定操作的位置:
# userattr -v audit_flags jdoe Indicates modified system defaults user_attr: fw:no # userattr -v auths jdoe Indicates no added auths Basic Solaris User :solaris.mail.mailq,solaris.network.autoconf.read, solaris.admin.wusb.read Console User :solaris.system.shutdown,solaris.device.cdrw, solaris.device.mount.removable,solaris.smf.manage.vbiosd,solaris.smf.value.vbiosd # userattr -v defaultpriv jdoe Indicates basic user privileges only # userattr -v limitpriv jdoe Indicates default limit privileges # userattr -v lock_after_retries jdoe Indicates no automatic lockout # userattr -v pam_policy jdoe Assigned per-user PAM policy # userattr -v profiles jdoe Indicates assigned rights profiles user_attr: Audit Review,Stop # userattr roles jdoe Assigned roles user_attr : cryptomgt,infosec
输出指示 jdoe 已直接分配有审计标志、两个权限配置文件和两个角色。因此,权限配置文件中的任何审计标志值都将被忽略。承担某个角色后,该角色中的审计标志将替换用户的审计标志。
授权指定的来源并不重要,因为会为用户累积授权。不过,拼写错误的授权将失败,且不会进行提示。
例如,为能够成功运行,某些命令要求 uid=0,而非 euid=0。此外,一些命令的选项都需要授权。
使用 userattr 命令,如 步骤 2 中所述。
该列表中最早的权限配置文件中的属性值是内核中的值。如果该值不正确,请在该权限配置文件中更改该值,或者按正确顺序重新指定配置文件。
对于特权命令,请检查是通过 defaultpriv 关键字指定了特权,还是通过 limitpriv 关键字删除了特权。
如果属性已指定给一个角色,则该用户只有承担该角色才能获取安全属性。如果属性已指定给多个角色,则列表中最早角色的指定是有效指定。如果该值不正确,请将正确的值指定给列表中的第一个角色,或者按正确顺序重新指定角色。
不要直接指定特权,而是将特权指定给需要它的命令,添加所需的授权,将命令和授权置于一个权限配置文件中,然后将该配置文件指定给用户。
如果存在,将其指定给用户。将该权限配置文件放在所有包括该命令的其他权限配置文件之前。
必须在配置文件 shell 中执行管理命令。要更正用户错误,可以将配置文件 shell 指定为用户的登录 shell。或者,您可以提醒用户在配置文件 shell 中运行管理命令。
特别是,检查用户的 defaultpriv 和 limitpriv 属性的值。
权限配置文件列表中最早的值是内核中的值。如果该值不正确,请在该权限配置文件中更改该值,或者按正确顺序重新指定配置文件。
特别是,检查配置文件的 defaultpriv 和 limitpriv 属性的值。
如果该命令已指定给某角色,则用户只有承担该角色才能获取安全属性。如果属性已指定给多个角色,则列表中最早角色的指定是有效指定。如果值不正确,请将正确的值指定给列表中的第一个角色,或者按正确顺序重新指定角色。
管理命令需要特权才能成功运行。一些命令的选项都需要授权。最佳做法是指定包括管理命令的权限配置文件。
特别是,检查角色的 defaultpriv 和 limitpriv 属性的值。
权限配置文件列表中最早的值是内核中的值。如果该值不正确,请在该权限配置文件中更改该值,或者按正确顺序重新指定配置文件。