我想创建一个可以登录我的服务器并仅运行特定命令的用户。
假设我已经有一个用户用户_xyz他的主文件夹是
/home/user_xyz/
现在在该主文件夹中,还有另一个文件夹 public_html 文件夹。
现在我想添加用户说开发商他的主文件夹是
/home/user_xyz/public_html
开发商用户只能通过 ssh 登录,无法访问其主文件夹之外的内容,并且只能运行以下命令
- 作曲家安装
- 作曲家更新
- 目录
答案1
创建您的用户并使用 bash 的受限 shell/bin/rbash
作为其 shell (*)。
现在,仅使用他们需要的内容来制作他们的主目录:
bin
包含允许他们使用的二进制文件的目录.profile
定义PATH
为该目录的启动脚本(等),并取消定义(或重新定义)您不希望它们使用的所有 shell 内置命令
就是这个想法。
(*) 只需三个命令,您可能还想创建自己的 shell。
答案2
是的,您可以通过以下命令将特定目录设置为用户主目录
useradd -d /home/user_xyz/developer developer
对于有限的命令访问,打开文件名为
vi /etc/sudoers
或者简单地运行命令
visudo
编辑该文件,您可以找到为有限用户提供控制或有限命令访问的行。