有没有人有一个很好的解决方案来处理文件/var/www?我们正在运行基于名称的虚拟主机,Apache 2 用户是www-data。
我们有两个普通用户和 root。因此,当弄乱 中的文件时/var/www,而不必...
chown -R www-data:www-data
Run Code Online (Sandbox Code Playgroud)
...一直以来,有什么好的处理方法?
补充问题:那么您对权限的态度如何?
这一直是协作开发环境中的一个问题。
/var/www 目录归root:root其所有,这意味着没有人可以使用它并且完全没有用。既然我们都想要一个实际工作的 Web 服务器(并且没有人应该以“root”身份登录),那么我们需要解决这个问题。
只有两个实体需要访问。
PHP/Perl/Ruby/Python都需要访问文件夹和文件,因为它们创建了许多文件夹和文件(即/uploads/)。这些脚本语言应该在 nginx 或 apache 下运行(或者甚至是像 FastCGI for PHP 这样的其他东西)。
开发商
他们如何获得访问权限?我知道有人在某个地方以前做过这件事。然而,有数十亿个网站,您会认为会有更多关于此主题的信息。
我知道 777 是所有者/组/其他的完全读/写/执行权限。因此,这似乎不需要正确,因为它为随机用户提供了完全权限。
需要使用哪些权限,/var/www以便:
所有人都可以在那里读取、创建和运行文件(和目录)吗?
如果我是对的,Ruby 和 PHP 脚本不会直接“执行”-而是传递给解释器。所以不需要对/var/www...中的文件执行权限?因此,似乎正确的许可chmod -R 1660将使
这样对吗?
更新 1:我刚刚意识到文件和目录可能需要不同的权限 - 我在上面谈论文件,所以我不确定目录权限需要是什么。
更新 2:文件夹结构/var/www发生了巨大变化,因为上述四个实体之一总是添加(有时删除)多个级别的文件夹和子文件夹。他们还创建和删除其他 3 个实体可能需要读/写访问权限的文件。因此,权限需要对文件和目录都做上述四件事。由于它们都不需要执行权限(请参阅上面有关 ruby/php 的问题),我认为rw-rw-r-- …
我需要一些帮助来设置 apache 文档根的正确权限或所有权。这是我需要的:
/var/www/html/<site>我怎样才能做到这一点?目前所有文件都是全局可写的,这不好。服务器运行 CentOS 5.5
谢谢
我正在尝试设置自己的网络服务器以了解有关服务器管理的更多信息。
我决定从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 网络服务器上应具有哪些权限?
但是我仍然被困住了。我的设置是:
fastcgi_pass unix:/tmp/php5-fpm.sock;我创建了一个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) 我正在尝试设置一种情况,可以通过 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\nRun Code Online (Sandbox Code Playgroud)\n\napache conf 文件 (/etc/httpd/conf/httpd.conf) 有此虚拟主机条目
\n\nListen 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>\nRun Code Online (Sandbox Code Playgroud)\n\n/home/robert/public_html/index.html 的权限如下
\n\ndrwxr-xr-x. 7 root …Run Code Online (Sandbox Code Playgroud) 在托管一个网站的专用服务器上,运行没有控制面板的 Linux,我试图授予多个用户编辑公共 HTML 文件夹 (/var/www/html/) 的权限。
我想确保以最佳方式执行此操作,我想如果我通过 CHMOD 宽松地设置权限,它将允许任何可以通过 FTP 访问该文件夹的人更改它。解决方案是设置wheel组,将目标用户添加到wheel组,然后为wheel组设置权限吗?
目前,只有一名用户可以编辑公共 HTML。
我在 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)
我该怎么办?我怎样才能获得完全许可?
我的服务器是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
表示只有600或400文件权限。(*.php 不需要x权限)
至于文件夹权限,只有500或700。
这应该是最佳实践,因为提供尽可能少的广告许可。
有什么安全问题吗?
我在我的机器上运行了一个 Web 服务器,我想为这两个用户 ( misterX和misterY ) 授予目录的 root 权限,/var/www以便他们也可以编辑其他用户和/或脚本创建的文件。
我昨天被黑了,出于某种原因,我认为我在我的服务器上一遍又一遍地做的这件事可能有一些缺点,这个问题可能会被弃用,但我需要简单的答案,因为我曾经做过这种做法,以防万一很糟糕,为什么有答案得到了很多人对这种做法的支持?
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)
所以我只需要像这些命令一样简单的东西来保护我的服务器。谢谢
该问题被标记为重复,但我的受感染服务器并未结束,我正在谈论另一台服务器和特定主题。
我使用本教程逐字逐句在 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)
usermod?a2enmod?AllowOverride None了AllowOverride All?linux ×7
permissions ×7
apache-2.2 ×3
apache-2.4 ×3
centos ×3
security ×3
chmod ×2
lamp ×2
nginx ×2
php ×2
amazon-ec2 ×1
debian ×1
documentroot ×1
forbidden ×1
ftp ×1
groups ×1
http ×1
https ×1
php-fpm ×1
ssh ×1
ubuntu ×1
web-server ×1
www-data ×1