假设我有两个用户 Alice 和 Bob 以及一个组 GROUPNAME 和一个文件夹foo,两个用户都是 GROUPNAME 的成员(使用 Linux 和 ext3)。
如果我将用户 Alice 下的文件保存为foo,则权限为:-rw-r--r-- Alice Alice。但是,是否可以实现保存在某个子目录下的每个文件都foo具有权限-rwxrwx--- Alice GROUPNAME(即所有者 Alice,组 GROUPNAME)?
Red Hat 5/6 当我挂载时它说类型 nfs,我想知道如果它没有在挂载选项或 fstab 中列出,我想知道如何确定版本。请不要说用版本选项重新挂载它,我想知道如何确定当前挂载的NFS版本。我猜它会根据 NFS 服务器/客户端设置默认,但我如何确定它当前是什么?我很确定它是 NFS v3,因为似乎不支持 nfs4_setfacl。
我们使用 FreeBSD 10.3 的托管服务器,我们没有超级用户的权限。我们使用服务器运行我们公司网页的apache2。我们网页的前任管理员似乎为目录设置了 ACL 权限,但我们想删除它。假设该目录名为foobar.
现在的结果ls -al foobar如下:
drwxrwxr-x+ 2 myuser another_user 512 Nov 20 2013 foobar
Run Code Online (Sandbox Code Playgroud)
权限如下:
[myuser@hosting_server]$ getfacl foobar
# file: foobar/
# owner: myuser
# group: another_user
user::rwx
group::rwx
mask::rwx
other::r-x
Run Code Online (Sandbox Code Playgroud)
这里我们要删除ACL权限和权限列表最后的加号。因此,我们做了
setfacl -b foobar
Run Code Online (Sandbox Code Playgroud)
它取消了 ACL 管理的特殊权限,但没有删除加号+。
我们的问题是我们如何删除+“ls -al foobar”显示的权限列表中的加号?
例如,我想给我的同事写访问某个目录的权限。假设其中的子目录具有访问权限 775,文件 664,并且目录中还有一些可执行文件 - 775。
现在我想添加写权限。使用 chmod,我可以尝试类似
chmod o+w -R mydir/
Run Code Online (Sandbox Code Playgroud)
但这并不酷,因为我不想让 dir 成为世界可写的 - 我只想授予某些用户访问权限,所以我想使用 ACL。但是有没有一种简单的方法来设置这些权限?在我看来,我需要分别处理至少三种情况(目录、文件、可执行文件):
find -type d -exec setfacl -m u:colleague:rwx {} \;
find -type f -executable -exec setfacl -m u:colleague:rwx {} \;
find -type f \! -executable -exec setfacl -m u:colleague:rw {} \;
Run Code Online (Sandbox Code Playgroud)
对于这样一个简单的任务,似乎有相当多的代码行。有没有更好的办法?
当使用 tar 实用程序将文件存储在备份中时,会丢失扩展的 ACL。
是否有一些常用的而不是骇人听闻的解决方案(例如:创建一个将从头开始重新创建 ACL 的脚本)来保留 ACL?
关于 Linux (Arch Linux) 上的文件权限,我遇到了一些意想不到的事情(对我来说)。基本上我有:
userX 在 groupXfileX userX:groupX ---rwx----令我困惑的是:我无法在 上执行任何操作 ( rwx) fileX。这是正确的吗?有人可以确认这确实是预期的行为吗?
我可以执行的唯一操作是mv并且rm因为我对父目录具有写权限。
问题是,我一直认为这些权限会相互重叠,从最通用的权限开始(其他 -> 组 -> 用户)。换句话说,如果o=rwx谁关心组和用户的权限是什么?显然情况并非如此,但对我来说没有多大意义;这似乎违反直觉。这种方法似乎唯一有用的是,很容易排除一个非常特定的人/组,这似乎不是一个聪明的方法(恕我直言)。此外,所有者(和组?)应该可以chmod吧?对这个问题有什么想法吗?
我的理解chmod和chown如何权限位的工作,但还有另一种许可系统内部的Linux,ACL与setfacl和getfacl,所以这让我不知道。
这两个权限控制系统有什么区别?他们互相干扰吗?
我需要对 DAC、ACL 和 MAC 在 Linux 文件安全中扮演的不同角色进行一些澄清/确认/详细说明。
经过对文档的一些研究,这是我对堆栈的理解:
setfacl,getfacl用于ACL安装)显式地允许/拒绝访问的对象,那么就不需要进一步的处理。我错过了什么吗?是否存在情况并非如此?
是否有像 diff 这样的 Linux 工具可以递归比较文件和目录,但还增加了比较:扩展属性、acl、se 上下文?