cvs passwd
Users of your virtual repository are listed in the
`CVSROOT/cvspasswd' file which is managed by
cvs passwd
command, see section passwd--manage the `CVSROOT/cvspasswd' file. This
file replaces the old `CVSROOT/passwd' and
`CVSROOT/users' files. It contains the following
colon-separated fields:
The `CVSROOT/cvspasswd' should be owned by the
repos1admin
user and accessible only by that
user (mode 600).
CVS-server will get password from Vasya's
CVS-client, compare it with the password stored in
`CVSROOT/cvspasswd' and switch to group
repos1group
and user repos1user
. So
CVS will be able to access `/repos1'
and will let Vasya to work in this repository.
You can manage `CVSROOT/cvspasswd' remotely or
even let someone else do it. For example, create
CVS-account for john@company.com
and
associate this account with system user
repos1admin
:
# cvs -d /repos1 passwd -a cvsadmin -m john@company.com -u repos1admin # cvs -d /repos1 passwd -e cvsadmin
Now if John will successfully login to your repository, he will have write access to `cvspasswd' file and will be able to do commands like this remotely over the network (again formatted to fit the screen):
# cvs -d :pserver:repos1admin@machine.yourdomain.net:/repos1 passwd -a alice -m alice@company.com -u repos1user.repos1group Enter password for user alice: ******** Enter password for user alice again: ******** # cvs -d :pserver:cvsadmin@machine.yourdomain.net:/repos -e alice Enabling user alice
You now have to create users that would have remote access to the repository. Use something like this (formatted to fit the screen):
# cvs -d :local:/repos passwd -a vasya \ -m vasya@somewhere.net -u repos1user.repos1group Enter CVS password for user vasya: Enter CVS password for user vasya again: # cvs -d :local:/repos passwd -e vasya Enabling user vasya
If you'll look at `/repos/CVSROOT/cvspasswd', you will see there line like this:
vasya:$1$pAsSwOrD.:repos1user.repos1group:vasya@somewhere.net::Enabled
When vasya
will try to login into your
repository, he will use command like this:
$ cvs -d vasya@machine.yourdomain.net:/repos1 login (logging in to vasya@machine.yourdomain.net) CVS password: 320 This is CVS nserver 1.10.7 at machine.yourdomain.net 220 Welcome to /repos1, vasya!
If there is an anonymous
user in
`CVSROOT/cvspasswd' then remote users wishing to
anonymously access repository would be prompted to give
their e-mail address as a password. This address is
not currently used (TODO!) but could be logged.
Go to the first, previous, next, last section, table of contents.