【问题标题】:Repairing permissions for BZR修复 BZR 的权限
【发布时间】:2013-01-31 18:08:01
【问题描述】:

最近服务器上出现大量 chown-ing root:root,所以现在我正在尝试修复 BZR 权限。

提交代码到主分支时出现下一个错误:

Run command: bzr commit -m "[new commit msg]"
Committing to: sftp://goce@[IP:PORT]/usr/local/www/data/bzr/pr1/goce/

bzr: ERROR (ignored): 'sftp://goce@[IP:PORT]/usr/local/www/data/bzr/.bzr/repository/upload/e9sb7n5enoi59nixasq6.pack'

bzr: ERROR: Permission denied: "/usr/local/www/data/bzr/.bzr/repository/upload/e9sb7n5enoi59nixasq6.pack": [Errno 13] Permission denied

查看报告的文件显示如下:

$ pwd
/usr/local/www/data/bzr/.bzr/repository/upload
$ ls -al
total 1212
drwxrwxr-x 2 root bzr    4096 Jan 30 14:02 .
-rw-r--r-- 1 goce bzr  204814 Jan 30 12:45 e9sb7n5enoi59nixasq6.pack
…
-rw-rw-r-- 1 root root     42 May  2  2011 umxv2mvk79n72bkjjae9.pack
...

这个错误的主要原因是什么?

难道是e9sb7n5enoi59nixasq6.pack应该有g-rw权限,而BZR不能创建g-rw文件?(猜测是因为那里g-rw文件很少,如示例所示)

【问题讨论】:

    标签: permissions bazaar chmod


    【解决方案1】:

    一方面,用户goce 对父目录/usr/local/www/data/bzr/.bzr/repository/upload 没有写权限这一事实可能会导致一些问题。例如,这将阻止从目录中删除文件。

    我认为你应该做一个chown -R goce /usr/local/www/data/bzr 来清理权限问题。

    最干净的解决方案是用干净的新副本替换分支:

    cd /usr/local/www/data
    mv bzr bzr-bak
    bzr branch --no-tree bzr-bak bzr
    

    因此,/usr/local/www/data/bzr 将是旧版本的全新干净副本,其中的所有文件都具有正确的权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多