【问题标题】:confusion with POSIX permission, SUID and SGID与 POSIX 权限、SUID 和 SGID 混淆
【发布时间】:2021-05-11 21:13:43
【问题描述】:

我正在尝试了解 suid bit 的有效性。

1.-rws-------和-rwx---rwx有什么区别?

2. 其他人是否必须拥有exc权限才能“继承”所有者权限? -> 例如:

-rws------这个权限是什么意思?

3.假设存在一个应用程序,她的名字是 MyEditor。 MyEditor 可以编辑其他 txt 文件。

-rwsr--r-x ed noOne MyEditor -r--rw--w- ed noOne myText.txt

假设存在用户,他的名字是“te”,并且他不在 noOne 组中。

'te' 是否可以使用 MyEditor 编辑 myText.txt 文件?

【问题讨论】:

    标签: linux unix permissions posix


    【解决方案1】:

    ls -l

    -rw-r--r-x 1 root root 6118 May 16 14:05 editme.txt

    第一个“-”表示是文件 接下来的 3 个位置是拥有该文件的用户名 然后那些是组所有者的名字 最后 3 个是其他人的,永远是其他人

    数字1,硬链接数 第一个根是所有者的名字 第二个根是组所有者的名字

    所以

    1

    -rws-----它是一个文件,拥有者可以读、写和执行(x not s)

    -rwx---rwx 是一个文件,属主可以做所有,组属不能做,其他人可以做,奇怪的权限。

    2 执行权限不同于所有权。您可以执行文件,而不必是文件所有者。正如您在上面的“ls -l”示例中看到的那样。

    -rw-r--r-x 1 root root 6118 May 16 14:05 editme.txt 我授予每个人对该文件的执行权限(最后 3 个),但所有者和组所有者(前 6 个)不能。

    3 所以我想你现在可以在这里看到你的错误了。

    -rwsr--r-x ed noOne MyEditor -r--rw--w-ed noOne myText.txt

    “假设存在用户,他的名字是'te',并且他不在 noOne 组中。”

    您的示例中的 noOne 不是一个组,第一个 noOne 是 myText.txt 的所有者,第二个 noOne 我不知道它是什么:v 和“ed”。执行“ls -l”查看输出

    这里的第一个 MyEditor 是组所有者。我猜,名为 MyEditor 的应用程序将拥有执行该应用程序的用户的权限。

    te 用户在 other(最后 3 个),所以这取决于你如何配置它。

    --- --- r-- 所以你可以阅读

    --- --- --- 他不识字

    google chown、chmod、chgrp、setfacl(访问控制列表)、soflink、硬链接、inode 等、LFCS 的一些其他内容

    https://linuxhandbook.com/linux-file-permissions/

    【讨论】:

      猜你喜欢
      • 2016-08-20
      • 1970-01-01
      • 2023-01-22
      • 1970-01-01
      • 2017-07-22
      • 1970-01-01
      • 2014-11-28
      • 1970-01-01
      • 2012-02-21
      相关资源
      最近更新 更多