Если файловая система заполняется, который может вызвать весь вид горя. Графическая среда использует пространство для временных файлов в/tmp и/var/tmp, в/var/log система сохраняет журналы (и если нет пространства, это вызовет проблемы). И так далее. Необходимо смочь войти в систему в спасательном режиме (однопользовательский режим, начальная загрузка с аргументом ядра 1) и вымыться.
Похоже, что у пользователя, которого вы запускаете, группа по умолчанию установлена на юрий
. Вы можете подтвердить это следующим образом:
$ id -a
uid=1000(saml) gid=1000(saml) groups=1000(saml),10(wheel),989(wireshark)
UID вашей учетной записи такой: uid=1000(saml)
, в то время как группой по умолчанию является git=1000(saml)
, и любые вторичные группы являются последующими.
ПРИМЕЧАНИЕ: Если вы хотите, чтобы git-клон имел определенное право собственности, то у вас есть как минимум 2 варианта.
Установите родительский каталог с необходимыми правами:
$ mkdir topdir
$ chgrp http topdir
$ chmod g+s topdir
$ cd topdir
$ git clone ....
Это заставило каталог topdir
принудительно использовать любые дочерние каталоги под ним, чтобы применить группу http
. Это будет работать в общем и целом, но может привести к проблемам, поскольку если вы перемещаете файлы в рабочую область клонирования git'а, то эти файлы не будут иметь своих групп, введённых вышеприведёнными изменениями.
Перед началом работы измените вашу группу по умолчанию на http
так:
$ newgrp http
$ git clone ...
Этот метод заставит любые новые созданные файлы установить их группу на http
вместо вашей обычной группы по умолчанию yuri
, но это будет работать только до тех пор, пока вы не забыли сделать newgrp
до начала работы в этой рабочей области.
Если ни одна из них не кажется вам приемлемой, вы можете попробовать использовать ACL в каталоге рабочей области git'а. Они обсуждаются в нескольких вопросах и ответах на этом сайте, например, в этом вопросе и ответах под заголовком: Получение новых файлов для наследования групповых разрешений на Linux.
Я использую решение: запустить команду от имени пользователя , у которого есть разрешения, которые вы хотите сохранить:
sudo -u user command
Это сохраняет разрешения от изменения. Я использую его при обновлении репозиториев git на моем VPS, сохраняя права доступа к файлам для пользователя веб-сервера.
См. Также тот же вопрос здесь .