具有特定命令执行权限的SSH用户

具有特定命令执行权限的SSH用户

我想创建一个可以登录我的服务器并仅运行特定命令的用户。

假设我已经有一个用户用户_xyz他的主文件夹是

/home/user_xyz/

现在在该主文件夹中,还有另一个文件夹 public_html 文件夹。

现在我想添加用户说开发商他的主文件夹是

/home/user_xyz/public_html

开发商用户只能通过 ssh 登录,无法访问其主文件夹之外的内容,并且只能运行以下命令

  1. 作曲家安装
  2. 作曲家更新
  3. 目录

答案1

创建您的用户并使用 bash 的受限 shell/bin/rbash作为其 shell (*)。

现在,仅使用他们需要的内容来制作他们的主目录:

  • bin包含允许他们使用的二进制文件的目录
  • .profile定义PATH为该目录的启动脚本(等),并取消定义(或重新定义)您不希望它们使用的所有 shell 内置命令

就是这个想法。

(*) 只需三个命令,您可能还想创建自己的 shell。

答案2

是的,您可以通过以下命令将特定目录设置为用户主目录

useradd -d /home/user_xyz/developer developer

对于有限的命令访问,打开文件名为

vi /etc/sudoers

或者简单地运行命令

visudo

编辑该文件,您可以找到为有限用户提供控制或有限命令访问的行。

相关内容