Я искал эту информацию в 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
В 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 апи / команда.
Группы на коробке 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% эквивалентны. Вот хорошая статья на эту тему.
Других решений пока нет …