相关疑难解决方法(0)

在 /var/www 中处理 Apache 2 用户 www-data 权限的最佳方法是什么?

有没有人有一个很好的解决方案来处理文件/var/www?我们正在运行基于名称的虚拟主机,Apache 2 用户是www-data

我们有两个普通用户和 root。因此,当弄乱 中的文件时/var/www,而不必...

chown -R www-data:www-data
Run Code Online (Sandbox Code Playgroud)

...一直以来,有什么好的处理方法?

补充问题:那么您对权限的态度如何?

这一直是协作开发环境中的一个问题。

linux debian www-data file-permissions apache-2.2

230
推荐指数
4
解决办法
17万
查看次数

保护 LAMP 服务器的技巧

这是一个关于保护 LAMP 堆栈的规范问题

保护 LAMP 服务器的绝对准则是什么?

security linux lamp

102
推荐指数
4
解决办法
2万
查看次数

如何为 WWW 文件夹设置 linux 权限?

更新摘要

/var/www 目录归root:root其所有,这意味着没有人可以使用它并且完全没有用。既然我们都想要一个实际工作的 Web 服务器(并且没有人应该以“root”身份登录),那么我们需要解决这个问题。

只有两个实体需要访问。

  1. PHP/Perl/Ruby/Python都需要访问文件夹和文件,因为它们创建了许多文件夹和文件(即/uploads/)。这些脚本语言应该在 nginx 或 apache 下运行(或者甚至是像 FastCGI for PHP 这样的其他东西)。

  2. 开发商

他们如何获得访问权限?我知道有人在某个地方以前做过这件事。然而,有数十亿个网站,您会认为会有更多关于此主题的信息。


我知道 777 是所有者/组/其他的完全读/写/执行权限。因此,这似乎不需要正确,因为它为随机用户提供了完全权限。

需要使用哪些权限,/var/www以便:

  1. 像 git 或 svn 这样的源代码控制
  2. 像“网站”这样的组中的用户(甚至添加到“www-data”
  3. 像 apache 或 lighthttpd 这样的服务器
  4. 和 PHP/Perl/Ruby

所有人都可以在那里读取、创建和运行文件(和目录)吗?

如果我是对的,Ruby 和 PHP 脚本不会直接“执行”-而是传递给解释器。所以不需要对/var/www...中的文件执行权限?因此,似乎正确的许可chmod -R 1660将使

  1. 这四个实体可共享的所有文件
  2. 所有文件都不能被错误地执行
  3. 完全阻止目录中的其他人
  4. 将所有未来文件的权限模式设置为“粘性”

这样对吗?

更新 1:我刚刚意识到文件和目录可能需要不同的权限 - 我在上面谈论文件,所以我不确定目录权限需要是什么。

更新 2:文件夹结构/var/www发生了巨大变化,因为上述四个实体之一总是添加(有时删除)多个级别的文件夹和子文件夹。他们还创建和删除其他 3 个实体可能需要读/写访问权限的文件。因此,权限需要对文件和目录都做上述四件事。由于它们都不需要执行权限(请参阅上面有关 ruby​​/php 的问题),我认为rw-rw-r-- …

linux permissions chmod

72
推荐指数
4
解决办法
14万
查看次数

apache 文档根目录的最佳权限/所有权

我需要一些帮助来设置 apache 文档根的正确权限或所有权。这是我需要的:

  • 不同的网站存储在 /var/www/html/<site>
  • 两个用户应该通过 ssh 更新/管理网站
  • 所有权应该与 apache 用户不同(为了安全)

我怎样才能做到这一点?目前所有文件都是全局可写的,这不好。服务器运行 CentOS 5.5

谢谢

permissions centos documentroot apache-2.2

15
推荐指数
1
解决办法
5万
查看次数

尝试访问新站点时,Nginx 显示失败(13:权限被拒绝)

我正在尝试设置自己的网络服务器以了解有关服务器管理的更多信息。

我决定从public_html用户 /home 目录内的文件夹中提供每个站点文件。

我已经安装了 Nginx,编辑了 nginx.conf 并将用户名/组更改为 nginx。

我为新站点添加了一个新用户,并将 vhosts 文件更改为如下所示;

server {
    listen         80;
    listen         [::]:80;
    server_name    website.com www.website.com;
    root           /home/website/public_html;
    index          index.html index.htm index.php;

    location / {
      try_files $uri $uri/ =404;
    }

    location ~* \.php$ {
    fastcgi_pass unix:/var/run/php-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
Run Code Online (Sandbox Code Playgroud)

但当我尝试访问该网站时,它返回 404 Not Found。

当我检查错误日志时,我看到以下错误;

2019/01/02 19:49:45 [crit] 18248#0: *1 stat() "/home/website/public_html/" failed (13: Permission denied)
Run Code Online (Sandbox Code Playgroud)

有人以前遇到过这种情况并可以告诉我如何处理吗?

我环顾四周,看到了一些关于 getenforce 的帖子,但是当我运行它时,它说Disabled.

我正在使用 CentOS7,如果这有什么区别的话。

干杯,

linux nginx web-server centos

9
推荐指数
2
解决办法
9万
查看次数

仍然对权限感到困惑 - linux、nginx、php-fpm

我已阅读我的网站文件/文件夹在 Linux 网络服务器上应具有哪些权限?

但是我仍然被困住了。我的设置是:

  • 拥有构成网站的目录和文件的开发者用户“ade”
  • 服务器是通过套接字使用 php-fpm 的 nginx: fastcgi_pass unix:/tmp/php5-fpm.sock;
  • 网站包含一个上传目录,在此配置下运行时,该目录必须可由 PHP 写入
  • 我不想将权限设置为 777,显然

我创建了一个webadmin组,并向其中添加了 'ade' 和 nginx:

$ groups ade
ade : ade webadmin

$ groups nginx
nginx : nginx webadmin
Run Code Online (Sandbox Code Playgroud)

我已将站点中所有内容的所有者设置为我和 webadmin 组: chown ade:webadmin *

...如你看到的:

drwxrwxr-x 2 ade webadmin 4096 Jul  3 13:58 logs
drwxrwxr-x 5 ade webadmin 4096 Jul  4 08:35 public
drwxrwxr-x 4 ade webadmin 4096 Jul  3 16:18 system
drwxrwsr-x 2 ade webadmin 4096 Jul  9 …
Run Code Online (Sandbox Code Playgroud)

permissions nginx groups chmod php-fpm

6
推荐指数
2
解决办法
9538
查看次数

Apache CentOS 7 403 被禁止有人吗?

我正在尝试设置一种情况,可以通过 FTP 传输到我的 Linux CentOS 7 服务器并从我的 Windows 7 系统更新网站文件。此时,我可以使用 vsftp (/home/robert) FTP 到我的用户文件夹,并且 Apache 似乎适用于默认网站 (/var/www/html)。我为端口 8080 创建了一个虚拟主机,如果我将其指向 /var/www/8080/public_html,它工作正常,但一旦我将其指向 /home/robert/public_html,它就会返回 403 Forbidden。您没有权限访问此服务器上的 /。\napache 错误日志显示

\n\n
[Wed Mar 18 16:12:27.546621 2015] [core:error]\n[pid 21204] (13)Permission denied: [client 192.168.1.66:57090]\nAH00035: access to / denied (filesystem path '/home/robert')\nbecause search permissions are missing on a component of the path\n
Run Code Online (Sandbox Code Playgroud)\n\n

apache conf 文件 (/etc/httpd/conf/httpd.conf) 有此虚拟主机条目

\n\n
Listen 80\nListen 8080\n\n# Virtual Hosts\n<VirtualHost *:8080>\n    ServerName 192.168.1.10:8080\n#   DocumentRoot /var/www/8080/public_html\n    DocumentRoot /home/robert/public_html\n</VirtualHost>\n
Run Code Online (Sandbox Code Playgroud)\n\n

/home/robert/public_html/index.html 的权限如下

\n\n
drwxr-xr-x.   7 root …
Run Code Online (Sandbox Code Playgroud)

permissions centos forbidden apache-2.4

5
推荐指数
1
解决办法
2万
查看次数

允许多个 FTP 用户编辑公共 HTML 文件夹的权限 - Linux

在托管一个网站的专用服务器上,运行没有控制面板的 Linux,我试图授予多个用户编辑公共 HTML 文件夹 (/var/www/html/) 的权限。

我想确保以最佳方式执行此操作,我想如果我通过 CHMOD 宽松地设置权限,它将允许任何可以通过 FTP 访问该文件夹的人更改它。解决方案是设置wheel组,将目标用户添加到wheel组,然后为wheel组设置权限吗?

目前,只有一名用户可以编辑公共 HTML。

linux permissions ftp

1
推荐指数
1
解决办法
2万
查看次数

AWS ec2-user 权限被拒绝

在 Amazon Linux AMI 上有我的Apache HTTP 服务器。我正在尝试通过 SSH 作为 ec2 用户在我的根目录子文件夹上安装 Prestashop。

cd /var/www/html
Run Code Online (Sandbox Code Playgroud)

但是当我尝试创建目录时

mkdir prestashoptest
Run Code Online (Sandbox Code Playgroud)

我总是收到这个错误

mkdir: cannot create directory ‘prestashoptest’: Permission denied
Run Code Online (Sandbox Code Playgroud)

我该怎么办?我怎样才能获得完全许可?

ssh amazon-ec2 amazon-web-services

1
推荐指数
1
解决办法
2万
查看次数

当我将 `apache` 设置为网站文件和文件夹的唯一所有者时,是否存在任何安全问题?

我的服务器是centos 7, php 5.4, apache 2.4。我的网站位于/var/www.

至于apache唯一一个用户读或写/var/www,我将所有文件和文件夹的所有者和组设置为apache

对于文件夹和文件只读:-r------- 1 apache apache 922 Jun 3 2014 connect.php
对于需要写入的文件:-rw------- 1 apache apache 922 Jun 3 2014 connect.php
表示只有600400文件权限。(*.php 不需要x权限)
至于文件夹权限,只有500700

这应该是最佳实践,因为提供尽可能少的广告许可。
有什么安全问题吗?

php http https apache-2.4

0
推荐指数
1
解决办法
64
查看次数

仅针对特定目录为用户授予 root 权限

我在我的机器上运行了一个 Web 服务器,我想为这两个用户 ( misterXmisterY ) 授予目录的 root 权限,/var/www以便他们也可以编辑其他用户和/或脚本创建的文件。

linux permissions

-1
推荐指数
1
解决办法
1238
查看次数

服务器权限允许黑客执行脚本

我昨天被黑了,出于某种原因,我认为我在我的服务器上一遍又一遍地做的这件事可能有一些缺点,这个问题可能会被弃用,但我需要简单的答案,因为我曾经做过这种做法,以防万一很糟糕,为什么有答案得到了很多人对这种做法的支持?

sudo chown www-data:www-data /var/www -R
cd /var/www
sudo find . -type f -exec chmod 664 {} \;
sudo find . -type d -exec chmod 755 {} \;
Run Code Online (Sandbox Code Playgroud)

所以我只需要像这些命令一样简单的东西来保护我的服务器。谢谢

该问题被标记为重复,但我的受感染服务器并未结束,我正在谈论另一台服务器和特定主题。

security permissions apache-2.2 apache-2.4

-1
推荐指数
1
解决办法
98
查看次数

LAMP 安装和安全

我使用本教程逐字逐句在 Ubuntu 13.04 上安装了 LAMP 服务器。它工作得很好。但我几乎无法理解这些步骤:

$ sudo usermod -a -G www-data your_user
$ sudo chgrp -R www-data /var/www
$ sudo chmod -R g+w /var/www
$ sudo apt-get install php5-curl
$ sudo a2enmod rewrite
Run Code Online (Sandbox Code Playgroud)
  1. 这是什么usermod
  2. 为什么在这里使用它?
  3. 为什么要更改组?
  4. 这是什么a2enmod
  5. 这种安装有多安全?
  6. 我还需要做些什么来使其更安全吗?
  7. 如果原作者已经做好了安全保障,那他是怎么做到的?
  8. 他为什么变成AllowOverride NoneAllowOverride All

security linux ubuntu php lamp

-7
推荐指数
1
解决办法
134
查看次数