将SSH用户限制为shell命令

Tar*_*zan 3 git ssh shell

我的问题是

如何限制shell命令和目录,我如何允许用户ssh到我的服务器?

我的情况

我正在使用git将代码部署到我的服务器.我有2台服务器,第一台是产品服务器,第二台是git服务器.

我的团队使用git服务器来提取/推送代码.

在我的产品服务器上,我设置了git客户端.每当我想发布一个版本,我就把它推送到我的git服务器(主服务器或其他分支机构......),然后我ssh到我的产品服务器来提取代码.

我想与我的队友分享代码拉取权限,但是不想让他们运行任何命令而只是git,并且只将它们限制在目录中.

我想限制的目录的所有者是apache:apache,所以如果ssh用户运行apache特权,那将非常好.

谢谢,

解决:我使用了lshell和一组限制命令.

Edw*_*cay 8

在git用户中禁用shell的一个简单命令是用/ usr/bin/git-shell替换/ usr/bin/bash.将其替换为/ etc/password文件或使用以下命令:

usermod -s /usr/bin/git-shell [username]
Run Code Online (Sandbox Code Playgroud)

从官方Git网站查看此文档:设置服务器.如果你想在它上面有一个shell但是将它限制在一个目录使用的附加信息: rbash.与git-shell相同,只需用它替换用户shell.