【问题标题】:Why isn't there a pwd python module for windows为什么没有适用于 windows 的 pwd python 模块
【发布时间】:2015-05-23 14:22:06
【问题描述】:

许多不同的软件工具都使用 Unix 特定的pwd module,因此无法在 Windows 上运行。该模块只有少数与用户和密码文件相关的功能。

乍一看,它似乎可以在 Windows 机器上复制。因为我找不到,所以我认为一定有一个表演塞子。

有谁知道创建 Windows 版本的 pwd 模块的技术挑战是什么?

【问题讨论】:

  • 寡妇上缺少 pwd 命令是这个原因
  • @TymoteuszPaul。 unix pwd 命令与密码无关 - 它只是打印当前工作目录,相当于 Windows 上的 cd(不带参数)。

标签: python windows module passwords


【解决方案1】:

在 Unix 及其衍生版本上管理用户的方式与 Windows 非常不同,因此支持两者的模块需要更高级别的抽象。

正如您链接到的文档所表明的那样,pwd 模块基本上只是对标准/etc/passwd 文件的访问的包装,直接公开其字段。 Windows 系统没有“shell”和“gecos”等字段的等效项,相反,Windows 用户的某些属性将没有字段,因此任何包装器都毫无意义。

【讨论】:

  • 包装器的重点是抽象细节。在这种情况下,是否可以简单地抽象windows操作系统?
  • @rick.it.2004 抽象的细节是什么?我想您可以将 Windows SID 视为 UID,即使它不是整数。但我很难想到一个用例,其中模拟 /etc/passwd 的 Windows 包装器会很有用,因为大多数字段都没有等效项。
  • 首先,您不需要将包装器中的数据解析为来自底层操作系统的真实数据,您需要做的就是确保功能相同。输入数据和底层操作系统之间的映射将在包装器中进行管理。但是,由于我没有详细研究它,我不知道这是否可能。 @IMSoP,您确定这种映射是不可能的吗?
  • @rick.it.2004 除了查找一些数据字段之外,该模块中没有其他功能,因此谈论模拟行为毫无意义。你会在 Windows 上宣传什么是用户的“shell”,它会以任何方式有用,更不用说对基于 Unix 的脚本期望它有用的事情有用了。当然,这完全取决于现有脚本使用该模块的目的,但就像我说的那样,我想不出一个包装器实际上有用的用例。
猜你喜欢
  • 1970-01-01
  • 2011-01-05
  • 2011-03-25
  • 2015-04-24
  • 2018-11-02
  • 1970-01-01
  • 2018-12-11
  • 2013-09-20
  • 2012-07-23
相关资源
最近更新 更多