【问题标题】:Very strange permission denied for file checkout非常奇怪的文件签出权限被拒绝
【发布时间】:2016-07-25 09:40:04
【问题描述】:

我不是 ClearCase 新手,我已经在 LDAP 管理的组织良好的网络中设置了一些 CC-Server。但是这次在非 LDAP 管理的网络中有点不同……我正面临一个真正奇怪的结帐问题,我被卡住了……在开头直接提到,这不是标准的权限问题(据我所知) .

当我尝试在我的客户端 (clearcase-client) 上以 vobowner (ccadm - 我还没有任何其他用户) 身份签出文件时,我收到以下错误:

cleartool: Error: Checked out version, but could not copy data to "testfile.txt" in view: Keine Berechtigung.
Correct the condition, then uncheckout and re-checkout the element.
cleartool: Error: Unable to check out "testfile.txt".

但我可以创建 Vobs、视图和查看私人文件。我什至可以签出文件夹,但无法签出简单的文本文件。

ccadm@clearcase-client:~$ ct mkvob -tag /vobs/test -nc -stgloc vobstore
Created versioned object base.
Host-local path: clearcase-vm:/cc_storage/vobstore/test.vbs
Global path:     /net/clearcase-vm/cc_storage/vobstore/test.vbs
VOB schema:        80
VOB feature level: 8
VOB ownership:
  owner ccadm
  group ccusers

VOBs have special data backup considerations.  For more information on how to
back up your VOB properly, see the documentation for administering ClearCase.
If the backups aren't done properly, you are putting your data at risk!
ccadm@clearcase-client:~$ ct mkview -tag ccadm.dv -stgloc viewstore
Created view.
Host-local path: clearcase-vm:/cc_storage/viewstore/ccadm/ccadm.dv.vws
Global path:     /net/clearcase-vm/cc_storage/viewstore/ccadm/ccadm.dv.vws
It has the following rights:
User : ccadm    : rwx
Group: ccusers  : rwx
Other:          : r-x
ccadm@clearcase-client:~$ ct mount /vobs/test
ccadm@clearcase-client:~$ ct setview ccadm.dv
ccadm@clearcase-client:~$ cd /vobs/test
ccadm@clearcase-client:/vobs/test$ ct co -nc .
Checked out "." from version "/main/0".
ccadm@clearcase-client:/vobs/test$ touch testfile.txt
ccadm@clearcase-client:/vobs/test$ ct mkelem -nc -ci testfile.txt
Created element "testfile.txt" (type "text_file").
Checked in "testfile.txt" version "/main/1".
ccadm@clearcase-client:/vobs/test$ ct ci -nc .
Checked in "." version "/main/1".
ccadm@clearcase-client:/vobs/test$ ct co -nc testfile.txt
cleartool: Error: Checked out version, but could not copy data to "testfile.txt" in view: Keine Berechtigung.
Correct the condition, then uncheckout and re-checkout the element.
cleartool: Error: Unable to check out "testfile.txt".

这是我在 mvfs_log 中看到的:

56fe658a mvfs: Error: cleartext open failed view=ccadm.dv vob=/vobs/test dbid=0x80000003 - Permission denied
56fe658a mvfs: Error: cleartext pname= /net/clearcase-vm/cc_storage/viewstore/ccadm/ccadm.dv.vws/.s/00048/8000000356fe6566testfile.txt
56fe658a mvfs: Error: cleartext create view=ccadm.dv vob=/vobs/test dbid=0x80000003 - Permission denied
56fe658a mvfs: Error: cleartext pname= /net/clearcase-vm/cc_storage/viewstore/ccadm/ccadm.dv.vws/.s/00048/8000000356fe6567testfile.txt.checkedout

当然我可以看到“权限被拒绝”,但权限应该没问题(见下文)......

环境描述: 网络目前是没有 LDAP 的私有测试网络。所以 UID 和 GID 在服务器和客户端上设置相同。我不知道在非 LDAP 网络中使用 CC 的任何其他先决条件。两者都使用 /net 为 autofs 配置。两台机器目前都是用于测试的虚拟机(我在非虚拟机上遇到了完全相同的问题……这就是我设置虚拟机进行测试的原因)

CC-Server: clearcase-vm

操作系统:Ubuntu 14.04

Linux clearcase-vm 3.13.0-79-generic #123-Ubuntu SMP Fri Feb 19 14:27:58 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

用途:View-、Vob-、Registryserver

本地用户:ccadm

ccadm@clearcase-vm:~$ id -a
uid=2000(ccadm) gid=2000(ccusers) Gruppen=2000(ccusers)

本地 vobs 存储权限:

ccadm@clearcase-vm:~$ ls -la /cc_storage/vobstore/test.vbs/
insgesamt 52
drwxr-xr-x 8 ccadm ccusers 4096 Apr  1 14:09 .
drwxrwxrwx 4 root  root    4096 Apr  1 14:09 ..
drwxr-xr-x 2 ccadm ccusers 4096 Apr  1 14:09 admin
drwxr-xr-x 3 ccadm ccusers 4096 Apr  1 14:09 c
drwxr-xr-x 3 ccadm ccusers 4096 Apr  1 14:09 d
drwxr-xr-x 3 ccadm ccusers 4096 Apr  1 14:09 db
-r--r--r-- 1 ccadm ccusers   13 Apr  1 14:09 .hostname
drwx------ 2 ccadm ccusers 4096 Apr  1 14:09 .identity
-rw-r--r-- 1 ccadm ccusers    7 Apr  1 14:09 .pid
-r--r--r-- 1 ccadm ccusers   41 Apr  1 14:09 replica_uuid
drwxr-xr-x 3 ccadm ccusers 4096 Apr  1 14:09 s
-r--r--r-- 1 ccadm ccusers   41 Apr  1 14:09 vob_oid
-rw-r--r-- 1 ccadm ccusers  625 Apr  1 14:09 vob_server.conf

本地视图存储权限:

ccadm@clearcase-vm:~$ ls -la /cc_storage/viewstore/ccadm/
insgesamt 16
drwxr-xr-x 4 ccadm ccusers 4096 Apr  1 14:10 .
drwxrwxrwx 3 root  root    4096 Mär 30 16:43 ..
drwxrwxr-x 5 ccadm ccusers 4096 Apr  4 11:39 ccadm.dv.vws

ClearCase 版本:

ccadm@clearcase-vm:~$ ct -ver
ClearCase version 8.0.1.1 (Fri Sep 20 16:09:14 EDT 2013) (8.0.1.01.00_2013C.FCS)
ClearCase version 8.0.1.2 (Wed Dec 11 16:09:14 EDT 2013) (8.0.1.02.00_2013D.FCS)
ClearCase version 8.0.1.3 (Wed Mar 19 00:31:17 EST 2014) (8.0.1.03.00_2014A.FCS)
ClearCase version 8.0.1.3-iFix01 (Tue Apr 22 18:14:02 EDT 2014) (8.0.1.03.01_2014A.1.FCS)
ClearCase version 8.0.1.04 (Thu Jun 24 22:31:13 EDT 2014) (8.0.1.04.00_2014B.FCS)
ClearCase version 8.0.1.05 (Wed Sep 17 15:09:27 EDT 2014) (8.0.1.05.00_2014C.FCS)
ClearCase version 8.0.1.06 (Tue Dec 11 22:31:02 EST 2014) (8.0.1.06.00_2014D.FCS)
ClearCase version 8.0.1.07 (Wed Mar 18 00:31:02 EST 2015) (8.0.1.07.00_2015A.FCS)
ClearCase version 8.0.1.08 (Tue Jun 24 22:30:54 EDT 2015) (8.0.1.08.00_2015B.FCS)
ClearCase version 8.0.1.09 (Wed Aug 26 22:16:02 EDT 2015) (8.0.1.09.00_2015C.D150826)
@(#) MVFS version 8.0.1.9 (Fri Aug 21 22:52:34 2015) built at $Date: 2016-03-30.13:14:43 (UTC) $
cleartool                         8.0.1.9 (Thu Aug 20 22:50:12 2015)
db_server                         8.0.1.9 (Mon Aug 17 11:37:37 2015)
VOB database schema versions: 54, 80

CC-Client: clearcase-client

操作系统:Ubuntu 14.04

Linux clearcase-client 3.13.0-79-generic #123-Ubuntu SMP Fri Feb 19 14:27:58 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

用途:ClearCase 客户端

本地用户:ccadm

ccadm@clearcase-client:~$ id -a
uid=2000(ccadm) gid=2000(ccusers) Gruppen=2000(ccusers)

clearcase-vm 上的远程 vobstorage 权限:

ccadm@clearcase-client:~$ ls -la /net/clearcase-vm/cc_storage/vobstore/test.vbs/
insgesamt 52
drwxr-xr-x 8 ccadm ccusers 4096 Apr  1 14:09 .
drwxrwxrwx 4 root  root    4096 Apr  1 14:09 ..
drwxr-xr-x 3 ccadm ccusers 4096 Apr  3 00:30 admin
drwxr-xr-x 3 ccadm ccusers 4096 Apr  1 14:09 c
drwxr-xr-x 3 ccadm ccusers 4096 Apr  1 14:09 d
drwxr-xr-x 3 ccadm ccusers 4096 Apr  1 14:09 db
-r--r--r-- 1 ccadm ccusers   13 Apr  1 14:09 .hostname
drwx------ 2 ccadm ccusers 4096 Apr  1 14:09 .identity
-rw-r--r-- 1 ccadm ccusers    7 Apr  1 14:09 .pid
-r--r--r-- 1 ccadm ccusers   41 Apr  1 14:09 replica_uuid
drwxr-xr-x 3 ccadm ccusers 4096 Apr  1 14:09 s
-r--r--r-- 1 ccadm ccusers   41 Apr  1 14:09 vob_oid
-rw-r--r-- 1 ccadm ccusers  625 Apr  1 14:09 vob_server.conf

clearcase-vm 上的远程视图存储权限:

ccadm@clearcase-client:~$ ls -la /net/clearcase-vm/cc_storage/viewstore/ccadm/
insgesamt 16
drwxr-xr-x 4 ccadm ccusers 4096 Apr  1 14:10 .
drwxrwxrwx 3 root  root    4096 Mär 30 16:43 ..
drwxrwxr-x 5 ccadm ccusers 4096 Apr  4 11:39 ccadm.dv.vws

ClearCase 版本:

ccadm@clearcase-client:~$ ct -ver
ClearCase version 8.0.1.1 (Fri Sep 20 16:09:14 EDT 2013) (8.0.1.01.00_2013C.FCS)
ClearCase version 8.0.1.2 (Wed Dec 11 16:09:14 EDT 2013) (8.0.1.02.00_2013D.FCS)
ClearCase version 8.0.1.3 (Wed Mar 19 00:31:17 EST 2014) (8.0.1.03.00_2014A.FCS)
ClearCase version 8.0.1.3-iFix01 (Tue Apr 22 18:14:02 EDT 2014) (8.0.1.03.01_2014A.1.FCS)
ClearCase version 8.0.1.04 (Thu Jun 24 22:31:13 EDT 2014) (8.0.1.04.00_2014B.FCS)
ClearCase version 8.0.1.05 (Wed Sep 17 15:09:27 EDT 2014) (8.0.1.05.00_2014C.FCS)
ClearCase version 8.0.1.06 (Tue Dec 11 22:31:02 EST 2014) (8.0.1.06.00_2014D.FCS)
ClearCase version 8.0.1.07 (Wed Mar 18 00:31:02 EST 2015) (8.0.1.07.00_2015A.FCS)
ClearCase version 8.0.1.08 (Tue Jun 24 22:30:54 EDT 2015) (8.0.1.08.00_2015B.FCS)
ClearCase version 8.0.1.09 (Wed Aug 26 22:16:02 EDT 2015) (8.0.1.09.00_2015C.D150826)
@(#) MVFS version 8.0.1.9 (Fri Aug 21 22:52:34 2015) built at $Date: 2016-04-01.11:18:08 (UTC) $
cleartool                         8.0.1.9 (Thu Aug 20 22:50:12 2015)
db_server                         8.0.1.9 (Mon Aug 17 11:37:37 2015)
VOB database schema versions: 54, 80

如果有人想知道当我使用相同的 vob 和视图将文件作为 ccadm 直接在 CC-Server (clearcase-vm) 上检出时会发生什么,它可以正常工作...所以可以检出文件.

有没有人知道什么可能导致该权限问题或者可以给我提示该怎么做?也许我在设置和配置服务器/客户端时确实错过了一些东西,但我不这么认为......

【问题讨论】:

  • 是否有任何进程保留您尝试签出的资源的句柄,这可以解释错误消息?
  • 在文件本身上使用 lsof 或 fuser 会导致“没有这样的文件或目录”bcuz 签出 testfile.txt 后,本地文件系统不再看到它。使用“lsof | grep testfile.txt”或“ps -ef | grep testfile.txt”不会给出任何结果,所以我猜没有进程正在处理它......还有其他想法如何检查它是否可靠?
  • 对于您尝试签出的任何文件,该问题是否可重现?
  • 是的。目前只有一个带有一个文件的vob,但我只是在源代码控制中添加了另一个(同样的问题)。此外,已复制到非 VM 的生产性 vobs/文件也存在同样的问题。之后我开始在虚拟机上进行测试
  • 一般来说,我从视图和/或 vob 上的 fix_prot 开始,以确保没有权限问题。

标签: ubuntu view permissions clearcase vcs-checkout


【解决方案1】:

作为仅供参考,我构建了一对 Ubuntu 14.04.0 虚拟机并对其进行了更新。他们正在运行这个内核版本:

Linux test-ub-vbox 3.13.0-85-generic #129-Ubuntu SMP Thu Mar 17 20:50:15 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

我执行了这个脚本以确保链接两侧的 UID 相同:

 sudo useradd -u 50126 -g users -m -s /bin/bash -d /home/vobadm vobadm
 sudo useradd -u 50128 -g users -m -s /bin/bash -d /home/user1 user1
 sudo passwd user1
 sudo passwd vobadm

我设置/net automount map 执行提供的/etc/auto.net 文件(默认是没有/net@all)。

我将服务器的存储导出为 *(rw,no_root_squash)。

我在服务器上将 VOB 创建为“vobadm”,并将其作为 vobadm 安装在客户端上。 (创建适当的目录)

我无法使问题发生。我的 ubuntu 14.04 设置似乎工作正常。

您确实需要使用来自 archive.ubuntu.com 的 ubuntu 14.04.0,以后不需要任何东西。其余的可以带您走上报春花之路,因为其中一些人开始使用 Ubuntu 15.10 内核...

我正在使用 8.0.1.10...

如果你撞到东西。请打开 PMR,提及我的名字,分享此线程的链接,并获取网络跟踪。然后我们可以比较笔记/痕迹。

【讨论】:

  • 可惜我无法编辑答案...刚刚转载。在我的“工作正常”的情况下,我将一个现有文件添加到源代码管理中。在失败的情况下,我将一个不存在的文件添加到源代码管理中,但它失败了。
  • @Jonas 请打开 PMR。此问题似乎仅在将不存在的文件添加到 ClearCase 时发生。如果我创建一个文件并 mkelem 那个,它就可以工作。我得到了您的确切错误,它可能与 APAR PI22822 有关,该问题已在 8.0.1.5 中修复。
  • 注意:带有 CONTENTS 的文件可以正常工作... 0 字节文件不能。因此,如果您先执行“echo foo>bar”,然后执行 mkelem bar,它就可以工作...
  • 另一个“保护我的最后一个”。 @乔纳斯。我需要打开 PMR。事实证明,即使有内容,一旦我将它们添加到源中,我就无法检查它们。它看起来像是一个奇怪的 MVFS 与 NFSv4 的交互。
【解决方案2】:

从撤消结帐开始,然后尝试 cat 文件。如果失败,并且您在视图日志中没有看到明文构造错误,请检查您是否可以从客户端捕获明文。

如果失败,请检查网络跟踪。我有一种偷偷摸摸的感觉,有些东西正在搞砸 NFS。您可能默认使用 nfsv4,并且它可能正在尝试执行 AUTH_SYS 以外的其他操作。

这将是一个有趣的 PMR。

【讨论】:

  • 非常感谢您的提示!由于 NFS 在不涉及 ClearCase 的情况下适用于标准文件操作,因此我没想到会出现任何 NFS 问题……但我不是 NFS 专家。由于我遇到了 fix_prot 问题(如上所述),我也考虑了一个可能的 NFS 问题。我将与 NFS 专家一起研究一下。我肯定会回来提供解决方案或请求更多帮助/提示:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-10
  • 2012-11-24
  • 2013-12-06
  • 2017-06-28
  • 1970-01-01
  • 2017-12-25
  • 2016-10-01
相关资源
最近更新 更多