从编码人员的角度来看文件权限

Posted

技术标签:

【中文标题】从编码人员的角度来看文件权限【英文标题】:File permissions from a coders perspective 【发布时间】:2016-02-10 00:04:23 【问题描述】:

文件权限是仅存储在 HDD(或其他存储介质)上并受到操作系统尊重的东西。或者硬盘驱动器是否以某种方式主动执行它们?

我知道,如果我尝试以任何方式访问/修改文件,其中涉及通过操作系统提供的功能,包括使用实际上通过操作系统/驱动程序的任何编程语言的任何类/方法,那么文件权限将强制执行。

如果我编写的代码直接与 HDD 接口会发生什么?也许如果我要研究特定 HDD 固件使用的 API,并编写代码直接向 HDD 发送信号,这将导致其固件执行某些操作。如果我这样做,文件权限会有什么影响吗?

如果我的代码需要一个尊重文件权限的操作系统,会有什么不同吗?

【问题讨论】:

【参考方案1】:

文件访问权限的存储和处理方式因文件系统和操作系统而异。例如,类 Unix 操作系统有一个 3 位八进制数,用于定义谁可以读取、写入和执行哪些文件。另一方面,Windows 以不同的方式存储此信息,并且不像 Un*x 那样具有“执行”标志。

如果您要直接写入 HDD 而不通过操作系统的文件系统驱动程序,您将不得不编写自己的文件系统版本 - 每一个都以不同的方式存储它的分配表、日志等。

进一步阅读: https://unix.stackexchange.com/questions/201831/how-do-file-permissions-work-with-partition-filesystem

【讨论】:

文件系统同时兼容windows和linux(即fat32)会发生什么

以上是关于从编码人员的角度来看文件权限的主要内容,如果未能解决你的问题,请参考以下文章

linux笔记六-------文件权限设置

android怎么在代码里获得系统文件的读写权限

从内容 uri 读取文件时出现权限错误

如何有效的跟踪线上 MySQL 实例表和权限的变更

OFBiz 初步 之 权限设计

用户角色及文件权限