首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux -如何预先为新文件设置组权限

问Linux -如何预先为新文件设置组权限
EN

Stack Overflow用户
提问于 2015-07-22 08:07:47
回答 2查看 1.4K关注 0票数 2

我想告诉Linux,除了默认权限之外,在某个目录中创建的每个文件都应该有g+w。

我该怎么说?我需要那个目录的粘性部分,不是吗?(目录中已经有drwsrwsr-x,我希望新文件将继承它,但显然它们不是.)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-29 10:27:11

有几种与权限操作相关的机制:

  • umask允许您禁用每个应用程序的权限位。它既不允许启用权限,也不允许在每个目录下执行该操作。这也不是一个全球性的环境。它是从父进程继承的每个进程属性。例如,您可以在init脚本中设置它的默认值,但是程序(特别是守护进程)可能会覆盖它们的umask。
  • sticky bit限制目录访问,以便该目录中的文件只能由根目录或目录所有者或文件所有者解除链接或重命名。
  • 目录上的setgit bit强制在该目录中创建的任何新文件将其组设置为与目录上相同的组。它允许覆盖组所有者,但不允许覆盖权限。
  • bsdgroups或grpid挂载选项支持所有目录的setgit bit行为,即使未设置setgit bit。
  • ACL (访问控制列表)允许您为目录或文件设置每个用户和每个组的权限。当在该目录中创建新文件时,也会从父目录继承它们。但是,ACL权限是针对传统POSIX权限进行屏蔽的,这些权限由文件创建者及其umask设置,因此您不能继承比文件创建者允许的权限更多的权限。

除了umask之外,所有这些机制都是linux特有的.有关setgit bit和ACLs的详细信息,请参阅setgit bit。

我想这些都不是直接解决你问题的方法。你能做的是:

  • 配置创建这些文件的程序,以创建具有足够权限的文件。例如,如果他们用权限0777创建了它们(或者可以这样配置),那么将umask设置为000就足够了。见@KasunRathnayaka的答复。
  • 如果它不是一个选项,则可以将bindfs工具与--create-with-perms及相关选项结合使用。它允许在创建或修改文件时将目录挂载到另一个目录,并覆盖权限和用户/组所有者。见手册页。
票数 2
EN

Stack Overflow用户

发布于 2015-07-22 09:52:55

你可以在你的linuxbox里换个umask。作为你想要的。

代码语言:javascript
复制
Umask   Created Files       Created Directories
-------------------------------------------------------------
000     666 (rw-rw-rw-)     777     (rwxrwxrwx)
002     664 (rw-rw-r--)     775     (rwxrwxr-x)
022     644 (rw-r--r--)     755     (rwxr-xr-x)
027     640 (rw-r-----)     750     (rwxr-x---)
077     600 (rw-------)     700     (rwx------)
277     400 (r--------)     500     (r-x------)

例:

代码语言:javascript
复制
root@kasunr:/usr/share/nginx/html/tt# umask 
0022
root@kasunr:/usr/share/nginx/html/tt# umask 0027
root@kasunr:/usr/share/nginx/html/tt# mkdir yy
root@kasunr:/usr/share/nginx/html/tt# ls
yy
root@kasunr:/usr/share/nginx/html/tt# ls -al
total 12
drwxr-xr-x 3 root root 4096 ජූලි   22 15:20 .
drwxr-xr-x 4 root root 4096 ජූලි   22 15:19 ..
drwxr-x--- 2 root root 4096 ජූලි   22 15:20 yy
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31557378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档