У мене є певний каталог, в якому є проект, яким поділяються кілька користувачів. Ці користувачі використовують SSH для отримання доступу до цього каталогу та модифікації / створення файлів.
Цей проект має бути доступним лише для певної групи користувачів: давайте назвати його "моєю групою". Під час сеансу SSH всі файли / каталоги, створені поточним користувачем, за замовчуванням повинні належати групі "mygroup" та мати групові права доступу.
Я можу вирішити проблему дозволів за допомогою umask
:
$ cd project
$ umask 002
$ touch test.txt
Файл "test.txt" зараз може бути записаний у групу, але все ще належить до моєї групи за замовчуванням ("mislav", як і моє ім'я користувача), а не до "моєї групи". Я можу chgrp
рекурсивно встановити бажану групу, але я хотів знати, чи існує спосіб неявно встановити якусь групу, як umask, змінити дозволи за замовчуванням під час сеансу.
Цей каталог конкретного є загальним мерзотником репо з робочою копією , і я хочу , git checkout
і git reset
операції , щоб встановити правильну маску і групу для нових файлів , створених в робочій копії. ОС - це Ubuntu Linux.
Оновлення: колега пропонує мені заглянути в getfacl / setfacl POSIX ACL, але рішення нижче в поєднанні з umask 002
поточним сеансом для мене досить добре і набагато простіше.