Changes between Version 2 and Version 3 of UsingPidginMercurial


Ignore:
Timestamp:
06/03/12 21:22:34 (7 years ago)
Author:
rekkanoryo
Comment:

Add some more information about "root" access.

Legend:

Unmodified
Added
Removed
Modified
  • UsingPidginMercurial

    v2 v3  
    7171
    7272=== Adding New Users ===
    73 The process to allow new users SSH access to the Mercurial repositories is pretty simple, but requires someone with "root" access to mercurial-server.  Currently those people are rekkanoryo and lschiere.
     73The process to allow new users SSH access to the Mercurial repositories is pretty simple, but requires someone with "root" access to mercurial-server.  Currently those people are datallah, rekkanoryo, and lschiere.
    7474
    7575  1. Check out the `hgadmin` repo: `hg clone ssh://hg@hg.pidgin.im/hgadmin pidgin-hgadmin`
    76     1. `cd pidgin-hgadmin/keys`.  Inhere  is a series of directories.  The format is self-explaining.  Developers go in `devs/$NICKNAME`, CPW's in `cpws/$NICKNAME`, SoC students in `soc/$NICKNAME`.
    77     1. Create the appropriate directory.
    78     1. Within this directory create a file named for the SSH key being added, for example `user@somehost`.
    79     1. Put the SSH public key in this file.
    80     1. `hg add $FILE`
    81     1. Go back to the root of `pidgin-hgadmin`.
    82     1. Edit `access.conf`.  Copy an existing line for the same class of user (developer, CPW, SoC student) and modify it as appropriate for the new person's nickname and, if applicable, SoC year.
    83     1. `hg commit`
    84     1. `hg push` (mercurial-server updates automatically on push)
     76  1. `cd pidgin-hgadmin/keys`.  Inhere  is a series of directories.  The format is self-explaining.  Developers go in `devs/$NICKNAME`, CPW's in `cpws/$NICKNAME`, SoC students in `soc/$NICKNAME`.  This is to allow a single developer, CPW, or SoC student to have multiple SSH keys, perhaps for multiple machines.
     77  1. Create the appropriate directory.
     78  1. Within this directory create a file named for the SSH key being added, for example `user@somehost`.
     79  1. Put the SSH public key in this file.
     80  1. `hg add $FILE`
     81  1. Go back to the root of `pidgin-hgadmin`.
     82  1. Edit `access.conf`.  Copy an existing line for the same class of user (developer, CPW, SoC student) and modify it as appropriate for the new person's nickname and, if applicable, SoC year.
     83  1. `hg commit`
     84  1. `hg push` (mercurial-server updates automatically on push)
     85
     86=== A Special Note About "root" Access ===
     87As indicated above, people who have "root" access to mercurial-server have the ability to configure the server via the `hgadmin` repo.  They also have the ability to bypass all ACL's, and thus can write to any repository, including developers', CPWs', and SoC students' repositories.
     88
     89Additionally, there is a safety net built into the mercurial-server configuration.  In `/etc/mercurial-server` on rock.pidgin.im is a default ACL (`access.conf`) and a `keys` directory structure.  This default ACL is what grants "root" users their privileges, and the `keys` directory structure contains two keys in the `keys/root` directory.  These two keys belong to rekkanoryo and lschiere.  These keys are located here in the server's filesystem instead of in the hgadmin repository as a safety net.  When building the files used by mercurial-server, the tools ''always'' read from `/etc/mercurial-server` ''before'' reading from `hgadmin`; this allows rekkanoryo and lschiere to always be able to access the hgadmin repo in the event that it is damaged either through accidental or intentional means.  This safety net means that at least two people will ''always'' have access to our repositories.
All information, including names and email addresses, entered onto this website or sent to mailing lists affiliated with this website will be public. Do not post confidential information, especially passwords!