Мы используем git для управления исходным кодом и имеем сервер SLES, который мы используем в качестве удаленного для наших git репозиториев. Мы получаем доступ к git с помощью S SH, используя реальные имена пользователей , а не единственную альтернативу git пользователя, которая будет проходить аутентификацию через файл authorized_keys
пользователя git.
А пока go, я обнаружил проблему с нажатием на наш пульт. Один пользователь смог сделать sh, а другой не смог sh. Поэтому я начал анализировать, почему некоторые пользователи не могут сделать sh. В конце концов я выяснил причину root: пустой репозиторий на удаленном компьютере всегда имеет каталог с именем objects
, где коммиты наконец сохраняются с помощью процесса pu sh. Этот каталог содержит подкаталог с первыми двумя символами значения ha sh. Если каталог еще не был создан, он создается во время пу sh на удаленном компьютере.
И вот таинственная вещь об этом, я не могу объяснить себе: некоторые пользователи создают эти каталоги с разрешениями rwxrwsr-x
, тогда как другие пользователи создают их с rwxr-swr-x
. Как видите, бит set-gid установлен, что нормально. Но я не могу объяснить, почему некоторые пользователи создают каталоги с групповой записью , а другие нет.
Подводный камень в том, что если пользователь A создает каталог без групповых прав на запись, а пользователь B вычисляет При значении ha sh, которое начинается с двух символов уже созданного каталога пользователя A, пользователь B не может помещать файлы (коммиты) в этот же каталог, что делает невозможным передачу sh на удаленный компьютер для пользователя B.
Я уже наблюдал за настройками umask по умолчанию, которые, вероятно, отличаются, но не смогли найти другие настройки. Все пользователи на нашем сервере SLES имеют маску по умолчанию 0022
, в результате чего файлы создаются с rw-r--r--
, а каталоги с rwxr-xr-x
. И это вторая загадка: почему некоторые пользователи создают каталоги в git с rwxrwsr-x
(что правильно для git и предназначено), несмотря на umask 0022
?
Кто-нибудь намекает для меня для дальнейшего устранения неполадок? Я хочу, чтобы пользователи создавали подкаталоги objects
с rwxrwsr-x
.