我想设置一个文件夹,以便在其中创建的任何内容(目录、文件)继承默认权限和组。
让我们称该组为“媒体”。而且,在目录中创建的文件夹/文件应该自动具有 g+rw。
当 I 时ls -la,它会打印许多属性。像这样的东西:
-rwSrwSr-- 1 www-data www-data 45 2012-01-04 05:17 README
Run Code Online (Sandbox Code Playgroud)
可耻的是,我不得不承认我不知道每个属性的确切含义。例如,S字符串中的 big是什么意思-rwSrwSr--?以下是1什么?我粗略了解其他人。
CentOS 6.4
我试图更好地了解文件系统 ACL 规则的处理方式以及 ACL 规则的应用顺序。
例如,假设用户 bob 和 joe 属于名为 sales 的组。假设我有一份包含以下详细信息的销售文件:
[root@Maui ~]# getfacl /home/foo/docs/foo.txt
getfacl: Removing leading '/' from absolute path names
# file: home/foo/docs/foo.txt
# owner: jane
# group: executives
user:: r--
user:bob:rw-
user:joe:rwx
group:sales:rwx
group::r--
mask::rwx
other::---
Run Code Online (Sandbox Code Playgroud)
我的问题是,在这样的示例中如何处理权限以及哪些访问权限优先?
是否只有自上而下的搜索,并且首先匹配的规则才是适用的?
或者 Linux 是否根据相关用户的最具体规则强制执行访问?或者最严格和适用的规则优先?
我试着在这里找到这个,但如果它是重复的,我不会很抱歉。
假设我有 2 个组和一个用户:group1、group2、user1,其结构如下:group1 是 group 2 的成员,user1 是 group1 的成员
现在说我有以下具有相关权限的文件
file1 root:group1 660
file2 root:group2 660
Run Code Online (Sandbox Code Playgroud)
现在,当我登录到 user1 时,我可以编辑 file1,但不能编辑 file2。除了将 user1 添加到 group2 之外,有没有办法做到这一点?还是没有办法?
顺便说一句,我正在使用 Ubuntu。
我可以配置 sudo(通过 sudoers 文件)以允许用户在系统中的任何文件或目录上运行chown和chmod命令。但是,我只想授予用户权限以对驻留在/var/www/html目录下的文件运行这些命令。
如何限制特权命令,以便用户只能在预先指定的目录中运行它们?
例如:以下命令授予index.html文件777 权限。
sudo chmod 777 /var/www/html/index.html
Run Code Online (Sandbox Code Playgroud)
现在我想执行两个操作
限制sudo,使得用户可以仅运行chmod和chown从内/var/www/html
禁止用户在系统的其他地方执行这些命令(例如命令不能在/var/www或 中运行/var/ftp)
我想使用 setfacl 以便“app”组中的任何人都可以编辑 /usr/local/users/app 中包含的任何文件,而不管传统的 UNIX 权限是什么。我有两个用户约翰和本。我试图按照另一个问题的说明进行操作,但 john 无法写入某些文件。看起来这是因为 acl 掩码。但是,我已经在 rwx 的目录上设置了默认掩码,所以其中的文件在创建时不应该继承吗?
例如,john 无法写入下面的文件,但他是“app”组的成员,该组在文件上写入了 acl,所以我很惊讶他无法编辑该文件。
ben@app1:/usr/local/users$ ls -la app/app-1.0-SNAPSHOT/lib/play.templates_2.10-2.1.1.jar
-rw-r--r--+ 1 ben users 38326 Apr 2 10:21 app/app-1.0-SNAPSHOT/lib/play.templates_2.10-2.1.1.jar
ben@app1:/usr/local/users/app$ getfacl app-1.0-SNAPSHOT/lib/
# file: app-1.0-SNAPSHOT/lib/
# owner: ben
# group: users
user::rwx
group::rwx #effective:r-x
group:app:rwx #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::rwx
default:group:app:rwx
default:mask::rwx
default:other::r-x
ben@app1:/usr/local/users$ getfacl app/app-1.0-SNAPSHOT/lib/play.templates_2.10-2.1.1.jar
# file: app/app-1.0-SNAPSHOT/lib/play.templates_2.10-2.1.1.jar
# owner: ben
# group: users
user::rw-
group::rwx #effective:r--
group:app:rwx #effective:r--
mask::r--
other::r--
Run Code Online (Sandbox Code Playgroud) 可能的重复:
使目录中的所有新文件可供组访问
我有一个目录,其中存储了协作文件/目录。假设目录abc归所有者所有,root组是project-abc. 我希望此目录具有以下内容:
project-abc允许组内成员更改此目录的内容。abc必须为成员或组设置读写权限abcabc这对于静态目录来说很简单,但是该目录的内容预计会经常更改。我产生预期结果的最佳方法是什么?
IIRC 然后显示的挂载选项/proc/mounts已更改。前段时间acl并user_xattr显示,现在似乎只有noacl和nouser_xattr显示这些功能是否关闭。
这是在哪里配置的?这是否取决于文件系统代码的编译默认值?如何检查卷是否支持例如 ACL?有没有比用setfacl,测试更好的解决方案getfacl?
很久以前,一位老朋友向我展示了一种将八进制或十六进制 umask 与我认为使用/etc/profile. 我不知道。
我正在尝试在 Debian 上创建组,以便该组的每个成员在创建文件时都会生成一个具有默认权限的文件665。创建目录时,它将具有默认权限775。有哪些方法可以为组设置执行此操作?
谢谢
在我的学校,我们有一个共享服务器环境,其中包含多个用户和多个组。
相关组:
students
daemon (运行阿帕奇)
我想让学生能够完全访问他们拥有的文件,而不能访问其他学生的文件。两个不同的学生甚至不应该看到彼此的文件。
我还希望 apache 能够读取和执行所有学生文件。具体来说,我希望 apache 能够读取每个学生拥有的密码文件,我还希望密码文件的所有者可以完全访问它。
根据我的理解,最好的方法是将密码文件的组所有者更改为 apache。
所以看完这篇之后,
https://serverfault.com/questions/357108/what-are-the-best-linux-permissions-to-use-for-my-website
似乎一个简单的 chgrp 可以解决它。
但后来我遇到了这个:
您必须是文件的所有者以及目标组(或根)的成员才能使用此操作。
所以每个学生都不是守护进程组的一部分,他们不能运行这个命令。给他们那个组是没有意义的,因为他们也可以看到其他学生的密码文件。
从上一个帖子中,我了解到当前的安全设置不合适,我已安排与我的系统管理员会面。
但我仍然不确定我应该让我的系统管理员做什么。
我真的不能让他手动更改服务器上每个密码文件的权限,文件名和位置不同,许多学生甚至还没有设置。
允许学生完全访问 chgrp 似乎很危险,
我的倾向似乎是要求他创建某种类型的脚本,提示学生输入文件,然后运行 chgrp 代替学生,从而赋予 apache 组所有权。这似乎可行,但也很复杂,因为我对 Linux 还是很陌生。这样的事情,他能轻易做到吗?
我也考虑过 ACL,但我的思路又回到了 chgrp,让学生访问 setacl 似乎很危险。