PmWikiRu /
ПожалуйÑта ÑкÑпериментируйте в пеÑочнице!ÐдминиÑтрирование паролей

админиÑтраторам (оÑновы)

У PmWiki имеетÑÑ Ð²ÑÑ‚Ñ€Ð¾ÐµÐ½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° защиты паролем различных облаÑтей вики Ñайта. Пароли могут быть назначены на отдельные Ñтраницы, на Вики Группы или веÑÑŒ вики Ñайт. Обратите внимание, что опиÑаный здеÑÑŒ механизм защиты паролем вÑего лишь Ð¼Ð°Ð»Ð°Ñ Ñ‡Ð°ÑÑ‚ÑŒ вÑей ÑиÑтемы безопаÑноÑти(и в целом вики), более подробное обÑуждение Ñмотри на Ñтранице БезопаÑноÑÑ‚ÑŒ.

Как опиÑано в разделе Пароли, авторы могут Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ PmWiki уÑтанавливать пароли как на отдельные Ñтраницы, так и на ВикиГруппы. Однако, как опиÑано далее, админиÑтраторы вики ко вÑему прочему могут уÑтанавливать пароли в файлах меÑтной наÑтройки.

ОÑновы

PmWiki поддерживает неÑколько уровней доÑтупа к Ñтраницам вики:

read пароли позволÑÑŽÑ‚ проÑматривать Ñодержимое Ñтраниц вики
edit пароли управлÑÑŽÑ‚ редактированием и изменением Ñтраниц вики
attr пароли указывают кто правоÑпоÑобен уÑтанавливать пароли на Ñтраницы (и потенциально другие атрибуты)
еÑли закачка разрешена, upload пароли управлÑÑŽÑ‚ закачкой файлов

И наконец, еÑÑ‚ÑŒ ещё пароль admin позволÑющий админиÑтратору перекрыть уÑтановленые пароли Ð´Ð»Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… Ñтраниц или групп.

По умолчанию, PmWiki имеет Ñледующие наÑтройки паролей:

  • Пароли admin и upload по умолчанию закрыты;
  • Группы Main и PmWiki закрыты паролем attr (на их ÑобÑтвенных Ñтраницах GroupAttributes);
  • Страницы в группе Site, за иÑключением Site.SideBar, закрыты Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ.

Пароль admin иÑпользуетÑÑ Ð´Ð»Ñ Ð¾Ð±Ñ…Ð¾Ð´Ð° "закрытых" паролей, Ñ‚.е. не тех, у которых нет Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ð° доÑтуп.

Смотри Ñтраницу Passwords подробно опиÑывающую уÑтановку паролей на Ñтраницы и группы. Продолжение Ñтой Ñтраницы опиÑывает уÑтановку паролей Ð´Ð»Ñ Ð²Ñего Ñайта Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ файла local/config.php.

УÑтановка паролей Ð´Ð»Ñ Ð²Ñего Ñайта

Первое, что должен наÑтроить админ -- Ñто пароль вÑего Ñайта admin. Это делаетÑÑ Ð¾Ð´Ð½Ð¾Ð¹ Ñтрокой в файле local/config.php:

    $DefaultPasswords['admin'] = crypt('secret_password');

Заметьте, что вызов crypt() здеÑÑŒ необходим -- PmWiki внутри хранит и обрабатывает вÑе пароли в виде зашифрованых Ñтрок. О подробноÑÑ‚ÑÑ… об уÑтранении читаемых паролей из файлов наÑтроек Ñмотри ниже раздел шифрованиÑ.

Ð”Ð»Ñ Ð½Ð°Ñтройки Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð²Ñего Ñайте только теми, что знает "edit" пароль добавьте Ñтроку подобную Ñледующей в local/config.php:

    $DefaultPasswords['edit'] = crypt('edit_password');

Ðналогично вы можете уÑтановить пароли $DefaultPasswords['read'], $DefaultPasswords['edit'] и $DefaultPasswords['upload'] Ð´Ð»Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñ‡Ñ‚ÐµÐ½Ð¸ÐµÐ¼, редактированием и закачкой файлов Ð´Ð»Ñ Ð²Ñего Ñайта. Пароли по ÑƒÐ¼Ð¾Ð»Ñ‡Ð°Ð½Ð¸Ñ Ð¸ÑпользуютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ð´Ð»Ñ Ñтраниц или групп не имеющих наÑтроеных паролей. Ко вÑему прочему, каждое значение $DefaultPasswords может быть маÑÑивом зашифрованых паролей:

    $DefaultPasswords['read'] = array(crypt('alpha'), crypt('beta'));
    $DefaultPasswords['edit'] = crypt('beta');

Что говорит, что оба Ð¿Ð°Ñ€Ð¾Ð»Ñ "alpha" или "beta" иÑпользуютÑÑ Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ñтраниц, но только пароль "beta" позволÑет кому-либо редактировать Ñтраницу. ВпоÑледÑÑ‚Ñвии PmWiki запоминает вÑе пароли введёные во Ð²Ñ€ÐµÐ¼Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ ÑеÑÑии, пароль "beta" позволить и редактировать и менÑÑ‚ÑŒ Ñтраницы, когда как "alpha" позволÑет только чтение. ЛичноÑÑ‚ÑŒ не Ð²Ð²ÐµÐ´ÑˆÐ°Ñ ÐºÐ°ÐºÐ¾Ð¹-либо пароль не Ñможет проÑмотреть Ñтраницы.

Ð˜Ð½Ð´Ð¸Ð²Ð¸Ð´ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ñ (имÑ/пароль региÑтрациÑ, ?)

Ð’ отличии от множеÑтва ÑиÑтем иÑпользующих Ð´Ð»Ñ Ð´Ð¾Ñтупа к Ñтраницам индивидуальную авторизацию (Ñ‚.е. у каждого Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ð¾Ðµ Ð¸Ð¼Ñ Ð¸ пароль), PmWiki изначально пользуетÑÑ ÑиÑтемой паролей. Ð’ оÑновном защита только паролем чаÑто проще в поддержании, потому что она не требует админиÑтративной нагрузки Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑƒÑ‡Ñ‘Ñ‚Ð½Ñ‹Ñ… запиÑей пользователей, воÑÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð±Ñ‹Ñ‚Ñ‹Ñ… паролей, ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð°Ð¼Ð¸ пользователей.

Однако, Ñценарий PmWiki authuser.php добавлÑет к ÑиÑтеме паролей возможноÑÑ‚ÑŒ доÑтупа к Ñтраницам по комбинации имени Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¸ паролÑ. О подробноÑÑ‚ÑÑ… по управлению доÑтупа к Ñтраницам по идентификации Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ñмотри ?.

Дыры безопаÑноÑти ...

ÐдминиÑтратору Ñтоит очень внимательно планировать применение паролей во избежание Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð´Ñ‹Ñ€ в ÑиÑтеме безопаÑноÑти по невнимательноÑти. ЕÑли ваша вики открыта (кто угодно может читать и править), Ñто казалоÑÑŒ бы не беÑпокоит, за иÑключением ÑÐ»ÑƒÑ‡Ð°Ñ Ð·Ð»Ð¾Ð±Ð½Ð¾Ð³Ð¾ или запутавшегоÑÑ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð¼Ð¾Ð³ÑƒÑ‰ÐµÐ³Ð¾ уÑтановить пароль Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð½Ð° группу и тем Ñамым Ñделать её недоÑтупной Ð´Ð»Ñ Ð¾Ñтальных пользователей. По наикрайнейшей мере, даже Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð°Ñ Ð²Ð¸ÐºÐ¸ должна иметь Ð´Ð»Ñ Ð²Ñего Ñайта пароли "admin" и "attr" ѻеные в файле config.php. РаÑпроÑтранÑемы Ñ PmWiki файл sample-config.php указывает, что группы PmWiki и Main имеют изначально запертый "attr", но еÑли кто-либо ÑоздаÑÑ‚ новую группу, то "attr" отопрётÑÑ. Ð’ таком Ñлучае админиÑтраторам надо помнить об уÑтановке Ð¿Ð°Ñ€Ð¾Ð»Ñ "attr" Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ новой группе (по необходимоÑти). ПроÑтейшее решение -- Ñто вÑтавить Ñледующие Ñтроки в config.php:

$DefaultPasswords['admin'] = crypt('ваш-admin-пароль');
$DefaultPasswords['attr'] = crypt('ваш-admin-пароль');

Шифрование паролей в config.php

У иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ crypt() Ð´Ð»Ñ ÑƒÑтановки паролей в файле config.php еÑÑ‚ÑŒ один недоÑтаток -- кто-нибудь может проÑмотреть файл и увидеть незашифрованый пароль. Ðапример, еÑли config.php Ñодержит

    $DefaultPasswords['admin'] = crypt('mysecret');

то пароль "mysecret" Ñвен Ð´Ð»Ñ Ð´Ñ€ÑƒÐ³Ð¸Ñ… ÑмотрÑщих. Однако, админиÑтратор вики может получить и иÑпользовать зашифрованую форму Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ð°Ð¿Ñ€Ñмую воÑпользовавшиÑÑŒ ?action=crypt на любой Ñтранице PmWiki (или проÑто перейти на PasswordsAdmin?action=crypt). Это дейÑтивие выдаёт форму Ð´Ð»Ñ Ð³ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ð¸ зашифрованых верÑий паролей в пригодном виде Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° config.php. Ðапример, когда ?action=crypt получит пароль "mysecret", PmWiki вернёт Ñтроку вроде

    $DefaultPasswords['type']='$1$vR4.Ma1.$llNADCnbvJRxIE/hqnucA.';

Строка Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð°Ñ Ð¸Ð· ?action=crypt может быть помещена прÑмо в config.php, как в:

    $DefaultPasswords['admin']='$1$vR4.Ma1.$llNADCnbvJRxIE/hqnucA.';

Обратите внимание, что в зашифрованой форме ключевое Ñлово crypt и Ñкобки удалены, так как пароль уже зашифрован. Кроме того, зашифрованый пароль дожен быть заключён в одиночные апоÑтрофы. Ð’ данном примере пароль вÑÑ‘ ещё "mysecret", но кто-либо заглÑнувший в config.php не Ñможет его подÑмотреть даже увидев его зашифрованую форму. Crypt может дать вам другие шифры Ð´Ð»Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ и того же Ð¿Ð°Ñ€Ð¾Ð»Ñ -- Ñто нормально (и затруднÑет определение иÑходного паролÑ).

СнÑтие паролÑ

Чтобы полноÑтью удалить Ñ Ñайта, такой как по умолчанию закрытый пароль Ð´Ð»Ñ Ð·Ð°ÐºÐ°Ñ‡ÐµÐº, проÑто уÑтановите в значение пуÑтой Ñтроки:

    $DefaultPasswords['upload'] = '';

Также вы можете иÑпользовать Ñпециальный пароль "nopass"(определÑемый переменной $AllowPassword) через дейÑтвие ?action=attr, чтобы получить Ñтраницу без защиты паролем в закрытой паролем группе или группу без Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð½Ð° закрытом паролем Ñайте.

Отмена или анулирование паролей

ЕÑли пароль Ñкомпрометирован и админиÑтратор вики хочет быÑтро анулировать вÑех пользователей Ñ Ñ‚Ð°ÐºÐ¸Ð¼ паролем на Ñайте, то проще в файле local/config.php добавить Ñледующие Ñтроки:

    $ForbiddenPasswords = array('secret', 'tanstaafl');
    if (in_array(@$_POST['authpw'], $ForbiddenPasswords)) 
      unset($_POST['authpw']);

Это не допуÑкает принÑтие от кого-либо "secret" и "tanstaafl" как дейÑтвующиего Ð¿Ð°Ñ€Ð¾Ð»Ñ Ð°Ð²Ñ‚Ð¾Ñ€Ð¸Ð·Ð°Ñ†Ð¸Ð¸, незавиÑимо от того пользуютÑÑ Ð¸Ð¼ Ñтраницы или нет.

Также Ñмотри

  • МаÑÑив $HandleAuth уÑтанавливающий требуемый уровень авторизации необходимый Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð´ÐµÐ¹ÑтвиÑ(action).

Защита дейÑтвий (пример)

Каждое дейÑтвие может быть защищено паролем. Ðвторы Рецептурника Ñнабжающие Ñценарии ÑобÑтвенными дейÑтвиÑми также могут иÑпользовать такой приём, но Ñ ÑƒÐ¿Ñ€Ð¾Ñтил пример до (по умолчанию) не защищённого ?action=source. Это дейÑтвие показывает иÑходную разметку Ñтраницы. Иногда вы не желаете её показывать, оÑобенно при иÑпользовании уÑловной разметки, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ðµ должна открыватьÑÑ Ð»ÐµÐ³ÐºÐ¾ и быть доÑтупной только тем, у кого еÑÑ‚ÑŒ права на правку.

Ð”Ð»Ñ Ñтого еÑÑ‚ÑŒ неÑколько решений:

  1. Чтобы разрешить "source" только редакторам добавьте Ñледующиее в ваш local/config.php:
    $HandleAuth['source'] ='edit';
  2. Ð”Ð»Ñ Ð¸ÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ "source" Ñ ÑобÑтвенный паролем добавьте:
    $HandleAuth['source'] ='source';
    $DefaultPasswords['source'] = crypt(secret); # Ñмотри выше
    ЕÑли вы дополнительно хотите уÑтановить пароль в атрибутах Ñтраницы, то добавьте:
    $PageAttributes['passwdsource'] = "$['Set new source password']";

<< ÐаÑтройка отдельных групп | Ð”Ð¾ÐºÑƒÐ¼ÐµÐ½Ñ‚Ð°Ñ†Ð¸Ñ | Управление закачками >>

Перевод Ñтраницы PmWiki.PasswordsAdmin - Оригинал перевода PmWikiRu.PasswordsAdmin - Backlinks
PmWikiRu.PasswordsAdmin: Ñ€ÐµÐ´Ð°ÐºÑ†Ð¸Ñ Ð¾Ñ‚ 21.04.2006 16:52 Uhr
PmWiki.PasswordsAdmin: Ñ€µÐ´Ð°ÐºÑ†Ð¸Ñ от 03.06.2022 08:04 Uhr

Seite zuletzt geändert am 21.04.2006 16:52 Uhr