GID是什么意思?

Kev*_*777 16 setuid permissions group

GID实际上是什么意思?

我用谷歌搜索了一下,这就是linux.about.com所说的:

进程的组标识号。有效的组号在/etc/group、 和/etc/passwd文件的 GID 字段中给出。当一个进程启动时,它的 GID 被设置为其父进程的 GID。

  • 但是,这是什么意思?

我对文件夹的权限目前为 0755

我明白如果我为所有者设置了 UID,它将是 4755

如果我设置了组的 GID,它将是 2755

如果我为其他人设置粘滞位,它将是 1755

  • 设置这些权限是否重要?

D_B*_*Bye 29

在每一个处理的类UNIX系统,就像每个文件,有一个所有者(用户,无论是真实的或系统“伪用户”,如daemonbinman等等)以及一组所有者。用户文件的组所有者通常是该用户的主要组,并且以类似的方式,您启动的任何进程通常由您的用户 ID 和主要组 ID 所有。

但是,有时需要提升权限才能运行某些命令,但不希望授予完全管理权限。例如,该passwd命令需要访问系统的影子密码文件,以便它可以更新您的密码。显然,你不想给每个用户 root 权限,只是为了让他们可以重置他们的密码——这无疑会导致混乱!相反,需要有另一种方式来临时授予用户提升的权限以执行某些任务。这就是 SETUID 和 SETGID 位的用途。这是一种告诉内核在标记命令执行期间临时提升用户权限的方法。SETUID 二进制文件将使用可执行文件所有者的权限执行(通常是root),并且将使用可执行文件的组所有者的组权限执行 SETGID 二进制文件。在passwd属于rootSETUID的命令的情况下,它允许普通用户通过以root权限执行以受控和可预测的方式直接影响密码文件的内容。还有许多其他SETUID的命令类UNIX系统(chshscreenpingsu,等等),所有这些都需要提升权限的正确操作。还有一些SETGID程序,其中内核临时更改进程的 GID,以允许访问日志文件等sendmail就是这样的实用程序。

sticky bit供应略有不同的目的。它最常见的用途是确保只有创建文件的用户帐户才能删除它。考虑/tmp目录。它具有非常自由的权限,允许任何人在那里创建文件。这是好事,并允许用户进程创建的临时文件(screenssh,等,保持状态信息/tmp)。为了保护用户的临时文件,/tmp设置了粘性位,这样只有我可以删除我的文件,只有你可以删除你的文件。当然root什么都可以做,但是我们要希望系统管理员没有精神错乱!

对于普通文件(即不可执行文件),设置 SETUID/SETGID 位没有什么意义。某些系统上的目录上的 SETGID 控制在该目录中创建的新文件的默认组所有者。

  • 啊太棒了,谢谢你。因此,Sticky Bit 就像个人(用户)权限?这个答案措辞得很好,可以理解。 (2认同)