Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > permissions win32


Автор: Mikhail0s 19.8.2005, 15:48
Как работать с правами под виндой не вызывая виндовых утилит? Нужно получать/назначать права.

Автор: chaos 19.8.2005, 16:27
никак!!!!!!!!!!

Автор: sharq 19.8.2005, 17:19
Mikhail0s к сожалению, функция chmod, позволяющая назначать права доступа, работает только для *nix-подобных систем. Для WindowsNT пока еще нет реализации...
Есть модуль File::Find::Rule::Permissions, но он только для *nix-подобных систем.

Для Windows есть модуль Win32::File, с помощью которого можно назначать традиционные DOS-атрибуты файлам. Этот модуль входит в стандартную комплектацию perl и содержит два метода: GetAttributes и SetAttributes.
Возможные атрибуты:
ARCHIVE - The file has been modified since it was last archived.
DIRECTORY - The file is a directory.
HIDDEN - The file is hidden (that is, it won't normally appear in directory listings).
NORMAL - The file is a normal (read/write) file.
READONLY - The file is read-only.
SYSTEM - The file is a system file (among other things, it can't be deleted without first changing the attributes).
COMPRESSED
OFFLINE
TEMPORARY

Если ты используешь файловую систему NTFS, то для установки прав необходимо использовать модуль Win32::FileSecurity или утилиту Windows NT cacls.exe .

Также можешь посмотреть в сторону таких модулей, как Win32::NetAdmin и Win32API::Net.

smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)