PmWiki has built-in support for password-protecting various areas of the wiki site. Authors generally want to be able to apply passwords to individual pages or to wiki groups. Wiki Administrators can apply passwords to individual pages, to wiki groups, or to the entire site. As with any access control system, the password protection mechanisms described here are only a small part of overall system and wiki security.
As an author editing pages...
An author will generally use 3 types of passwords:
To set a password on an individual wiki page, add
To set a password on a wiki group is slightly more difficult--you just set the passwords on a special page in each group called "GroupAttributes". First, you can get to the attributes page for GroupAttributes by entering a URL (address) like
Multiple passwords for a page, group or site are allowed. Simply enter multiple passwords separated by a space. This allows you to have a read password, a write password, and have the write password allow read/write access.
Set new read password: alpha beta Set new edit password: beta
This says that either "alpha" or "beta" can be used to read pages, but only "beta" may edit. Since
As an administrator ...
You can set passwords on pages and groups exactly as described above for authors. You can also:
For more information on password options available to administrators, see PasswordsAdmin.
Which password wins?
In PmWiki, page passwords override group passwords, group passwords override the default passwords, and the
Opening access to pages in protected groups/sites
Sometimes we want to "unprotect" pages in a group or site that is otherwise protected. In these cases, the special password "nopass" is used to indicate that access should be allowed to a page without requiring a password.
For example, suppose Main.GroupAttributes has an edit password set, thus restricting the editing of all pages in Main. Now we want Main.WikiSandbox to be editable without a password. Using "clear" for the edit password for Main.WikiSandbox doesn't unprotect the page, because the password is being set by the group. Instead, we set the edit password for Main.WikiSandbox to the special value "nopass", which tells PmWiki to ignore any site-wide or group-level passwords for that page.
Security holes ...
Administrators need to carefully plan where passwords are applied to avoid opening inadvertent security holes. If your wiki is open (anyone can read and edit), this would not seem to be a concern, except, a malicious or confused user could apply a read password to a group and make the group completely unavailable to all other users. At the very least, even an open wiki should have a site-wide "admin" password and a site-wide "attr" password set in config.php. The sample-config.php file distributed with PmWiki indicates that the PmWiki and Main groups have "attr" locked by default, but if anyone creates a new group, "attr" is unlocked. Administrators must remember to set "attr" passwords for each new group (if desired) in this case. An easier solution is to include these lines in config.php :
$DefaultPasswords['admin'] = crypt('youradminpassword'); $DefaultPasswords['attr'] = crypt('yourattrpassword');
This sets your "admin" and "attr" passwords and ensures that any new group will have this "attr" password automatically applied to it.