PmWikiRu /
ПожалуйÑта ÑкÑпериментируйте в пеÑочнице!ÐдминиÑтрирование паролей
админиÑтраторам (оÑновы)
У PmWiki имеетÑÑ Ð²ÑÑ‚Ñ€Ð¾ÐµÐ½Ð°Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ° защиты паролем различных облаÑтей вики Ñайта. Пароли могут быть назначены на отдельные Ñтраницы, на Вики Группы или веÑÑŒ вики Ñайт. Обратите внимание, что опиÑаный здеÑÑŒ механизм защиты паролем вÑего лишь Ð¼Ð°Ð»Ð°Ñ Ñ‡Ð°Ñть вÑей ÑиÑтемы безопаÑноÑти(и в целом вики), более подробное обÑуждение Ñмотри на Ñтранице БезопаÑноÑть.
Как опиÑано в разделе Пароли, авторы могут Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ PmWiki уÑтанавливать пароли как на отдельные Ñтраницы, так и на ВикиГруппы. Однако, как опиÑано далее, админиÑтраторы вики ко вÑему прочему могут уÑтанавливать пароли в файлах меÑтной наÑтройки.
PmWiki поддерживает неÑколько уровней доÑтупа к Ñтраницам вики:
read
пароли позволÑÑŽÑ‚ проÑматривать Ñодержимое Ñтраниц вики
edit
пароли управлÑÑŽÑ‚ редактированием и изменением Ñтраниц вики
attr
пароли указывают кто правоÑпоÑобен уÑтанавливать пароли на Ñтраницы (и потенциально другие атрибуты)
upload
пароли управлÑÑŽÑ‚ закачкой файлов
И наконец, еÑть ещё пароль admin
позволÑющий админиÑтратору перекрыть уÑтановленые пароли Ð´Ð»Ñ Ð¾Ñ‚Ð´ÐµÐ»ÑŒÐ½Ñ‹Ñ… Ñтраниц или групп.
По умолчанию, PmWiki имеет Ñледующие наÑтройки паролей:
admin
и upload
по умолчанию закрыты;
attr
(на их ÑобÑтвенных Ñтраницах GroupAttributes);
Пароль 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-пароль');
У иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ 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
. Ðто дейÑтвие показывает иÑходную разметку Ñтраницы. Иногда вы не желаете её показывать, оÑобенно при иÑпользовании уÑловной разметки, ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ðµ должна открыватьÑÑ Ð»ÐµÐ³ÐºÐ¾ и быть доÑтупной только тем, у кого еÑть права на правку.
Ð”Ð»Ñ Ñтого еÑть неÑколько решений:
$HandleAuth['source'] ='edit';
$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