Насколько я знаю, linux делает исполняемые файлы блокировки, когда они работают - однако, он блокирует inode. Это означает, что можно удалить "файл", но inode находится все еще в файловой системе, нетронутой и все, что Вы действительно удалили, ссылка.
программы Unix используют этот образ мыслей о файловой системе все время, создают временный файл, открывают его, удаляют имя. Ваш файл все еще существует, но имя освобождено для других для использования, и никто больше не видит его.
Должно работать:
Доступ к репозиториям git через SSH с использованием стандартных учетных записей (здесь нет ничего необычного).
Сделайте так, чтобы ваши репозитории git имели права доступа для определенной группы, в которую входят определенные учетные записи of.
Используйте pam-ldap, чтобы ваша стандартная система входа работала с LDAP.
Если есть более конкретный способ, он ТОЛЬКО проверяет ldap, не затрагивая остальную часть вашей системы? Я не знаю, но, вероятно, это возможно с помощью хука предварительной фиксации или чего-то подобного.
Вы можете использовать update
или pre-receive
hook для выполнения дополнительного управления доступом; см. update-paranoid (на Perl) из contrib / hooks /
для примера (он не использует LDAP, но вы всегда можете изменить его, чтобы использовать его, например, используя DBI через DBD :: LDAP для хранения конфигурации разрешений или Authen :: Simple :: LDAP напрямую).
Возможно, можно будет улучшить такие инструменты, как gitosis (на Python) или gitolite , которые используются для доступа к репозиториям git через SSH без необходимости настраивать (возможно, с ограничениями) отдельную учетную запись оболочки для каждого пользователя, чтобы использовать LDAP для аутентификации.