创建时的 Ubuntu 组文件权限

标签 ubuntu permissions

我正在使用 Apache 在 Ubuntu 14.04 服务器上设置 Wordpress 站点。在此构建中,我使用 Bamboo 部署到此服务器。我有一个名为竹子的用户,该用户已添加到组 www-data 中,并且不是 sudo 用户。当我以该用户身份创建新文件时,文件上的 chown 为 bamboo:bamboo但我需要它是bamboo:www-data .我不能为我的生活记住我过去是如何做到的。

文件结构如下所示:

/var/www/website/release-1

我已经运行了这些命令:
usermod -aG www-data bamboo
adduser bamboo www-data
chown -R bamboo:www-data /var/www/website/

我可以使用 chmod g+s -R /var/www/website/ 完成这项工作但我不想使用(setgid)。我相当肯定我之前没有使用 setgid 就做过这个。我已经尝试了几乎所有我能想到的权限来让它工作,我忘记了什么?

最佳答案

好的,我知道出了什么问题。为将来的人们发布此内容,有两种方法可以实现此目的。

  • 这个方法使用setgid,我不想用这个方法,因为它添加了不需要的权限,你可以查一下什么时候什么时候不用这个方法,但它确实有效。
    sudo chmod g+s -R /var/www/website/
  • 此方法将用户的默认组设置为 www-data。这现在使该用户创建的所有文件都具有竹子:www-data 权限。
    sudo usermod -g www-data bamboo

  • 但是第二种方法有一个陷阱。请注意,如果您运行此命令并使用私钥登录您的服务器。它可能会更改您的 /home/bamboo/.ssh 的权限文件夹和 key 。因此,请检查您对这些的权限。您需要以下权限。
    bamboo:bamboo ~/.ssh
    bamboo:bamboo ~/.ssh/authorized_keys
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    

    关于创建时的 Ubuntu 组文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35490290/

    相关文章:

    php - 无法安装 Composer - 缺少 json 扩展名

    linux - 无法打开流 : Permission denied in Laravel

    android - Android Instant App 权限的限制

    java - 在 Java 中 File.canExecute() 究竟做了什么?

    bash - 如何在 Ubuntu 上设置运行环境?

    php - 是否可以在 Linux Web 服务器上使用 PHP Access MS Access 数据库?

    android - 无法让 Buildozer 在 ubuntu 中工作 - "fatal error: arm-linux-gnueabi/python2.7/pyconfig.h: No such file or directory"

    ruby-on-rails - 乘客安装脚本报告成功但无法安装 Nginx

    permissions - Liferay-Portlet 中的资源 Action 映射应该放在哪里?

    安装 Homebrew 时出现权限错误