如何限制shell命令和目录,我如何允许用户ssh到我的服务器?
我正在使用git将代码部署到我的服务器.我有2台服务器,第一台是产品服务器,第二台是git服务器.
我的团队使用git服务器来提取/推送代码.
在我的产品服务器上,我设置了git客户端.每当我想发布一个版本,我就把它推送到我的git服务器(主服务器或其他分支机构......),然后我ssh到我的产品服务器来提取代码.
我想与我的队友分享代码拉取权限,但是不想让他们运行任何命令而只是git,并且只将它们限制在目录中.
我想限制的目录的所有者是apache:apache,所以如果ssh用户运行apache特权,那将非常好.
谢谢,
解决:我使用了lshell和一组限制命令.
在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.