ssh – 如何让linux subversion用户只执行svnserve?

前端之家收集整理的这篇文章主要介绍了ssh – 如何让linux subversion用户只执行svnserve?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个用户,我只想使用subversion.我们喜欢有时使用svn ssh:// URL(对于公钥和诸如此类的东西),所以我需要它们能够通过ssh连接并仅运行svnserve命令.

当使用svn ssh URL时,svn ssh’es并传递参数“-c svnserve -t”.我按如下方式编写了一个自定义shell来过滤可以运行的命令.这可行,但它没有将输入传递给svnserve,所以当我尝试“svn up”时,我得到“svn:Connection意外关闭”.

#!/bin/bash
if [ "$1" == "-c" ] && [ "$2" == "svnserve" ] && [ "$3" == "-t" ] && [ "$4" == ""] ; then
        exec svnserve -t
else
        echo "Access denied. User may only run svnserve."
fi

解决方法

我很确定你可以在sshd_config的末尾添加这样的东西.
Match User svnuser
  ForceCommand svnserve -t

猜你在找的Linux相关文章