加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-14 02:33:50 所属栏目:Linux 来源:网络整理
导读:我有一个用户,我只想使用subversion.我们喜欢有时使用svn ssh:// URL(对于公钥和诸如此类的东西),所以我需要它们能够通过ssh连接并仅运行svnserve命令. 当使用svn ssh URL时,svn ssh’es并传递参数“-c svnserve -t”.我按如下方式编写了一个自定义shell来
我有一个用户,我只想使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读