【问题标题】:Linux binary permissionsLinux 二进制权限
【发布时间】:2013-08-02 03:31:10
【问题描述】:

我正在运行 Debian 6 - 64 位,我希望将特定的权限集放在一个可执行二进制文件中。

该文件最初由用户/组 root 拥有,并拥有 0111 组权限,仅允许执行权限。

我设置了这些权限,因为我通常会为我创建的每个用户进行安装,并且在安装文件时,此文件会自动复制到用户的主目录。该文件很重要,因此我不希望那些创建的用户通过 FTP 下载甚至查看该文件,他们唯一可以做的就是执行。

但是由于我已经在文件上设置了 0111 权限以实现我想要的,因此文件不再复制到用户的主目录,因为 root 无法读取/写入文件。我应该怎么做仍然允许root读取/写入文件,以便在自动化过程中将其复制到用户的主目录,但不允许创建的用户访问它。该文件归用户/组 root 所有,复制后归用户/组 new-user 所有。

【问题讨论】:

    标签: linux permissions binary


    【解决方案1】:

    将原始的权限设置为511或711(o+r),然后在复制之前,执行umask 666以从新创建的文件中删除这些权限。然后该副本将拥有0711 & ~0666 == 0111 的权限。

    【讨论】:

    • 你可能没有很好地理解这个问题。如果我把这些权限,那么根可以读/写文件的地方,创建的新用户也可以读/写文件。我只希望 root 能够读/写文件,以便 root 用户可以将其复制到新用户的主目录。复制文件后,该文件将不再由 root 拥有,而是由用户/组 newuser 拥有,就像我提到的那样。
    • 谢谢,但副本实际上是自动化的,并且来自以 ioncube 编码的软件,所以我无法更改它的功能。我在想可能是 0115 还是 0117?这将允许“其他”用户组读/写。此用户组是否包含 root 用户?
    • @AsadMoeen: other 表示除所有者及其组之外的任何人。
    猜你喜欢
    • 2012-05-17
    • 2020-12-20
    • 2018-06-09
    • 2015-02-25
    • 2011-05-31
    • 1970-01-01
    • 2015-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多