小编Yuv*_*val的帖子

是否有“所有者”权限存在的原因?组权限还不够吗?

我想我更了解文件权限在 Linux 中是如何工作的。但是,我真的不明白为什么将它们分成三个级别而不是两个级别。

我想回答以下问题:

  • 这是故意设计还是补丁?也就是说 - 所有者/组权限是根据某种原理设计和创建的,还是它们一个接一个地出现来满足需求?
  • 是否存在用户/组/其他方案有用但组/其他方案不足的情况?

第一个答案应该引用教科书或官方讨论板。

我考虑过的用例是:

  • 私有文件 - 通过为每个用户创建一个组很容易获得,这在许多系统中通常是这样做的。
  • 仅允许所有者(例如系统服务)写入文件,仅允许特定组读取,并拒绝所有其他访问权限 - 此示例的问题是一旦要求具有写入权限,用户/group/other 失败了。两者的答案都是使用 ACL,恕我直言,并不能证明所有者权限的存在是合理的。

注意,我在superuser.com 中关闭了这个问题后,改进了这个问题。

编辑将“但组/所有者方案不足以”更正为“...组/其他...”。

linux permissions

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

如何使用“更改目录”选项使 tar 通配符工作

我有以下目录结构:

base/
   files/
   archives/
   scripts/
Run Code Online (Sandbox Code Playgroud)

我想一个脚本来运行的scripts/,压缩文件,那场比赛results.*.logfiles/为gzip压缩tar归档文件中archives/

我正在尝试以下命令:

tar czfC ../archives/archive.tar.gz ../files results.*.log
Run Code Online (Sandbox Code Playgroud)

但我得到

tar: results.*.log: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
Run Code Online (Sandbox Code Playgroud)

尽管

tar czfC ../archives/archive.tar.gz ../files results.a.log
Run Code Online (Sandbox Code Playgroud)

按预期工作。还

tar czf ../archives/archive.tar.gz ../files/results.*.log
Run Code Online (Sandbox Code Playgroud)

以我想要的方式工作,除了它将前缀添加files/到文件并发出警告:

tar: Removing leading `../' from member names
Run Code Online (Sandbox Code Playgroud)

所以我的结论是,tar使用该-C选项时,globbing 无法正常工作。关于如何以简单的方式完成这项工作的任何建议?

tar wildcards

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

标签 统计

linux ×1

permissions ×1

tar ×1

wildcards ×1