3

Мне нужно создать пользователя на Linux с правами доступа только к одной папке.

Фон:

Я установил git на свой виртуальный сервер (Debian). Я также создал пользователя для хранилища. На сервере много личных данных. Но все папки имеют доступ для чтения для других, потому что это необходимо для приложений, которые работают на сервере. Таким образом, пользователь git может видеть все данные.

Я хотел бы ограничить пользователя git только той папкой, в которой установлен репозиторий. Я также попробовал ACL, но это не сработало.

Есть лучший способ сделать это?

Заранее спасибо!

3 ответа3

3

Я решил проблему самостоятельно. Гитолит звучит очень хорошо, но слишком много для моей проблемы.

Я только создал нового пользователя на своем сервере и изменил его оболочку на git-shell следующим образом

chsh -s /usr/bin/git-shell gituser

Теперь я создал git и убедился, что у пользователя есть необходимые права на папку.

2

Вы должны изучить Gitolite, который позволяет вам настроить доступ Git на сервере через SSH, не предоставляя доступ ни к чему другому. Он работает, настраивая пользователя, поэтому вместо выполнения оболочки он выполняет процесс, который понимает только команды, необходимые Git для работы на сервере, и ничего более. Вы также можете настроить несколько учетных записей на основе ключей SSH только с одной учетной записью пользователя Unix.

1

Этот ответ был предназначен для SFTP, но он должен быть идентичен настройке другой статьи. Просто убедитесь, что пользователь GIT не принадлежит к группе пользователей, которая могла бы переопределить привилегии пользователя, такие как root или admin.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .