AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-40193

Caleb's questions

Martin Hope
Caleb
Asked: 2014-02-16 05:24:48 +0800 CST

哪些“访问权限”可能会阻止对 gitlab 存储库的访问?

  • 14

我正在尝试在全新干净的服务器上设置 gitlab (6.5.1)。一切似乎都正常,但 git 无法推送到任何项目。按照新创建的项目页面中的命令并通过 ssh 推送到远程给出:

$ git push -u origin master
fatal: Could not read from remote repository.

Please make sure you have the correct access
rights and the repository exists.

这似乎是一个相当普遍的问题。不幸的是,它似乎有许多潜在的原因,但似乎没有一个是匹配的。从旧版本的issue 3424 和其他各种在线资源中,我看到并检查了以下建议:

  • 剩余的 ssh 密钥

    这是一个干净的设置,没有剩菜。我的密钥已正确添加到授权密钥文件中,并且是唯一列出的密钥。

  • 使用调试日志运行 ssh 会显示与 Ruby 环境变量相关的错误。

    我的干净。SSH 调试显示连接成功。关于身份验证握手的一切都正常,那么这是输出的结尾:

    debug1: Sending command: git-receive-pack 'username/reponame.git'
    debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
    debug1: client_input_channel_req: channel 0 rtype [email protected] reply 0
    debug1: channel 0: free: client-session, nchannels 1
    debug1: fd 0 clearing O_NONBLOCK
    debug1: fd 1 clearing O_NONBLOCK
    
  • gitlab-shell 环境的问题。

    与上面许多具有相同错误消息的其他人不同,我的 gitlab-shell 检查脚本返回了一份干净的健康单:

    % sudo -u gitlab -H ~gitlab/gitlab-shell/bin/check   
    Check GitLab API access: OK
    Check directories and files: 
            /var/lib/gitlab/repositories: OK
            /var/lib/gitlab/.ssh/authorized_keys: OK
    Test redis-cli executable: redis-cli 2.8.5
    Send ping to redis server: PONG
    
  • 重启 {unicorn,sidekiq,redis}

    重新启动一项或多项服务可以清除此问题的报告似乎不适用于此处。这不是重新引导守护程序修复的间歇性问题。

  • 回购没有物理创建

    但它是。每次第一次,每次~gitlab/repositories/username/reponame.git都会创建裸 git repo 并且似乎具有正确的权限。

  • Gitlab-shell 无法与 API 服务器通信,因为 A) DNS 问题,B) 错误的 ip/port/interface 绑定 C) 没有/有斜杠。

    检查脚本说 API 访问很好。

    我没有运行 nginx,因此与此相关的默认 ip 绑定问题是 n/a。

    我已经尝试了*:8080和127.0.0.1:8080中的监听值unicorn.yml。

    除此之外,我尝试了 localhost、127.0.0.1 和完全限定域名(DNS 解析良好)的各种迭代,无论是否使用斜杠shell.yml都无济于事。我还尝试将其直接连接到端口 8080 上的独角兽服务器,而不是端口 80 上的 Apache SSL / 代理主机。似乎没有任何区别。我的证书不是自签名的,在浏览器上运行良好,但我还是尝试设置self_signed_cert: true。没有什么。

  • 报告的 git 路径错误,从 gitlab 用户家添加完全限定路径。

    如果 gitlab-shell 没有做一些猴子业务来纠正这个问题,这似乎是一个合法的建议,但我尝试更改git remote add origin gitlab@server:username/reponame.git为 `git remote add origin gitlab@server:repositories/username/reponame.git` 无济于事。同样的错误。

这似乎是建议的一连串解决方案,但似乎没有一个是正确的。注意我可以通过 http 推送。登录提示接受我的 ldap 用户名和密码并接受推送。这只是尝试使用 SSH 时的问题。仅测试 ssh 登录部分可以ssh -T gitlab@server正常工作。

还有什么可能导致此错误?

如何在 gitlab 中调试这样的问题?中似乎没有任何相关内容~gitlab/gitlab-shell/gitlab-shell.log。在哪里可以找到更多信息的错误消息?

git
  • 2 个回答
  • 39126 Views
Martin Hope
Caleb
Asked: 2014-02-15 05:49:08 +0800 CST

什么可以让 OpenLDAP 忽略访问限制?

  • 0

我正在尝试在 Arch Linux 上配置新安装的 OpenLDAP (2.6.39)。我使用默认的核心包来安装和配置它,但是我无法让它遵守设置文件中的任何访问控制声明。

我/etc/openldap/slapd.conf只有从文档中得到的这两个声明:

access to attr=userPassword
    by self =xw
    by anonymous auth
    by * none

access to *
    by self write
    by users read
    by * none

我已经正常启动了该服务,并且大多数事情似乎都可以正常工作。我可以使用 pam/nslcd 登录并使用 phpldapadmin。但是,上述访问限制似乎不起作用。从 phpldapadmin 中,我能够查看和更改与我连接的 uid 以外的用户的密码字段。使用命令行客户端也会发生同样的情况(输出裁剪):

$ ldapsearch -D 'uid=user2,ou=People,dc=example,dc=com' -w 1234 '(uid=user1)'
userPassword:: e1NTSEF9VEZ4K2U1M0JtUEU0NkljdlBPaTBycE41RTh2aXJNeTg=

如您所见,我正在使用 user2 进行身份验证,但能够查询 user1 的条目并查看密码字段。

中的其他声明slapd.conf显然有效,所以我没有编辑错误的文件或类似的东西。我尝试将严格的规则设置access to * by * none为唯一规则,但我仍然能够从任何用户那里看到目录中的任何内容。我将接入线路放置在示例线路所在的默认配置中。

如何让 OpenLDAP 真正注意其配置文件中的 acl 而不是忽略它们?

linux
  • 1 个回答
  • 394 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve