创建新的 ssh 用户帐户以仅访问特定文件夹

创建新的 ssh 用户帐户以仅访问特定文件夹

我有一个在 ubuntu 16.04 上运行的 apache2 服务器,现在每次我访问特定文件夹内的项目文件时,我都使用 root 用户运行 php 函数并编辑一些文件,完成后我需要chown -R www-data:www-data .在终端内运行,因为运行 php 函数后文件所有者将成为用户:用户(root:root)。我需要的是:

  1. 为我的服务器创建新用户
  2. 当使用 ssh 访问我的服务器时,该用户将自动进入特定文件夹内
  3. 授予此用户在此特定文件夹内执行任何操作的权限

例如,创建一个名为托尼亚,当有人使用用户访问服务器时托尼亚 ssh [email protected],他将被重定向到/var/www/specific_folder用户 tonya 可以在这个文件夹中执行任何操作,并且当 tonya 将 php 文件所有者或文件夹设置为时,tonya:www-data它将像我将文件所有者设置为一样工作www-data:www-data

答案1

你应该能够做到这一点

adduser --home /var/www/specific_folder --shell /bin/bash --no-create-home --ingroup www-data --ingroup ssh tonya
  • adduser用于添加用户

  • --home指定用户登录时所在的主目录

  • --shell是指定 shell,默认情况下,它通常只是/bin/sh不像用户友好的/bin/bash

  • --no-create-home不会创建主目录,因此您必须使用已存在的主目录

  • --ingroup添加用户到指定组

  • 最后一个参数是用户名

你可以使用本指南将用户送入监狱:

请记住,即使你监禁了用户,他们也很有可能逃脱。如果你授予用户访问系统的权限,那么你也可能授予他们 root 权限,因为一旦他们拥有 shell 访问权限,几乎总是可以获得 root 权限。设置监狱很可能阻止普通用户做任何过于有害的事情,但对于阻止恶意用户做有害的事情却无能为力。

相关内容