Я должен изменить .config владение папки, которое находится в моем собственном корневом каталоге? Почему находится под этим корень?

Это - мой собственный снимок экрана /home/user каталог, который является ~. Существует два каталога с root владение, .config и .local. Все, что остальное регистрирует и каталоги, принадлежит моему пользователю и группе моего пользователя.

enter image description here

Я не возражаю, но это заставляет мерзавца всегда бросить предупреждение Permission denied:

user@os /var/www/app $ git status
warning: unable to access '/home/user/.config/git/attributes': Permission denied
warning: unable to access '/home/user/.config/git/ignore': Permission denied

У меня есть два вопроса.

1) Я должен изменить владение этих каталогов для моего пользователя?

$ sudo chown user:user .local .config

2) Почему там кто-либо root каталоги в корневом каталоге моего пользователя? Они не должны все принадлежать моему пользователю? Они - некоторые специальные каталоги, которым должен принадлежать root?

2
задан 22 November 2016 в 14:00

2 ответа

для ответа 1)
да, эти каталоги должны принадлежать Вам, не корню. Вы можете безопасно chown их назад Вам.

что касается второго вопроса:
это может произойти при выполнении программ с помощью sudo.

Вы видите, почему, когда Вы работаете sudo env, который говорит, Вы HOME все еще /home/username вместо /root.

Для предотвращения такой путаницы можно использовать sudo как это:

sudo -u root -H env

теперь Вы видите HOME=/root. Вместо env можно использовать любую другую команду также.

2
ответ дан 2 December 2019 в 03:43

Эмпирическое правило:

Использование gksudo или sudo-H с программами с графическим интерфейсом пользователя, GUI.

Это обычно - программы GUI, которые создают и используют конфигурационные файлы в корневом каталоге. корень мог бы перезаписать конфигурационные файлы и захватить владение, которое мешает или невозможный использовать программу без sudo.

можно использовать sudo без любой опции к программам строки команды выполнения с простым текстовым интерфейсом.

Примеры:

sudo -H nautilus    # look at files with a GUI interface
sudo ls             # list files with a text interface
sudo ls -l          # long list (with permissons etc)

Уведомление, что Вы должны только использование sudo когда необходимый . Выполненный большинство команд с Вашим именем для входа в систему. Это уменьшает риск повредить операционную систему.

различие между 'sudo-H' и 'sudo' проиллюстрировано здесь:

sudodus@xenial32 ~ $ sudo env|grep ^HOME
[sudo] password for sudodus: 
HOME=/home/sudodus

sudodus@xenial32 ~ $ sudo -H env|grep ^HOME
HOME=/root
0
ответ дан 2 December 2019 в 03:43

Другие вопросы по тегам:

Похожие вопросы: