Ще один несподіваний ефект із правами на групу: коли я змінив групу каталогу на web, то я очікував що ніхто окрім рута не зможе змінити цю групу на якусь іншу, але насправді коли члени групи вставляють певний зовнішній файл (з іншого каталогу), то у них таки змінюється група та й навіть права. Причому навіть якщо цей зовнішній файл береться із каталогу де група точно така сама, все одно у нових файлів/каталогів група змінюється на назву користувача, під ким ця справа робилась.
# Це те, що виводиться спочатку
$ ls -l /var/www/hub.org.ua
total 28
drwxrwxr-x 3 me web 4096 чер 28 01:09 dist
drwxrwxr-x 11 me web 4096 чер 28 01:08 node_modules
-rwxrwxr-x 1 git web 1046 лип 11 13:25 package.json
drwxrwxr-x 3 me web 4096 лип 11 13:25 src
-rwxrwxr-x 1 git web 411 лип 11 13:25 tsconfig.json
drwxrwxr-x 9 me web 4096 лип 11 13:25 typings
-rwxrwxr-x 1 git web 434 лип 11 13:25 typings.json
# У зовнішного каталогу права такі
$ ls -l /opt/git/hub.org.ua.git
drwxrwxr-x 7 git web 4096 лип 11 13:25 hub.org.ua.git
# Далі копіюю нові файли/каталоги під користувачем git із цього зовнішнього каталогу
$ git --work-tree=/var/www/hub.org.ua --git-dir=/opt/git/hub.org.ua.git checkout -f
# Знову проглядаю права на групи, як бачите: у деяких файлів змінилась група та навіть права
$ ls -l /var/www/hub.org.ua
total 28
drwxrwxr-x 3 me web 4096 чер 28 01:09 dist
drwxrwxr-x 11 me web 4096 чер 28 01:08 node_modules
-rw-rw-r-- 1 git git 1046 лип 11 13:25 package.json
drwxrwxr-x 3 me web 4096 лип 11 13:25 src
-rw-rw-r-- 1 git git 411 лип 11 13:25 tsconfig.json
drwxrwxr-x 9 me web 4096 лип 11 13:25 typings
-rw-rw-r-- 1 git git 434 лип 11 13:25 typings.json
Чи можна якось заборонити робити такі зміни?