Tutorial de uso de CVS/Configuración

De Wikilibros, la colección de libros de texto de contenido libre.

Puede usar varios ficheros de configuración que CVS reconocerá y usará. Entre otros, tenemos los siguientes:

  • ~/.cvsignore : contiene los sufijos de los ficheros que no nos interesa que CVS controle. Por ejemplo podemos tener:
 *.aux *.dvi *.ps *.log

si los ficheros de este módulo son principalmente documentos escritos en (La)TeX, ya que las extensiones mostradas arriba corresponden a los diferentes ficheros temporales creados durante el procesado del fichero fuente original para obtener el fichero listo para impresión.

Así evitamos contaminar el repositorio con ficheros que realmente no es necesario que estén controlados por CVS.

  • ~/.cvsrc : contiene aquellos parámetros que CVS usará cada vez que se invoque una determinada orden, de forma automática. Por ejemplo:
 update -Pd
 diff -uw
 cvs -z 3

Significa que queremos que cuando usemos la orden update, automáticamente se añadan los parámetros -Pd. Algo similar ocurre con la orden diff, a la que se le añadirán los parámetros -uw.

La última línea, cuya orden es cvs, es especial. Se trata de la forma en que se indican parámetros globales, que se aplican a todas las órdenes.

La autenticación[editar]

Al trabajar en remoto con CVS pueden elegirse varias alternativas de autenticación (es decir, de demostrar al servidor que somos quienes decimos ser).

Las más utilizadas son vía pserver y vía ssh (aunque existen otras dos formas al menos: vía rsh, totalmente desaconsejada por motivos de seguridad, y vía Kerberos, que no es habitual por necesitar toda la infraestructura de seguridad de Kerberos).

Deberá elegir alguna de estas técnicas en función de sus necesidades, en caso de que no vengan impuestas de forma externa (por ejemplo, porque el repositorio ya existe y el tipo de acceso ya ha sido elegido previamente).

ssh (OpenSSH)[editar]

Para que CVS use este modo de autenticación se deben usar estas variables de entorno:

 export CVSROOT=:ext:USUARIO@cvs.dominio.org:/var/lib/cvs
 export CVS_RSH=/usr/bin/ssh

Donde:

  • USUARIO es el nombre de usuario que tiene acceso al repositorio.
  • cvs.dominio.org es el nombre del servidor donde se aloja el repositorio.
  • /var/lib/cvs es el directorio del servidor en el que está el repositorio
  • /usr/bin/ssh es la ruta completa al ejecutable de ssh.


Tenga en cuenta que, usando esta técnica, tendrá que autenticarse (es decir, suministrar su contraseña) cada vez que ejecute alguna orden de CVS (a menos que use autenticación con clave pública RSA/DSA para ssh).

La ventaja de usar ssh como método de autenticación es que las comunicaciones con el servidor CVS van completamente cifradas, tanto la autenticación como los datos que intercambiemos con el servidor (cosa que no ocurre con el siguiente método).

El inconveniente de este método de autenticación es que deberá crear cuentas de usuarios locales en el servidor CVS con posibilidad de inicio de sesión (shell válido) para todos aquellos usuarios remotos que necesiten acceso al servidor, lo cual implica un acceso más amplio al equipo donde se ejecuta el servidor CVS que el mero acceso al servicio CVS.

pserver[editar]

Si no necesitamos que los datos que se intercambian con el servidor vayan cifrados y nos basta con una autenticación relativamente segura, podemos utilizar el método pserver. Las ventajas de este método sobre el anterior son:

  • No requiere cuentas de usuario en el servidor CVS para cada uno de los clientes, ni permite ningún tipo de acceso adicional en el servidor.
  • Es un esquema fácil de configurar y administrar de forma moderadamente segura (aunque es mucho menos segura que el método via ssh, desde el punto de vista de secuestro de contraseñas de usuario CVS, dado que no circulan cifradas).

Para poder usar este tipo de autenticación, deberá usar una variable de entorno similar a esta:

 export CVSROOT=:pserver:USUARIO@cvs.dominio.org:/var/lib/cvs

Donde:

  • USUARIO es el nombre de usuario que tiene acceso al repositorio.
  • cvs.dominio.org es el nombre del servidor donde se aloja el repositorio.
  • /var/lib/cvs es el directorio del servidor en el que está el repositorio

Si usa esta técnica, antes de poder trabajar con CVS deberá autenticarse ante el servidor. Eso se hace con la orden cvs login:

 cvs login

CVS le pedirá la contraseña del usuario que haya configurado en la variable de entorno mencionada arriba. Si la contraseña es correcta, CVS guardará la información que necesita en el fichero ~/.cvspass y no tendrá que volver a autenticarse. En algunos casos es necesario crear el archivo ~/.cvspass antes de hacer el cvs login. En esos casos, cvs se niega a realizar la operación. En ese caso se debe emitir la orden touch ~/.cvspass .

Se debe tener presente que cvs login escribe tu contraseña en el archivo ~/.cvspass muy debilmente cifradas, es decir quien tenga acceso al archivo podrá en cosa de segundos descifrar tu contraseña. La tabla de conversión utilizada para cifrar, es entregada con la documentación de CVS.

Si por algún motivo quisiera «cerrar la sesión» CVS (esto es, dejar de trabajar con ese servidor CVS o con ese repositorio) bastará con hacer:

 cvs logout

Métodos combinados[editar]

También es posible usar ambos métodos para el acceso al servidor (vía ssh y vía pserver) de forma conjunta, de forma que ciertos usuarios usen uno de los métodos y otros usuarios el otro. Esto es especialmente interesante para el acceso adminisitrativo al servidor CVS, dado que el método pserver no es lo suficientemente seguro en este caso.