标签: access-control-list

Apache 的“要求所有授予”真的做什么?

我刚刚将我的 Apache 服务器更新为在 Ubuntu 13.04 下运行的 Apache/2.4.6。我曾经有一个 vhost 文件,其中包含以下内容:

<Directory "/home/john/development/foobar/web">
    AllowOverride All 
</Directory>
Run Code Online (Sandbox Code Playgroud)

但是当我运行时,我得到了一个“禁止。你无权访问 /”

在做了一点谷歌搜索后,我发现要让我的网站再次工作,我需要添加以下行“要求全部授予”,以便我的虚拟主机看起来像这样:

<Directory "/home/john/development/foobar/web">
    AllowOverride All 
    Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)

我想知道这是否“安全”并且不会带来任何安全问题。我在 Apache 的页面上读到,这“模仿了以前由“全部允许”和“全部拒绝”指令提供的功能。此提供程序可以采用“授予”或“拒绝”的两个参数之一。以下示例将授予或拒绝访问所有请求。”

但它没有说明这是否是某种安全问题,或者为什么我们现在必须这样做,而过去您不必这样做。

permissions access-control-list apache-2.2 apache-2.4

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

linux/setfacl - 使用指定的所有者/组将父目录中的所有当前/未来文件/目录设置为 775

我有一个名为“成员”的目录,在它下面有文件夹/文件。如何递归地将所有当前文件夹/文件以及在那里创建的任何未来文件夹/文件默认设置为具有 775 权限并分别属于所有者/组 nobody/admin?我启用了 ACL,已挂载,但似乎无法让 setfacl 命令正确执行此操作。知道如何做到这一点吗?

linux permissions access-control-list setfacl

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

如何从命令行获取文件的所有权?

我每隔一段时间就会遇到一个我需要拥有的文件。我通常cacls用于更改 ntfs 权限,但它似乎没有所有权。在 *nix 下,我会运行类似chown me:me <file>. 是否有相当于的窗口chown

windows windows-xp ntfs command-line-interface access-control-list

34
推荐指数
5
解决办法
16万
查看次数

如何解决 NTFS 移动/复制设计缺陷?

任何处理过文件服务器权限的人都知道,NTFS 有一个有趣的设计特性/缺陷,称为移动/复制问题。

正如这篇 MS KB 文章中所述,如果文件夹或文件被移动并且源和目标位于同一个 NTFS 卷上,则该文件夹或文件的权限不会自动从父级继承。如果文件夹被复制或者源和目标位于不同的卷上,则权限将被继承。

这是一个快速示例:

您在同一个 NTFS 卷上有两个共享文件夹,名为“Technicians”和“Managers”。Technicians 组对 Technicians 文件夹具有 RW 访问权限,Managers 组对“Managers”文件夹具有 RW 访问权限。如果有人对两者都具有访问权限,并且他们将子文件夹从“Managers”文件夹移动到“Technicians”文件夹,则移动的文件夹仍然只能由“Managers”组中的用户访问。“技术人员”组无法访问子文件夹,即使它位于“技术人员”文件夹下并且应该从顶部继承权限。

可以想象,这会导致解决这些最终用户问题的支持电话、票证和浪费的周期,更不用说如果用户经常在不同的安全文件夹/区域之间移动文件夹,您最终可能会遇到的大量权限。相同的音量。

问题是:

解决此 NTFS 设计缺陷的最佳方法是什么,您如何在您的环境中处理它?

我知道链接的 KB 文章谈到了一些注册表项来更改 Windows 资源管理器的默认行为,但它们是客户端,并且要求用户能够更改权限,我认为在大多数环境中,如果您想要控制您的文件服务器权限(以及您作为系统管理员的理智)。

filesystems permissions ntfs access-control-list

32
推荐指数
3
解决办法
4万
查看次数

icacls 授予对 Windows 7 上所有用户的访问权限

我正在尝试为 Windows 7 上的所有用户授予对特定文件夹的完全访问权限(读、写)。问题是我不知道如何使用 icacls 来做到这一点。

windows access-control-list

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

为什么 cp 不尊重 ACL?

在组内设置文件共享目录的常用方法是:

$ mkdir foo
$ chgrp felles foo
$ chmod g+ws foo
$ setfacl -m group:felles:rwx foo
$ setfacl -dm group:felles:rwx foo
Run Code Online (Sandbox Code Playgroud)

这确保了创建的任何文件foo都可以被组读写felles

$ umask
0022
$ echo hi > foo/bar
$ ls -l foo
total 4
-rw-rw-r--+ 1 bhm felles 3 2010-09-23 00:18 bar
Run Code Online (Sandbox Code Playgroud)

但是,如果您将文件复制到 中foo,则不会应用默认 ACL:

$ echo you > baz
$ cp baz foo/
$ ls -l foo
total 8
-rw-rw-r--+ 1 bhm felles 3 2010-09-23 00:18 bar
-rw-r--r--+ 1 bhm …
Run Code Online (Sandbox Code Playgroud)

linux access-control-list

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

为什么组上的chmod(1)会影响ACL掩码?

我试图理解这种 Unix 行为(我碰巧在 Ubuntu 11.10 上测试):

$ touch foo
$ setfacl -m u:nobody:rwx foo
$ getfacl foo
# file: foo
# owner: michael
# group: michael
user::rw-
user:nobody:rwx
group::rw-
mask::rwx
other::r--

$ chmod g-rw foo
$ getfacl foo
# file: foo
# owner: michael
# group: michael
user::rw-
user:nobody:rwx         #effective:--x
group::rw-          #effective:---
mask::--x
other::r--
Run Code Online (Sandbox Code Playgroud)

请注意,chmod(1) 命令已更新了 ACL 掩码。为什么会发生这种情况?

SunOS的联机帮助有以下说:

如果使用 chmod(1) 命令更改具有 ACL 条目的文件的文件组所有者权限,则文件组所有者权限和 ACL 掩码都将更改为新权限。请注意,新的 ACL 掩码权限可能会更改对文件具有 ACL 条目的其他用户和组的有效权限。

我问是因为如果 chmod(1) 没有这种行为对我来说会很方便。我希望通过了解它为什么会这样做,我可以更好地设计我设置文件系统权限的方式。

unix filesystems access-control-list

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

访问控制列表中 0.0.0.0/0 和 ::/0 之间的区别

设置访问控制列表时,0.0.0.0/0和之间有什么区别::/0

我看到这个是我正在设置的 AWS EC2 实例

ipv6 access-control-list ipv4

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

setfacl 将文件重置为默认权限?

我有一个包含以下默认 ACL 的目录:

default:user:phptutor:rwx
Run Code Online (Sandbox Code Playgroud)

但是,该目录中的所有文件/目录都没有该默认权限(因为它是在创建后添加的)。

如何将父目录的默认 ACL 复制到其中的每个文件夹和文件?

linux permissions access-control-list file-permissions

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

我可以使用 ACL 覆盖我的 umask 以使给定目录中创建的所有文件都可读吗?

假设我的 umask 是 0077。

我有一个目录,foo我想对其应用特殊权限。我在其中创建的所有文件foo都应该是全局可读的,并且所有目录都应该是全局可读和可执行的。

目前,如果我创建一个文件,它将是 0600,目录将是 0700:

$ cd foo/
$ touch file
$ mkdir directory
$ ls -l
drwx------ 2 nfm nfm 4096 2012-01-12 16:16 directory
-rw------- 1 nfm nfm    0 2012-01-12 16:15 file
Run Code Online (Sandbox Code Playgroud)

我希望文件是 0644,目录是 0755,不管我的 umask:

drwxr-xr-x 2 nfm nfm 4096 2012-01-12 16:16 directory
-rw-r--r-- 1 nfm nfm    0 2012-01-12 16:15 file
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

linux permissions access-control-list umask

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