草庐IT

Linux安全加固

全部标签

linux - 在 Linux .NET Core 上生成类似 Windows 的友好时区名称列表

我们有一个在Windows下运行的.NET4.7MVC5网络应用程序,它允许用户使用标准的Windows显示名称选择他们的时区,例如(UTC+00:00)Dublin,Edinburgh,Lisbon,London:我们希望通过使用.NETCore2.0构建的新API提供相同的时区选项列表,该API将在Linuxdocker容器中运行。这可能吗?我找到了MattJohnson's优秀TimeZoneConverter包,它在Windows的GMT标准时间和IANA的Europe/London之间转换方面做得很好。但是,我似乎无法从任何地方获取Windows显示名称。下面是一些示例代码,

windows - 有没有办法使用 PowerShell 检查本地服务器上任意安全主体的管理权限?

网络上的许多示例显示了使用以下方法检查当前用户是否具有管理权限的方法[Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()在特定服务器上运行命令时,是否有类似的方法来检查不是“当前”身份,而是检查任何(本地或域,例如,从Get-ACLcmdlet检索)。我检查了https://learn.microsoft.com/en-us/dotnet/api/system.security.principal.windowsidentity.-ctor?view=netfram

windows - 让 Linux shell 脚本将字符串填充到 Windows 用户的复制/粘贴缓冲区中

我们现在有一个脚本,我们的Windows用户可以通过putty在Linux主机上运行该脚本。脚本有时会生成一个字符串,用户必须将其复制并粘贴到Windows应用程序中。如果不在Windows机器上运行成熟的X显示服务器,我想修改脚本,以便将字符串自动填充到Windows用户的复制/粘贴缓冲区中,这样对用户来说更方便等等我们降低了错误率(工作流程已经够笨拙的了,我们想让它少一点)。以下是我不考虑的解决方案:为此在Windows端运行一个完整的X显示管理器(如果存在一个几乎不可见的实用程序来启用仅此一个功能,那就另当别论了)让用户停止运行Windows重写任何其他应用程序我可以完全控制Wi

c++ - RegSetValueEx 线程安全吗?

我怀疑RegSetValueEx是线程安全的,但希望得到社区的一些确认。如果多线程调用,会不会有副作用?RegSetValueExMSDNdocumentation根本没有提到线程安全。 最佳答案 相关Q:IstheWin32Registry‘threadsafe’? 关于c++-RegSetValueEx线程安全吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/2847488

c++ - Windows 和 Linux 中的毫秒级随机种子

我需要在boost(从int加载)中为几个进程播种随机数生成器,用于必须在Windows和Linux中编译和运行的程序。我使用了std:time(0),它起作用了,但由于进程是同时运行的作业,其中一些会在同一秒运行,产生相同的结果。所以我需要从毫秒开始播种,或者任何其他跨平台随机生成器。我尝试了clock()但无法完全将其从time_t转换为int。谢谢。 最佳答案 您最好使用特定于平台的随机数源。在Linux上,使用/dev/urandom并读取几个字节。在Windows上,获取几个字节的熵的简单方法是UuidCreate.

c++ - 安全获取在 Windows API 中运行可执行文件的路径

嘿,我正在尝试获取与我的exe文件位于同一文件夹中的dll的路径。要走的路似乎是使用QueryFullProcessImageName()或GetModuleFileName()之一来获取正在运行的可执行文件的路径,然后使用字符串操作使其成为改为所需库的路径。不幸的是,这两个函数都没有提供提前找出所需缓冲区大小的方法。我试过为nSize参数传递零,但这没有达到预期的效果。执行此操作的最佳实践方法是什么? 最佳答案 在实践中,您可以使用WindowsAPIMAX_PATH作为您的缓冲区大小,也许加1以提高安全性。理论上Windows路

virtualbox 和 linux/windows 上的 android-x86

我读到我可以在模拟器上测试android应用程序,但我也可以使用Virtualbox,这样应用程序会更快。网上有很多关于Virtualbox的教程,但是都提示我必须选择LinuxonVirtualBox。我知道Android的内核是LinuxKernel2.6,但问题是:我还可以选择Windows吗?用Linux会更快吗?这是一个简单的好奇心。x86是体系结构,我认为我可以在Virtualbox上使用Linux、Windows或MacOSX。非常感谢你提前 最佳答案 对于Android,您需要选择Linux,因为在Android之下

windows - 运行非线程安全 Dll 的多个 'instances'?

我有一个dll的源代码还不是线程安全的。dll相当复杂,需要相当长的时间才能使其线程安全。所以我想出了独立运行Dll的几个“副本”的想法。最简单的方法可能是创建N个重命名的Dll副本并为每个线程加载一个单独的Dll。这是可行的解决方案吗?有没有更好的类似方法?是否可能存在一些包装代码?我知道这根本不是一个好的工程解决方案。请不要怪我。但它可能会解决许多问题。编辑2017我已经做到了,而且没有任何问题。伟大的!但请注意以下几点:http://msdn.microsoft.com/en-us/library/2s9wt68x%28v=vs.80%29.aspx如果DLL将任何非本地数据或对

linux - 部署守护进程的过程和位置

我是Linux新手。我最近将我的C++窗口服务移植到linux守护进程。在Windows中,我有以下文件夹结构。我发现这个结构很容易让其他同事跟随并升级到新版本。C:\services\my_app\version_1_0\my_app.exeC:\services\my_app\version_1_0\my_app.config.xmlC:\services\my_app\version_1_0\dependencies1.dllC:\services\my_app\version_1_0\log\my_app_20121110.logC:\services\my_app\versi

c++ - 模板特化导致 Windows 上的 MinGW 链接错误,而不是 Linux 上的 GCC

以下build设置在使用GCC(4.6.3)的Linux上运行良好,但不适用于使用GCC(4.7.2)的MinGW。$catMakefileall:g++-cfoo.cppg++-cbar.cppg++bar.ofoo.o-obar$catfoo.h#ifndefFOO_H#defineFOO_H#includetemplatevoidfoo(Tx){std::cout$catfoo.cpp#include"foo.h"templatevoidfoo(intx){std::cout$catbar.cpp#include"foo.h"intmain(){foo(1);}在Linux上,我