当前位置: 首页 > 面试题库 >

在Linux中的目录下为新创建的文件和子目录设置默认权限?

龚沛
2023-03-14
问题内容

我有一堆长时间运行的脚本和应用程序,它们将输出结果存储在几个用户之间共享的目录中。我想要一种方法来确保在此共享目录下创建的每个文件和目录都自动具有u=rwxg=rwxo=r权限。

我知道我可以umask 006在各种脚本的开头使用,但是我不喜欢这种方法,因为许多用户编写自己的脚本,可能会忘记自己设置umask。

我真的只希望文件系统在某个文件夹中时,以一定的权限设置新创建的文件和目录。这是可能吗?

更新 :我 认为 可以使用POSIX
ACL
(使用默认ACL功能)来完成此操作,但此刻我有点头疼。如果有人可以解释如何使用默认ACL,则可能会很好地回答此问题。


问题答案:

要获得正确的所有权,可以使用以下命令在目录中设置组setuid位:

chmod g+rwxs dirname

这样可以确保在目录中创建的文件归该组所有。然后,您应该确保每个人都使用umask 002或007或类似的东西运行-
这就是为什么Debian和许多其他Linux系统默认配置有按用户组。

如果用户的umask太强,我不知道一种强制您想要的权限的方法。



 类似资料:
  • 我有一个rails应用程序,正在运行水豚 以下是我如何在我的支持/环境中设置它。rb: 我注意到,如果我停止 然后设置默认下载目录,然而,浏览器会自动弹出,我想禁用它。 当我两者都有: 它运行headless,但未设置默认下载路径。 我有以下版本: 水豚(2.14.2) selenium webdriver(3.6.0) chromedriver辅助程序(1.1.0)

  • 问题内容: 我的小型实用程序应用程序通过GUI文件选择器要求用户提供输出目录。然后,经过一些处理,它会在此输出目录中创建很多文件。 我需要检查应用程序是否具有写访问权,以便它通知用户并且不继续进行处理(这可能需要很长时间) 我的第一次尝试是 java.io.File* 的 canWrite() 方法。但这是行不通的,因为它处理目录条目本身而不是其内容。我已经看到Windows XP文件夹的至少一个

  • 创建目录权限 如果你想创建一个目录并授予777权限,你需要怎么做?查看Go的API文档我们可以这样写。 源文件为mkdir.go。 package main import ( "fmt" "os" ) func main() { err := os.MkdirAll("/tmp/gotest/", 0777) if err != nil { panic(er

  • 6.4 文件与目录的默认权限与隐藏权限 由第五章、Linux文件权限的内容我们可以知道一个文件有若干个属性, 包括读写执行(r, w, x)等基本权限,及是否为目录 (d) 与文件 (-) 或者是链接文件 (l) 等等的属性! 要修改属性的方法在前面也约略提过了(chgrp, chown, chmod) ,本小节会再加强补充一下! 除了基本r, w, x权限外,在Linux传统的Ext2/Ext3

  • 在我的应用程序中,用户可以选择一个目录,在其中使用隐含的意图action_open_document_tree创建Excel文件。但是,中返回的Uri不能由使用。它抛出: 在中,我通过检查路径是否存在,如果不存在,我要创建一个新的Excel文件。 onActivityResult(): createNewExcelFile():

  • 前面小节介绍了如何展示目录和文件列表相关信息,本小节介绍如何创建文件和目录,使用 touch 命令可以创建文件,使用 mkdir 命令可以创建目录。 1. touch 创建文件 实际业务中,有些应用程序写入日志时要求需要先存在指定的日志文件,创建文件命令如下: touch error.log 执行结果如下图: Tips:如图所示,可以看到新建的 error.log 文件大小为 0 (空文件),文