Python的Windows服务自动授予文件夹权限创build重复的ACE【JAVA教程】

!
也想出现在这里? 联系我们
信息

Python的Windows服务自动授予文件夹权限创build重复的ACE,第1张

概述Python的Windows服务自动授予文件夹权限创build重复的ACE

我用Python编写了一个windows服务,扫描一个给定的目录以获得新的文件夹。 无论何时创build新文件夹,该服务都会创build4个子文件夹,并为每个文件夹授予不同的权限。 问题是,在这些子文件夹中,任何创build的文件夹(主要是三级或子文件夹)在访问权限(通过右键单击 – >属性 – >安全性)时都有以下错误:

“testing文件夹的权限被错误地sorting,这可能导致一些条目无效”

重申,我们有文件夹A被扫描。 当我在文件夹A中创build文件夹B时,文件夹1,2,3,4在B中创build,并具有脚本提供的权限。 (1,4)内创build的任何文件夹在打开目录权限时都有上述错误。 而且,SYstem,administrators和Authenticated Users的安全条目在点击高级时出现两次。

代码的相关部分是:

如何使Gradle停止尝试在NTFS驱动器上chmod MANIFEST.MF

检查非高架用户在windows上的文件权限

function.fopen:未能打开stream:在PHP中的权限被拒绝

Nginx的服务无法启动在windows 10上 – Nginx:无法打开错误日志文件:Createfile()

通过代码编辑文件夹的安全设置

import win32security import ntsecuritycon for rw_user in rw: sd=win32security.GetfileSecurity(in_dir+\”\\\”+dir_,win32security.DACL_Security_informatION) dacl=sd.GetSecurityDescriptorDacl() dacl.AddAccessAllowedAceEx(sec.ACL_REVISION_DS,sec.OBJECT_inherit_ACE|sec.CONTAINER_inherit_ACE,con.file_GENERIC_READ|con.file_ADD_file,p_dict[rw_user][0]) sd.SetSecurityDescriptorDacl(1,dacl,0) win32security.SetfileSecurity(in_dir+\”\\\”+dir_,win32security.DACL_Security_informatION,sd)

这是基于windows中使用Python设置文件夹权限中find的示例

任何帮助是极大的赞赏。

***编辑添加:

这是服务创build的文件夹上icacls.exe的输出:

PS C:> icacls \”C:directory monitormaincentertestrequest\” C:directory monitormaincentertestrequest PNIMjmtzlilmi:(OI)(CI)(R,WD) PNIMjmtzlilmi:(OI)(CI)(W,Rc) PNIMjmtzlilmi:(OI)(CI)(R,Rc) BUILTINadministrators:(I)(F) BUILTINadministrators:(I)(OI)(CI)(IO)(F) NT AUTHORITYSYstem:(I)(F) NT AUTHORITYSYstem:(I)(OI)(CI)(IO)(F) BUILTINUsers:(I)(OI)(CI)(RX) NT AUTHORITYAuthenticated Users:(I)(M) NT AUTHORITYAuthenticated Users:(I)(OI)(CI)(IO)(M)

这是我在自动创build的文件夹中创build的目录上的icacls的输出,它具有重复的条目:

PS C:> icacls \”C:directory monitormaincentertestrequesttest folder\” C:directory monitormaincentertestrequesttest folder PNIMjmtzlilmi:(OI)(CI)(R,Rc) BUILTINadministrators:(F) BUILTINadministrators:(I)(OI)(CI)(IO)(F) NT AUTHORITYSYstem:(F) NT AUTHORITYSYstem:(I)(OI)(CI)(IO)(F) BUILTINUsers:(OI)(CI)(RX) NT AUTHORITYAuthenticated Users:(M) NT AUTHORITYAuthenticated Users:(I)(OI)(CI)(IO)(M)

由服务监视的文件夹称为中心,我在其中创build的文件夹称为testing。 然后,服务在testing中创build“请求”,并在请求中创build“testing文件夹”(是的,我知道在命名文件夹方面很出色,在生产中它更加连贯一些。

再次编辑:

复制了一些错误的代码。 我使用了AddAccessAllowedAceEx而不是AddAccessAllowedAce。 很多道歉

PHP mkdir:0777变成0755?

c#创build或修改文件/目录权限:使用单声道和apache2的asp.net添加组读取权限

在C / * nix中检查指定用户的文件访问权限

“他人”的文件读取权限不起作用

RubyZip解压缩.docx,修改和压缩备份会抛出Errno :: EACCESS错误

所以这里的问题是在win32security.SetfileSecurity()函数中。 根据MSDN,此功能已过时(请参阅: https ://msdn.microsoft.com/en-us/library/windows/desktop/aa379577(v=vs.85).aspx)并已由SetnamedSecurityInfo取代。 我切换,一切似乎运作良好。 不管怎么说,还是要谢谢你!

总结

以上是内存溢出为你收集整理的Python的Windows服务自动授予文件夹权限创build重复的ACE全部内容,希望文章能够帮你解决Python的Windows服务自动授予文件夹权限创build重复的ACE所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞198 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容