首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在RCS中找出谁持有文件的锁

如何在RCS中找出谁持有文件的锁
EN

Stack Overflow用户
提问于 2016-02-22 15:11:03
回答 2查看 3.7K关注 0票数 1

假设我锁定了一个由RCS控制的文件

代码语言:javascript
复制
[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]#

我看到RCS目录中生成了带有",v“的文件。

代码语言:javascript
复制
[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]#

我们能确定谁持有锁文件吗?所有管理员都使用“超级用户”登录来进行更改(通过sudo -s成为超级用户)

如果有人已经锁定,我会看到下面的消息

代码语言:javascript
复制
[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]#

我们能确认是谁锁定了这个文件吗?

EN

回答 2

Stack Overflow用户

发布于 2016-02-22 18:33:34

在RCS中,锁存储在存档文件的头中。下面是一个示例标题来说明:

代码语言:javascript
复制
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
@@

rlog命令提供了该标头信息:

代码语言:javascript
复制
$ 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
=============================================================================

默认情况下,通过检查environment variables LOGNAMEUSER来确定锁的作者。这些设置是在用户根时设置的,例如,设置为“sudo”。但该行为可以被覆盖:

  • 当您执行sudo操作时,原始$USER将保存在SUDO_USER中。可以从$SUDO_USER重置$LOGNAME$USER,使锁与真实用户相对应。
  • RCS支持对根拥有的文件执行setuid操作。你可以使用它,而不是让你的用户使用sudo.

进一步阅读:

  • rlog(1)
  • rcsfile(5)
  • ci(1) (请参阅对setuid的讨论)
票数 3
EN

Stack Overflow用户

发布于 2016-02-22 15:37:10

不是的。如果您的所有用户都是root用户,那么锁将始终属于root

无论如何,这充其量是一个可疑的安排。让用户以自己的身份提交编辑;应该没有合理的理由在一开始就以root的身份执行这些操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35547709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档