我在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
答案 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。