Har*_*riv 2 ubuntu svn authentication pam
我想设置 Subversion 存储库,以便可以使用与 ssh 登录相同的用户名和密码来访问存储库。我设法进行了登录工作,因此需要正确的用户名,但它接受任何密码。我怎样才能让它也需要有效的密码?
我正在运行带有“标准模块”、Apache2、Subversion 和 libapache2-mod-authnz-external 的 Ubuntu 服务器 8.04.2。此外,我发现名为pwauth 的实用程序可以帮助进行身份验证。
以下是配置中的相关部分:
/etc/apache/apache2.conf
AddExternalAuth pwauth /usr/local/bin/pwauth
SetExternalAuthMethod pwauth pipe
AddExternalGroup unixgroup /usr/local/bin/unixgroup
SetExternalGroupMethod unixgroup environment
Run Code Online (Sandbox Code Playgroud)
/etc/apache/mods-available/dav_svn.conf:
AuthType Basic
AuthBasicProvider external
AuthExternal pwauth
GroupExternal unixgroup
AuthName "Subversion repository"
Require group users
Require user myaccount
Run Code Online (Sandbox Code Playgroud)
/etc/pam.d/pwauth:
auth required pam_succeed_if.so user=www-data
account required pam_localuser.so
Run Code Online (Sandbox Code Playgroud)
pwauth 的 config.h:
#define PAM /* Linux PAM or OpenPAM*/
#define UNIX_LASTLOG /**/
#define HAVE_LASTLOG_H /**/
#define NOLOGIN_FILE "/etc/nologin" /**/
#define MIN_NOLOGIN_UID 1 /**/
#define CHECK_LOGIN_EXPIRATION /**/
#define CHECK_PASSWORD_EXPIRATION /**/
#define SERVER_UIDS 33 /* user "www-data" */
#define MIN_UNIX_UID 500 /**/
#define SLEEP_LOCK "/var/run/pwauth.lock"
Run Code Online (Sandbox Code Playgroud)
(是不是少了什么?)
编辑:我知道潜在的安全问题,但我想知道为什么这个设置不起作用。
Bre*_*nt 5
我之前已经设置过,并且 subversion 的工作方式会在会话期间提示您输入密码数百次。
(为此,只需将您的 subversion 客户端连接到svn+ssh://username@servername/path/to/repo)
答案是使用 ssh 密钥。
设置您的私钥/公钥对,并将您的公钥上传到您的 ~/.ssh/authorized_keys 文件,但在它前面加上前缀“command="/usr/bin/svnserve -t -r /path/to/repo”
并如上所述使用 svn+ssh 再次连接
归档时间: |
|
查看次数: |
8529 次 |
最近记录: |