每次我在svn中提交文件时,都会收到以下消息:
注意!您的身份验证领域的密码:
http://domainname.com:80“domainname.com”
只能以未加密的方式存储到磁盘!建议您配置 您的系统,以便Subversion可以存储加密的密码,如果 可能。有关详细信息,请参阅文档 您可以通过设置值来避免将来出现此警告 “store-plaintext-passwords”选项在'/root/.subversion/servers'中为'yes'或'no'。
存储密码未加密(是/否)?无
我不想要这种身份验证;我怎么能摆脱这个警告?
答案 0 :(得分:42)
您没有在Subversion中存储密码,因为您对是否要存储此密码的问题回答否。
我认为你想完全消除这个错误 警告消息。有两种方法可以解决这个问题:
简单但难以理解:您可以在每次使用Subversion命令时指定svn --no-auth-cache
。它很容易做到,因为它不需要您采取任何实际行动。这很难,因为几乎每次使用Subversion命令时都必须这样做(尤其是那些触及checkout
和commit
等存储库的命令。
简单易用的方法:您可以修改用户的Subversion配置,不要询问您是否要存储此信息。 (顺便说一句,为什么你以 root 的身份运行?你喜欢生活在边缘?最好以用户身份运行并配置sudo
以允许你做你需要的根目录。方式,您可以跟踪谁在做什么,并且您不会做任何可能意外地关闭服务器的事情。事实上,默认情况下,许多Unix / Linux系统不再允许用户以root
身份登录。必须做sudo
)。这很难,因为你必须做一些事情,但很容易,因为一旦你这样做,你就不必再做任何事了。
您拥有需要编辑的文件的名称(/root/.subversion/servers
)。查找[global]
部分并查找第# store-passwords = no
行,然后从该行的开头删除#
。您也可以对# store-plaintext-passwords = no
行和# store-auth-cred = no
行执行相同的操作。虽然,您也可以删除auth
目录下的文件,这是Subversion存储其凭据的位置。这将完全消除已存储的密码。更多信息可以在在线Red Bean Subversion manual找到。
现在,当您执行触及存储库的Subversion命令时,它会询问您输入的用户名和密码,并且不会询问您是否要存储它们。
答案 1 :(得分:9)
您在此处复制了完整的警告消息。阅读它而不是仅仅复制/粘贴它将回答你的问题:
你可以避免将来出现 通过设置值来发出此警告 'store-plaintext-passwords'选项 在'是'或'否'中 '/root/.subversion/servers'。
答案 2 :(得分:4)
subversion客户端只是要求身份验证,因为服务器需要它。要摆脱身份验证要求,您必须更改服务器的配置(例如,在Apache中,删除AuthType
,AuthName
和AuthUserFile
)。您可以使用不需要密码的其他身份验证方法(例如,客户端证书)。
如果你只是想摆脱未加密的保存密码提示,你可以设置store-plaintext-passwords=off
(通过编辑~/.subversion/config
),或者你可以通过获取(在Unices上)GNOME密钥环来使密码加密或KDE钱包运行。在Windows上,SVN应该自动使用内置的NTFS加密;在Mac OS X上,Keyring。有关详细信息,请参阅Client Credentials section of the SVN Manual。
您还可以在Unix上加密您的主目录。然后,凭据也会被加密(当然,当您登录时,可以使用以您或root身份运行的任何程序,类似于NTFS加密)。
如果您不希望SVN完全存储密码,无论是否加密,请在SVN配置文件中设置store-passwords=no
。