我有一个在 ubuntu 16.04 上运行的 apache2 服务器,现在每次我访问特定文件夹内的项目文件时,我都使用 root 用户运行 php 函数并编辑一些文件,完成后我需要chown -R www-data:www-data .
在终端内运行,因为运行 php 函数后文件所有者将成为用户:用户(root:root)。我需要的是:
- 为我的服务器创建新用户
- 当使用 ssh 访问我的服务器时,该用户将自动进入特定文件夹内
- 授予此用户在此特定文件夹内执行任何操作的权限
例如,创建一个名为托尼亚,当有人使用用户访问服务器时托尼亚 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 权限。设置监狱很可能阻止普通用户做任何过于有害的事情,但对于阻止恶意用户做有害的事情却无能为力。