Эта загадка вызвана запуском git pull
от root.
Для этого есть разные причины ... Я хочу, чтобы мое устройство обновляло код при загрузке и rc.local
запускалось с правами root.
Все работает в основном нормально ( npm install
имеет тенденцию к сбою при запуске с правами root, но это целая «другая тема»), проблема возникает, когда я пытаюсь позже использовать репозиторий git с пользователем без полномочий root ... некоторые файлы git имеют был написан пользователем root, так что теперь я больше не могу его использовать (разрешение запрещено).
Так что я хотел бы chown
вернуться к нему рекурсивно, но, похоже, нет ничего, что действительно работало бы со всеми маленькими git-файлами. Я попробовал -R
флаг и ./**/*
путь.
Я предполагаю, что ни один из этих методов не превращается в точечные каталоги.
bash
вам необходимо установитьshopt -s dotglob
для того , чтобы соответствовать скрытые файлы*
или**
.chown -R *
, а неchown -R .
?Ответы:
Следующая команда работает для меня в Ubuntu. Изменилось все файлы и каталоги
источник
sudo chown -R me:me .
и когдаls -al
все мои файлы все еще принадлежат пользователю root. Почему это не работает?./
?Я использую
tree
вместо этого:Также постарайтесь не запускать рекурсивные команды chown или chmod в каталоге '/' или другом системном каталоге.
источник