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
    • 最新
    • 标签
主页 / server / 问题

问题[svn](server)

Martin Hope
mtzl
Asked: 2023-09-07 03:09:10 +0800 CST

Svn CLI 无法连接到存储库,但 Wine 内的 TortoiseSVN 和同一网络中其他计算机上的 CLI *可以*

  • 5

[我希望这是正确的 StackExchange 网络,不确定这是否更属于这里还是 Unix+Linux ]

以前,我只是在我的 Linux 笔记本电脑上使用 svn CLI,一切正常。现在我迁移到一台新的桌面 Linux 机器(相同的 Arch Linux 发行版,复制了所有配置文件),它突然拒绝连接。奇怪的是

  1. 我仍然可以在同一个 wifi 网络内连接我的旧笔记本电脑
  2. 在新机器上,svn CLI 无法工作,但 TortoiseSVN(在 wine 中)可以工作!

我已经不知道这可能是什么原因了。我问我们的 SVN 服务器管理员是否有想法,但他也一无所知。显然我是唯一一个有这个问题的人。

一些细节:

命令

svn list https://svn.OUR.DOMAIN/svn/REPO/trunks/OURTRUNK
svn: E170013: Unable to connect to a repository at URL 'https://svn.OUR.DOMAIN/svn/REPO/trunks/OURTRUNK'
svn: E000111: Error running context: Connection refused

真的,与或其他任何东西一样checkout。尝试http给了我Redirecting to URL 'https://svn.....同样的错误消息。我有点不知道这意味着什么,我发现 SVN 文档很难搜索,而且 google 也没有产生任何结果。

我尝试删除我的配置以$HOME/.subversion查看这是否是问题的原因,但结果相同。

我的/etc/hosts那里没有任何相关的内容,我没有任何条目.netrc(我认为这会相关?不确定)。我还可以通过以下方式获取服务器 IPv4/6host svn.OUR.DOMAIN

有人有线索吗?我缺少任何明显的地方并且应该寻找根本原因吗?

svn
  • 1 个回答
  • 18 Views
Martin Hope
GettingPleasure
Asked: 2022-10-26 03:18:12 +0800 CST

VisualSVN - svn 状态错误 W155007

  • 6

我正在尝试编写一个提交后挂钩,它将压缩所有更改的文件以保存目录树。当我尝试svn status在存储库目录(使用 conf、db、钩子目录等)上执行操作时,它会输出W155007错误信息说 this directory is not a working copy。我不能仅仅为了压缩而在本地克隆存储库,因为存储库大小可能超过 1TB。

我做错了什么,是否有可以在 Windows Server 机器上运行的这种钩子的示例?

svn
  • 1 个回答
  • 32 Views
Martin Hope
Chris Maggiulli
Asked: 2021-04-13 17:28:46 +0800 CST

Subversion SSL 握手失败和 408 错误代码

  • 1

版本

颠覆:版本 1.6.11 (r934486)

操作系统:CentOS 6.8 版(最终版)

背景

我有各种在 CentOS 机器上作为 cronjobs 运行的 shell 脚本。shell 脚本将文件提交到 Subversion 并从 Subversion 签出文件。今天我所有的脚本都开始失败并出现以下错误

svn:'https://svn.int.mydomain.edu/eas'的选项:SSL握手失败:收到SSL警报:协议版本错误(https://svn.int.mydomain.edu)

作为故障排除步骤,我运行了以下命令

openssl s_client -connect svn.int.mydomain.edu:443

并收到以下输出(略有编辑)

CONNECTED(00000003)
---
Certificate chain
 0 s:/OU=Domain Control Validated/CN=*.int.mydomain.edu
   i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certs.godaddy.com/repository//CN=Go Daddy Secure Certificate Authority - G2
 1 s:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certs.godaddy.com/repository//CN=Go Daddy Secure Certificate Authority - G2
   i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./CN=Go Daddy Root Certificate Authority - G2
 2 s:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./CN=Go Daddy Root Certificate Authority - G2
   i:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority
 3 s:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority
   i:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority
---
Server certificate
-----BEGIN CERTIFICATE-----
REDACTED
-----END CERTIFICATE-----
subject=/OU=Domain Control Validated/CN=*.int.mydomain.edu
issuer=/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certs.godaddy.com/repository//CN=Go Daddy Secure Certificate Authority - G2
---
No client certificate CA names sent
Server Temp Key: ECDH, prime256v1, 256 bits
---
SSL handshake has read 5545 bytes and written 373 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES256-GCM-SHA384
    Session-ID: REDACTED
    Session-ID-ctx: 
    Master-Key: REDACTED
    Key-Arg   : None
    Krb5 Principal: None
    PSK identity: None
    PSK identity hint: None
    Start Time: 1618275549
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)
---
HTTP/1.1 408 Request Time-out
content-length: 110
cache-control: no-cache
content-type: text/html
connection: close

<html><body><h1>408 Request Time-out</h1>
Your browser didn't send a complete request in time.
</body></html>
closed

正如你所看到的,我HTTP/1.1 408 Request Time-out在标准输出的末尾得到了一个。我可以验证我可以在这个盒子上访问https://svn.int.mydomain.edu,因为从那个盒子单独安装 svn 可以正常工作(随 Jenkins 插件一起安装的 SVN 安装)。

问题

有人对这里的其他故障排除技术有任何想法吗?我试图搜索这个问题,但没有卓有成效的回应。

svn ssl http-status-code-408
  • 1 个回答
  • 685 Views
Martin Hope
CoffeeDrinker101
Asked: 2020-12-05 21:57:34 +0800 CST

如何将 subversion repo 的更改带到当前目录

  • -1

对于 linux 上的 bash 命令。我在想也许是 svn import 但不确定。

linux svn
  • 1 个回答
  • 107 Views
Martin Hope
Index
Asked: 2020-10-30 01:18:51 +0800 CST

SVN 服务器开机启动

  • 0

我正在配置 Subversion 并希望它在启动时启动。使用以下命令系列:

sudo mkdir /var/svn
sudo useradd -r -s /bin/false svn
sudo mkdir /etc/svn
sudo cp /home/zipo/svnserve /etc/svn/svnserve
sudo chown root:root /etc/svn/svnserve
set execute to owner/group/other
sudo nano /lib/systemd/system/svn.service
sudo systemctl daemon-reload
sudo systemctl enable svn
sudo systemctl start svn

当我在 syslog 中键入手动命令以启动服务sudo systemctl start svn时,会出现以下日志条目:

    Oct 29 10:13:27 testserver systemd[1]: Started SVN server.
    Oct 29 10:13:27 testserver svnserve[3128]:  * Starting svnserve...
    Oct 29 10:13:27 testserver svnserve[3128]:    ...done.

但服务不起作用。我在正确的端口 9999 上检查它,如配置中所述。如果我使用以下命令手动运行它,它会启动并正常工作:sudo -H -u svn bash -c '/etc/svn/svnserve start'

我错过了什么?

svn.service 文件内容:

    [Unit]
    Description=SVN server
    After=network.target

    [Service]
    User=svn
    Group=svn
    Type=simple
    ExecStart=/etc/svn/svnserve start
    GuessMainPID=no

    [Install]
    WantedBy=multi-user.target

svnserve 文件内容:

    #! /bin/sh -e
    #
    # svnserve - brings up the svn server so anonymous users
    # can access svn
    #

    # Get LSB functions
    . /lib/lsb/init-functions
    . /etc/default/rcS

    SVNSERVE=/usr/bin/svnserve
    SVN_USER=svn
    SVN_GROUP=svn
    SVN_REPO_PATH=/var/svn/

    # Check that the package is still installed
    [ -x $SVNSERVE ] || exit 0;

    case "$1" in
            start)
                    log_begin_msg "Starting svnserve..."
                    umask 002
                    if start-stop-daemon --start \
                    --chuid $SVN_USER:$SVN_GROUP \
                    --exec $SVNSERVE \
                    -- -d --listen-port=9999 -r $SVN_REPO_PATH; then
                            log_end_msg 0
                    else
                            log_end_msg $?
                    fi
            ;;

            stop)
                    log_begin_msg "Stopping svnserve..."
                    if start-stop-daemon --stop --exec $SVNSERVE; then
                    log_end_msg 0
                    else
                    log_end_msg $?
                    fi
            ;;

            restart|force-reload)
                    "$0" stop && "$0" start
            ;;

            *)
            echo "Usage: /etc/init.d/svnserve {start|stop|restart|force-reload}"
                    exit 1
            ;;
    esac

    exit 0
svn startup systemd
  • 1 个回答
  • 785 Views
Martin Hope
Still Shi
Asked: 2020-07-19 02:15:45 +0800 CST

SVN,签出基于 authz 的文件夹

  • 2

我已经在 freebsd 上设置了一个 svnserve 服务,并试图找出控制身份验证的最佳方法。

我有根文件夹 A 和子文件夹 A1、A2、A3

A--
   |-AdminFolder
   |-Project1
   |-Project2

有 2 个角色组:g_admin 和 g_pm。我想知道如何配置 authz 来满足以下场景:

  1. 作为管理员,我可以签出所有具有读/写权限的文件夹。
  2. 作为下午,我只能在没有晚上看到“AdminFolder”的情况下签出 Projectn 文件夹
  3. 我希望所有用户都使用相同的 SVN 路径 (SVN://host/A)

我尝试了以下 authz 配置:

[/]
g_admin = rw
* = r

[/A/AdminFolder]
g_admin = rw
* = r

[/A/Project1]
g_admin = rw
g_pm = rw

[/A/Project2]
g_admin = rw
g_pm = rw

但随后 g_pm 会看到 /... 下的所有内容

svn
  • 1 个回答
  • 63 Views
Martin Hope
hbquikcomjamesl
Asked: 2020-05-08 14:35:10 +0800 CST

让我们用 Bitnami 加密,有一些奇怪的端口号

  • 1

我最近(我认为是在 ServerFault、StackOverflow 或其他一些 StackExchange 论坛上)发现 Bitnami 堆栈提供了一种使用 Let's Encrypt 的工具,该工具显然使用了 certbot 以外的东西(称为“乐高”,是吗? ?)。

我们有一个在 AWS EC2 实例(原始 Amazon Linux)上运行的 Bitnami Trac/SVN 堆栈。我注意到盒子上显然有两个单独的 httpd 实例;Bitnami 堆栈中的一个是活动的,托管 Trac 和 SVN。(我想我几个月前开始了另一个,与尝试使 certbot 工作失败有关,并且可能已经放弃了它,但它实际上并没有做任何事情。)

Bitnami httpd 在端口 81(目前无法从外部访问)上设置 HTTP,在端口 8000(可访问)上设置 HTTPS,并且当前使用 Comodo 的证书,该证书将于 7 月到期。

而且我不记得 Bitnami 堆栈中 httpd 的原始“交付”端口配置是什么。

我一直在阅读这个“bncert-tool”的说明,我想知道它是否适用于我们的设置。从我对 certbot 的失败实验中,我的印象是 Let's Encrypt 期望在 80 上找到打开的 http。

任何人都可以对此有所了解吗?


5月18日更新

我终于在我真正可以投入一些时间的时候想起了这个项目。我将该实例克隆到一个现场实例,然后(1)禁用 Linux 附带的“stock”httpd,(2)将 Bitnami 堆栈中的 httpd 更改为监听 80。当我运行 bncert-tool 时,我得到了这个:

使用 Let's Encrypt 创建证书时出错:

acme: Error -> One or more domains had a problem:
[test.wintouch.net] acme: error: 403 :: urn:ietf:params:acme:error:unauthorized 
:: Cannot negotiate ALPN protocol "acme-tls/1" for tls-alpn-01 challenge, url:

怎么办?

(我已经保存了日志文件。)


5月22日更新

我突然想到,由于当前配置了服务器,因此没有密码就不可能访问任何内容。

所以我尝试了另一个现场实例。经过一番折腾,我对其进行了配置,使其无需密码即可侦听 80,并在该端口上提供静态页面,该端口远离 SVN 和 Trac 数据。

但结果和以前完全一样。和以前一样,我终止了现场请求并删除了 Route 53 A 记录作为清理的一部分。

在一天的实验之后,我研究了设置原始实例时使用的任何我的 Spot 实例,并发现了一些相当奇怪的东西:我能看到的所有 Bitnami SVN 和 Trac AMI 都是 Debian 或 Ubuntu。但这是在Amazon Linux(原始版本,而不是 Amazon Linux 2)上。因此,要么它来自一个不再存在的 AMI,要么我从一个“普通”Amazon Linux AMI 启动实例,然后在其上安装 Bitnami SVN/Trac 堆栈。

我会注意到,包括 bncert-tool 在内的堆栈不在/opt/bitnami 中,而是在 /opt/trac-1.2.3-11

因此,由于无法检查“交付时”的配置,我环顾四周,想知道 bncert-tool 使用什么来查找堆栈,最终我找到了 /opt/trac-1.2.3-11/properties.ini

hostname=
[Support]
installed_components=apache
apache_logs=apache{,2}/logs/error*log logs/error_log
apache_conf=apache{,2}/conf/{*.conf,bitnami/*.conf} etc/httpd.conf apps/*/conf/ht*.conf
apache_acl=apache apache2
[Apache]
apache_server_port=81
apache_user=daemon
apache_group=daemon
apache_server_ssl_port=443
apache_root_directory=/opt/trac-1.2.3-11/apache2
apache_htdocs_directory=/opt/trac-1.2.3-11/apache2/htdocs
apache_domainname=ip-172-31-8-195.us-east-2.compute.internal
apache_configuration_directory=/opt/trac-1.2.3-11/apache2/conf
apache_version=2.4.39
[Subversion]
subversion_port=3690
subversion_root_directory=/opt/trac-1.2.3-11/subversion

自安装以来似乎没有变化(/opt/trac-1.2.3-11 中的所有内容都具有 2019 年 6 月 6 日的日期戳)。

可能是 bncert-tool 使用了该配置文件,并且已经告诉 Let's Encrypt 使用端口 81 而不是 80?

我会注意到,与上述配置文件相反,httpd 的 Bitnami 实例在 8000 上侦听 SSL/TLS,而不是 443,Tomcat 服务器(独立于 Bitnami 堆栈)在 8443 上侦听(并显示在 netstat -l -- numeric-ports as) 8443,通过 iptables 映射到 443,没有任何东西直接监听 443 端口。

svn amazon-ec2 trac lets-encrypt bitnami
  • 2 个回答
  • 487 Views
Martin Hope
Red_Shadow
Asked: 2020-04-09 06:55:03 +0800 CST

颠覆通配符访问不起作用

  • 0

我正在使用 Subversion 1.10,它声称可以在路径授权中使用通配符。

我有一大组项目文件夹(2000+),在每个 Trunk 和 Tag 中包含受限制和不受限制的子文件夹。我当前的开发人员可以访问两者,但是一个新组只能访问不受限制的。

文件夹结构在名为 Projects 的大文件夹中如下所示

Project_Folder
- Client1
- - Tags
- - - Release1
- - - - 1_Unrestricted
- - - - 2_Restricted
- - - - 3_Restricted
- - - - 4_Unrestricted
- - + Release2
- - + Release3
- - Trunk
- - - 1_Unrestricted
- - - 2_Restricted
- - - 3_Restricted
- - - 4_Unrestricted
+ Client2

我希望我能像这样做 authz

[repo:/Projects]
@group1=rw
@group2=rw

[repo:/Projects/**/2_Restricted]
@group2=
[repo:/Projects/**/3_Restricted]
@group2=

它不起作用。Group2 可以访问所有内容,包括受限文件夹。

它仅在我完全列出路径并且不使用通配符时才有效。每天都有数千条路径和新标签创建,我无法维护这样的黑名单。

[repo:/Projects/project_folder1/Trunk/3_Restricted]
@group2=

我究竟做错了什么?

svn
  • 1 个回答
  • 212 Views
Martin Hope
Florian Straub
Asked: 2019-07-25 02:27:42 +0800 CST

mod_authnz_ldap:将 userPrincipalName 和 sAMAccountName 与 AuthzSVNAccessFile 一起使用

  • 1

这是我在这里的第一篇文章,所以请善待我......

我们有 apache 管理我们的颠覆服务器的访问权限。目前用户只能使用他们的 sAMAccountName 登录,但由于 userPrincipalName(电子邮件地址)逐渐成为大多数登录的主要 ID,我们希望支持它并继续支持 sAMAccountName。

当前的方法如下所示,缺点是两个用户名 - sAMAccountName 和 userPrincipalName - 都必须在 svnaccessfile 中指定:

<AuthnProviderAlias ldap ldap-sAMAccountName>
    AuthLDAPBindDN "CN=d-svn-ldap,OU=IT-050,OU=Service Accounts,OU=Accounts,OU=Domain Administration,DC=cds,DC=company"
    AuthLDAPBindPassword ***
    AuthLDAPUrl "ldap://server.company:3268/DC=cds,DC=company?sAMAccountName?sub?(objectclass=user)"
</AuthnProviderAlias>
<AuthnProviderAlias ldap ldap-userprincipalname>
    AuthLDAPBindDN "CN=d-svn-ldap,OU=IT-050,OU=Service Accounts,OU=Accounts,OU=Domain Administration,DC=cds,DC=company"
    AuthLDAPBindPassword ***
    AuthLDAPUrl "ldap://server.company:3268/DC=cds,DC=company?userPrincipalName?sub?(objectclass=user)"
</AuthnProviderAlias>

<Location "/our_repo">
DAV svn
SVNPath /svn/repos/our_repo
SVNListParentPath on

AuthzSVNAccessFile /etc/apache2/conf-available/authz_repository_our_repo
Options Indexes Followsymlinks

AuthBasicProvider ldap-sAMAccountName  ldap-userprincipalname

AuthType Basic
AuthName "LDAP authentication"
Require valid-user
# Note that Require ldap-* would not work here, since the
# AuthnProviderAlias does not provide the config to authorization providers
# that are implemented in the same module as the authentication provider.
</Location>

所以我正在寻找一种只能在 svnaccessfile 中指定 userPrincipalNames 的方法。我希望 AuthLDAPRemoteUserAttribute 在这里可能会有所帮助,所以我添加 AuthLDAPRemoteUserAttribute userPrincipalName到 ldap-sAMAccountName 中,这会导致 error.log 中出现此消息:

auth_ldap 身份验证:REMOTE_USER 将使用属性“userPrincipalName”设置,但在用户的 LDAP 查询中未请求此属性。REMOTE_USER 将酌情回退到用户名或 DN。

这是正确的方法吗?这甚至可能吗?

谢谢

弗洛

svn
  • 1 个回答
  • 2029 Views
Martin Hope
jps
Asked: 2019-04-02 02:37:45 +0800 CST

转储/加载后 SVN 存储库缩小 3 倍

  • 2

我在 RHL9 上运行的旧 svn 服务器上有一个 repo。svn 版本是 1.1.4。存储库大小为 1.1GB ( du -sh $REPO),其完整转储为 1.7GB。我在 ubuntu 16.04、svn 版本 1.9.3 上运行的最近的 svn 服务器上加载了转储。我运行以下命令:

svnadmin load --bypass-prop-validation -q "/path/to/repo.svn" < "/path/to/repo.dump"

现在,repo 只有 412MB 大 ( du -sh)。

我只管理服务器,我自己不使用svn。当我查看 Tortoise 上的 repo 日志时,似乎所有修订版和所有文档都在这里(无法手动检查所有内容,3733 revs)。

但我不知道如何检查这种大小差异是否导致数据丢失。

我怎么知道 ?(来自 tortoise 或服务器 cli,我是 root)这种大小差异对你来说是不是很糟糕?

svn
  • 2 个回答
  • 967 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