gpt4 book ai didi

perl - 如何在 Perl 中修改 Windows NTFS 权限?

转载 作者:行者123 更新时间:2023-12-04 16:33:00 27 4
gpt4 key购买 nike

我在 Windows Server 2003 上使用 ActiveState Perl。

我想在 Windows NTFS 分区上创建一个目录,然后授予 Windows NT 安全组对该文件夹的读取权限。这在 Perl 中可能吗?我是否必须使用 Windows NT 命令或是否有 Perl 模块来执行此操作?

一个小例子将不胜感激!

最佳答案

标准方法是使用 Win32::FileSecurity模块:

use Win32::FileSecurity qw(Set MakeMask);

my $dir = 'c:/newdir';
mkdir $dir or die $!;
Set($dir, { 'Power Users'
=> MakeMask( qw( READ GENERIC_READ GENERIC_EXECUTE ) ) });

请注意 Set将覆盖该目录的权限。如果要编辑现有权限,则需要 Get他们首先:
my %permissions;
Win32::FileSecurity::Get($dir, \%permissions);
$permissions{'Power Users'}
= MakeMask( qw( READ GENERIC_READ GENERIC_EXECUTE ) ) });
Win32::FileSecurity::Set($dir, \%permissions);

关于perl - 如何在 Perl 中修改 Windows NTFS 权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/302507/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com