Perl для системного администрирования

Услуги юриста помощь в регистрации фирм Новокузнецк. Юридическая помощь.

Создание системы учетных записей для работы с пользователями - часть 23


{'name' => Saccount,

'password' => $record->{password},

'home_dir' => "$homeNTdirs\\$account",

'full_name' => $record->{fullname}}); 

return Win32::Lanman::6etLastError() unless ($result);

 добавляем в нужную ЛОКАЛЬНУЮ группу

(предварительно мы Я получаем SID учетной записи)

# Мы считаем, что имя группы совпадает с типом учетной

die "SID lookup error:

".Win32::Lanman::6etLastError()."\n"

 unless (Win32: :Lanman: :LsalookupNames("", [$account],

\@info)); $result = Win32::Lanman::NetLocalGroupAddMember("",

$record->{type), ${$info[0]){sid»;

return Win32::Lanman::GetLastError() unless (Sresult);

# создаем домашний каталог

mkdir "$homeNTdirs\\$account",0777 or

return "Unable to make honedir:$!";

№ устанавливаем ACL и владельца каталога

$acl = new Win32::Perms("$homeNTdirs\\$account");

$acl->0wner($account);

# мы предоставляем пользователю полный контроль за

# каталогом и всеми файлами, которые будут в нем созданы

# (потому и два различных вызова)

DIRECTORY | СОНТШЕВ_ШЕИТ_АСЕ);

$acl->Allow($account, FULL, -

FILE|OBJECT_INHERIT_ACE|IMHERIT_ONLY_ACE);

$result = $acl->Set(); $acl->Close();

return($result ? "" : Sresult); }

Программа для удаления пользователей выглядит так:

use Win32: iLanman;

 для удаления учетной записи

use File::Path;

для рекурсивного удаления каталогов

sub DeleteNTAccount{

my($account,$record) = @_;

# удаляем пользователя только из ЛОКАЛЬНЫХ групп.

Если мы № хотим удалить их и из глобальных групп, мы можем убрать

слово "Local" из двух вызовов Win32::Lanman::NetUser

(например, NetUserGetGroups)

die "SID lookup error: ".Win32::Lanman::GetLastError()."\n"

unless (Win32::Lanman::LsaLookupNames("",

[Saccount], \@info));

Win32::Lanman::NetUserGetLocalGroups($server, Saccount, ",

\@groups); foreach $group (@groups){

print "Removing user from local group ".




- Начало -  - Назад -  - Вперед -