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


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


sub ReadAddQueue{

open(ADD,Saccountdir.Saddqueue) or

die "Unable to open ".Saccountdir.$addqueue.":$!\n";

read(ADD, Squeuecontents, -s ADD);

close(ADD);

Squeue = XMLin("<queue>".Squeuecontents."</queue>",

keyattr => ["login"]);

ft обходим в цикле структуру данных, пытаясь создать учетную

запись для каждого запроса (т. е. для каждого ключа)

sub ProcessAddQueue{

foreach my Slogin (keys %{$queue->{account}})

{

sub InitAccountf

use XML: :Writer;

Srecord = { fields => [login, fullname,id,type,password]};

$addqueue = "addqueue"; tt имя файла очереди добавления

Sdelqueue = "delqueue"; ft имя файла очереди удаления

$maindata = "accountdb"; tt имя основной базы данных

ft учетных записей

if ($"0 eq "MSWin32"){

require Win32::Lanman;

require Win32::Perms;

require File::Path;

ft местоположение файлов учетных записей

Saccountdir = "\\\\server\\accountsystem\\";

ft списки рассылки

$maillists = "$accountdir\\maillists\\";

ft корневой каталог домашних каталогов

$homeNTdirs = "\\\\nomeserver\\home";

ft имя подпрограммы, добавляющей учетные записи

Saccountadd = "CreateNTAccount";

ft имя подпрограммы, удаляющей учетные записи

Saccountdel = "DeleteNTAccount": }

else {

require Expect;

и местоположение файлов учетных записей

$accountdir = "/usr/accountsystem/";

в списки рассылки

Smaillists = "Saccountdir/maillists/";

tt местоположение команды useradd

Suseraddex = ",/usr/sbin/useradd";

tt местоположение команды userdel

Suserdelex = "/usr/sbin/userdel";

tt местоположение команды passwd

Spasswdex = "/bin/passwd";

tt корневой каталог домашних каталогов

ShomeUnixdirs = "/home";

tt прототип домашнего каталога

$skeldir = "/home/skel";

ft командный интерпретатор по умолчанию

Sdefshell = "/bin/zsh";

ft имя подпрограммы, добавляющей учетные записи




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



Книжный магазин