Iva*_*van 6 security linux user-management
例如,mount如何决定当前用户是否有权限挂载文件系统?据我所知,它会检查fstab文件和用户所属的组(我认为是 plugdev,至少在 Ubuntu 上)。
这些设置是硬编码到程序中的,还是从哪里获取的?例如,假设我想让另一个组中的用户能够挂载文件系统,如何做到这一点?
编辑:我正在寻找安全工作原理的一般描述。mount只是一个例子。我或多或少知道文件系统权限是如何工作的,但显然还有其他事情发生。我特别想知道是否存在程序实现安全性的标准方式,或者每个程序的实现方式是否不同。
安全机制完全取决于文件和程序的权限,例如以 root 身份运行的 nfsd(覆盖文件权限)并维护自己的安全机制。块设备文件的权限决定用户是否可以挂载该设备。每个文件对于三类用户(所有者、组、世界)都具有三组权限(读、写、执行),以及下面讨论的一些特殊位。
在“一切都是文件”的 Unix 传统中,原始设备和导出的卷显示为具有文件系统权限的特殊文件。远程安装远程卷稍微复杂一些,将在下面讨论。
如果用户以与文件所有者相同的uid登录,则owner
可以使用权限。每个用户都有一个默认组,并且可以添加到/etc/group
文件中的组条目中。当用户有权访问组时,将使用该组的文件权限。否则用户拥有“world”权限。ACL(访问控制列表)可用于向可用的特定用户授予权限。
程序可以通过setuid
在其 inode 条目上设置位来覆盖用户级安全性。这将以二进制文件所有者的权限而不是登录用户的权限运行程序。此类程序的示例有nfsd
、mount
和sudo
。这些程序都有自己的安全机制;例如sudo
用于/etc/sudoers
管理权限的。
mount
基于nfsd
uid 和 gid 的工作,必须在两台机器上同步(传统上通常通过 NIS 完成)。nfsd 有一个名为 的文件/etc/exports
,其中包含导出的文件系统和一些权限数据。mount 及其 nfs 驱动程序提供 nfsd 用于验证用户挂载卷的权限的凭据。在本地卷上挂载使用块设备的文件权限。
归档时间: |
|
查看次数: |
4300 次 |
最近记录: |