PHP中的文件组(使用chgrp()更改)是什么?

时间:2017-08-21 03:21:11

标签: php windows chgrp

我在Google上搜索了这些信息,但找不到任何详细信息。我正在阅读chgrp()并且它提到此函数可以更改文件组。

没有关于文件组的说明。我还尝试在参考页面上运行该示例,以查看输出是否可以帮助我更多地了解该函数,但输出似乎只是数字零。以下是示例代码:

$filename = 'stats.txt';
$format = "%s's Group ID @ : %d\n";
printf($format, $filename, filegroup($filename));
chgrp($filename, 10);
clearstatcache(); // do not cache filegroup() results
printf($format, $filename, filegroup($filename));

以下是该代码的输出:

stats.txt's Group ID : 0
stats.txt's Group ID : 0

1 个答案:

答案 0 :(得分:2)

在unix中,文件所有权基于所有者和组。

这是linux盒子上的目录列表:

[vagrant@localhost:nginx]$ ls -l
total 8
drwxrwxrwx. 1 vagrant vagrant  136 Feb  5  2016 configs
-rwxrwxrwx. 1 vagrant vagrant 1348 Aug 19 07:34 docker-entrypoint.sh
-rwxrwxrwx. 1 vagrant vagrant  786 Feb  5  2016 Dockerfile

在这种情况下,文件docker-entrypoint.sh由名为" vagrant"的用户拥有。和一个名为" vagrant"的团体。

然后将权限分配给3个不同的组之一:

  • 所有者权限
  • 群组权限
  • 其他用户

您专注于chgrp()函数,它只是linux chgrp api / command的包装。

可以使用

检查Linux机器上的组

cat /etc/group

每个条目末尾的数字是组号。您通常可以使用组名或编号操纵组成员身份,因此在您的示例中,您显然显示了一个组编号,但是有一些组名与该组关联。

[vagrant@localhost:nginx]$ cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:

windows和unix / mac系统之间有相似之处和不同之处,但它们并不是100%等效。这是good article on this topic