小编Chr*_*ris的帖子

为 python 模块创建 golang 绑定

我想为现有的(第三方)Python 模块编写 golang 绑定。目的是想使用Golang中Python模块提供的API。

我已经找到了 Python 的 C API 的 golang 绑定(py3 的go-python3和 py2 的go-python),但我仍然没有弄清楚如何将相对复杂的 Python 模块转换为 Golang(即如何处理类型安全在python中寻找不安全的输入和返回等)。

什么是好的方法?该领域是否有任何预先存在的工具?有没有关于 Python 代码的 Golang 绑定的好例子?(我找不到很多 tbh)。

python binding cpython go

10
推荐指数
1
解决办法
3075
查看次数

为什么使用自制软件安装的可执行文件在 MacOS 上受到信任?

我有一个关于自制程序的愚蠢问题:为什么我通过自制程序安装的可执行文件受到 MacOS(看门人)的信任?即安装后我可以运行可执行文件并且不会弹出安全窗口并且不必允许异常 - 这是为什么?

我最初认为自制程序可能会在其 CI 中对二进制文件进行签名/公证,但查看一些随机可执行文件,看起来它们没有签名:spctl -a -v $(which <some-executable-installed-with-homebrew>)

编辑:意思是从瓶子安装的可执行文件(预编译的二进制文件,而不是在我的本地计算机上编译的源包)

macos homebrew osx-gatekeeper notarize

7
推荐指数
1
解决办法
1574
查看次数

win32api - 启用了UAC的符号链接创建问题?

我正在尝试使用CreateSymbolicLinkW()函数(来自Kernel32.dll)来创建符号链接.

在相应的计算机上(Win7 Pro x64 SP1):

  • UAC已启用(=具有本地管理员权限的用户的进程默认情况下未提升)
  • 我已经为所有经过身份验证的用户授予了"创建符号链接"用户权限的分配(通过计算机组策略 - > Windows设置 - >安全性 - >本地策略 - >用户权限分配 - >创建符号链接=经过身份验证的用户)
  • 我已启用所有可能的符号链接评估类型(再次通过组策略设置).(确认"fsutil behavior query SymlinkEvaluation"返回:"启用本地到本地符号链接.启用本地到远程符号链接.启用远程到本地符号链接.启用远程到远程符号链接."

现在的情况是:

  • 当我在UNELEVATED进程中作为NON-ADMIN用户运行CreateSymbolicLinkW()时,它工作(创建符号链接)
  • 当我在ELEVATED进程中作为ADMIN用户运行CreateSymbolicLinkW()时,它工作(创建符号链接)
  • 当我在UNELEVATED(!)进程中作为ADMIN(!)用户运行CreateSymbolicLinkW()时,它不工作

最后一个案例是实际问题.GetLastError返回的错误是:1314(="客户端未保留所需的权限").

为什么在没有升级的进程中管理员用户失败,而它适用于未高效的shell中的任何非管理员用户?

我的代码旨在由任何类型的用户运行,最好是在一个不高的过程中.要求管理员用户提升流程作为一种解决方法是我在任何情况下都要避免的.

使用Windows shell btw中的MKLINK命令也可以重现相同的行为(非升级shell中的admin用户失败,而非升级shell中的所有非管理员用户都失败).

我非常感谢任何想法/建议.提前谢谢了!

编辑:Python 2.7的示例代码:

import ctypes
CreateSymbolicLinkW = ctypes.WinDLL("Kernel32").CreateSymbolicLinkW
CreateSymbolicLinkW(u"c:\\linktest\\testlink.txt", u"c:\\linktest\\testtarget.txt",0)
print(ctypes.WinDLL("Kernel32").GetLastError())
Run Code Online (Sandbox Code Playgroud)

winapi symlink uac kernel32 mklink

2
推荐指数
1
解决办法
829
查看次数

标签 统计

binding ×1

cpython ×1

go ×1

homebrew ×1

kernel32 ×1

macos ×1

mklink ×1

notarize ×1

osx-gatekeeper ×1

python ×1

symlink ×1

uac ×1

winapi ×1