V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
siagasky
V2EX  ›  Linux

请教一个关于 Linux 目录权限的问题

  •  
  •   siagasky · 2017-09-11 15:56:06 +08:00 · 3140 次点击
    这是一个创建于 2615 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于特殊需求想要指定某个目录及其所有子目录权限为 777, 目前已经知道可以通过 chmod -R 777 实现. 但是这样之后在此目录下新创建的目录还是没有 777 权限, 还需要再重新设置. 请问有什么 方法可以实现在此目录下创建的文件默认权限就是 777 吗?

    14 条回复    2017-09-11 21:41:35 +08:00
    knightdf
        1
    knightdf  
       2017-09-11 16:04:40 +08:00
    mkdir -m 777
    jones
        2
    jones  
       2017-09-11 16:09:20 +08:00
    umask
    blueionic
        3
    blueionic  
       2017-09-11 16:35:07 +08:00 via Android
    umask 000 就好啦,以后创建的文件夹全是 777,文件全是 666
    siagasky
        4
    siagasky  
    OP
       2017-09-11 16:46:35 +08:00
    @knightdf 谢谢, 我试下
    siagasky
        5
    siagasky  
    OP
       2017-09-11 16:47:28 +08:00
    @jones
    @blueionic
    谢谢, 不过 umask 方法似乎是整个系统新建目录的权限都变成 777 了? 我只是想在一个已知目录下新建的子目录都是 777.
    ZackB0T
        6
    ZackB0T  
       2017-09-11 17:14:09 +08:00 via Android
    Winscp 文件夹权限有个勾选项 大概是“循环设置权限”,之后这个文件下新建文件夹权限和设置这个保持一样。命令就不清了。man 下 chmod 看看
    csensix
        7
    csensix  
       2017-09-11 17:18:32 +08:00
    如果是通过程序来创建目录,应该有对应命令可以再目录创建后修改权限
    Sh888
        8
    Sh888  
       2017-09-11 17:45:48 +08:00   ❤️ 1
    分区启用 acl 可以继承文件夹权限。http://wdj01.blog.51cto.com/1059856/677511
    seers
        9
    seers  
       2017-09-11 17:48:47 +08:00
    写个脚本定时遍历一遍?
    Tink
        10
    Tink  
       2017-09-11 18:53:06 +08:00   ❤️ 1
    setfacl
    erlinux
        11
    erlinux  
       2017-09-11 19:07:07 +08:00
    setfacl -m u::rwX -R <PATH>
    setfacl -m d:u::rwX <PATH>
    前者将现有目录内容递归设置为 777 权限,后者设置默认 ACL 权限(后续 folder 即按照 default 处理)

    至于 “-X ” 表示只为目录设置执行权限,文件并不会被递归到执行权限。

    这是 Red Hat Certified Engineer (RHCE)的内容 = 。 =
    erlinux
        12
    erlinux  
       2017-09-11 19:10:46 +08:00
    至于删除:

    setfacl -x u:name,g:name file 删除文件的默认 ACL
    setfacl -k directory 删除目录的默认 ACL
    setfacl -b file 移除文件的所有 ACL


    getfacl 用来查询。好了,下一个问题(逃
    ila
        13
    ila  
       2017-09-11 19:12:12 +08:00 via Android
    @erlinux ヽ(〃∀〃)ノ
    siagasky
        14
    siagasky  
    OP
       2017-09-11 21:41:35 +08:00
    @ZackB0T
    @erlinux
    @Tink
    @seers
    @Sh888
    @csensix
    谢谢各位, 我用 @erlinux 提供的方法实现了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   951 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 21:59 · PVG 05:59 · LAX 13:59 · JFK 16:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.