2

Этот вопрос начался с вопроса, почему мой файл истории не работает должным образом. Затем я заметил, что это -rw------- 1 root root и он не обновлялся с 2012-09-11. Я сменил владельца, проблема исправлена.

Но теперь я вижу, что некоторые другие файлы принадлежат пользователю root:

.gitconfig
.pearrc
.viminfo

Могу ли я безопасно изменить их, чтобы они принадлежали моему обычному пользователю, а не пользователю root? Я почесываю голову, пытаясь понять, есть ли недостатки или последствия для безопасности.

Потеря семинедельной истории на самом деле довольно болезненна, потому что я много на нее полагаюсь (например, чтобы напомнить, как я в последний раз делал архив). Было бы разумно настроить работу cron для отправки мне электронной почты, если в моем домашнем каталоге будут найдены файлы, принадлежащие кому-то еще, кроме меня? Перефразировано: есть ли веская причина, чтобы root мог владеть файлом в моем домашнем каталоге?

ОБНОВЛЕНИЕ: Спасибо за ответы до сих пор. Я вижу, как файлы, принадлежащие корню, могут быть помещены туда после выполнения чего-либо в сеансе sudo. Суть моего вопроса такова: могу ли я разумно всегда относиться к этому как к ошибке, которая требует исправления? Или когда-либо есть веская причина оставить файл, принадлежащий корню, в моем домашнем каталоге, как только я это увижу? Спасибо!

2 ответа2

5

Root обычно не должен владеть файлами в вашем домашнем каталоге. Это обобщение, конечно. Как уже упоминалось в других ответах и комментариях, файлы могут принадлежать пользователю root, если они были созданы или изменены программами, запущенными под sudo.

Чтобы увидеть, какие файлы принадлежат пользователю root или принадлежат к корневой группе, попробуйте запустить список всех файлов с информацией об их владельце в терминале и получить строки, содержащие "root": ls -al | grep root .

На моей машине под моей учетной записью обычного пользователя у меня есть несколько файлов и даже каталог (.compiz-1/), которые отображаются как принадлежащие пользователю root, так что это довольно часто. Глядя на эти файлы и внутри них - вам может потребоваться сделать это как пользователь root - я могу сделать точное предположение о том, как они туда попали. Некоторые из них - это файлы журналов программ, которые я выполнил с помощью sudo program . Помните, что при использовании sudo программа запускается от имени пользователя root, но $HOME указывает на ваш домашний каталог. Использование gksu или kdesu для программ с графическим интерфейсом делает то же самое, но также гарантирует, что графическая среда использует ваши настройки (что является частью того, почему вы не должны использовать sudo для них).

Каталог .compiz-l/ представляется резервной копией .compiz/, которая принадлежит моему пользователю. Я предполагаю, что в какой-то момент я запустил обновление или сделал что-то еще, чтобы запустить резервное копирование настроек Compiz от имени root, и теперь я могу удалить эти файлы. Если вы сомневаетесь, просто переместите или переименуйте файл / каталог и посмотрите, что произойдет после выхода из системы / входа в систему или запуска программ, которые, по вашему мнению, их используют.

Давайте посмотрим на файлы, которые вы перечислили, и сравним их с теми же на моей машине.

-rw-r--r-- 1 henrik henrik 211 apr  9  2011 .gitconfig

Этот файл, скорее всего, должен принадлежать пользователю без права на запись кому-либо еще, так как это, очевидно, файл конфигурации для каждого пользователя. Если root владеет этим файлом и у вас нет прав на запись, вам нужно будет запустить git от имени root, чтобы иметь возможность обновить глобальную конфигурацию git, что не очень удобно. Я не против, чтобы другие имели доступ для чтения к этому файлу, так как он не содержит ничего секретного, только мое имя, адрес электронной почты и несколько настроек.

-rw-r--r-- 1 root root 143 dec 17  2011 .pearrc

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

-rw-rw-r-- 1 henrik henrik 30709 nov  7 00:29 .viminfo

Это файл истории Vim, содержащий журнал практически всего, что вы сделали в Vim, поэтому он может легко восстанавливать состояния. Если он не принадлежит или хотя бы доступен для записи, я сомневаюсь, что Vim сможет обновить его.

Как правило, да, файлы с правами root в вашем домашнем каталоге являются ошибкой, если они используются программами, которые вы обычно запускаете, не будучи root. Даже может оказаться затруднительным сделать полное резервное копирование файлов конфигурации в вашем домашнем каталоге, если файлы не принадлежат или не читаются вами.

2

Вы использовали sudo для копирования этих файлов раньше? Это может объяснить, почему эти файлы принадлежат пользователю root.

Обычно файлы / папки в / home / должны принадлежать пользователю.

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