Supongamos que bloqueo un archivo que está controlado por RCS
[root@host1:/etc/yp]# co -l group auto_home RCS/group,v --> group revision 1.6103 (locked) done RCS/auto_home,v --> auto_home revision 1.4003 (locked) done [root@host1:/etc/yp]#Veo los archivos con ",v" generados en el directorio RCS
[root@host1:/etc/yp/RCS]# ls -lrth | tail -3 -r--r--r-- 1 root other 16M Feb 20 12:20 passwd,v -r--r--r-- 1 root other 3.5M Feb 21 23:03 group,v -r--r--r-- 1 root other 4.1M Feb 21 23:03 auto_home,v [root@host1:/etc/yp/RCS]#¿Podemos determinar quién tiene el archivo de bloqueo? Todos los administradores usan el inicio de sesión "raíz" para realizar los cambios (por sudo -s para convertirse en root)
Si alguien ya ha bloqueado, veo el siguiente mensaje
[root@campyp:/etc/yp]# co -l group RCS/group,v --> group revision 1.6103 (locked) writable group exists; remove it? [ny](n): ^C RCS: Interrupt RCS: Cleaning up. [root@campyp:/etc/yp]#¿Podemos comprobar quién ha bloqueado el archivo?
En RCS, los bloqueos se almacenan en el encabezado del archivo de almacenamiento. Aquí hay un encabezado de ejemplo para ilustrar:
head 1.1; access thomas; symbols; locks thomas:1.1; strict; comment @# @; 1.1 date 2014.08.14.00.40.55; author thomas; state Exp; branches; next ; desc @@ El comando rlog proporciona esa información de encabezado:
$ rlog 2linux,v RCS file: 2linux,v Working file: 2linux head: 1.1 branch: locks: strict thomas: 1.1 access list: thomas symbolic names: keyword substitution: kv total revisions: 1; selected revisions: 1 description: ---------------------------- revision 1.1 locked by: thomas; date: 2014/08/14 00:40:55; author: thomas; state: Exp; RCS_BASE ============================================================================= De forma predeterminada, el autor de un bloqueo se determina comprobando las variables de entorno LOGNAME y USER . Esos se configuran cuando sus usuarios sudo , por ejemplo, para "rootear". Pero el comportamiento puede ser anulado:
sudo , el $USER original se guarda en SUDO_USER . Se podría restablecer $LOGNAME y $USER desde $SUDO_USER , haciendo que los bloqueos correspondan a los usuarios reales.sudo .Otras lecturas:
No. Si todos sus usuarios son root , entonces el bloqueo siempre pertenecerá a root .
Este es un arreglo dudoso en el mejor de los casos, de todos modos. Haga que los usuarios realicen ediciones como ellos mismos; no debería haber ninguna razón sana para hacer estas cosas como root en primer lugar.