Проверка прав на файл профиля в домашнем каталоге: должно ли это быть сделано?

Скажем, я реализую язык программирования, который имеет интерактивный режим, и этот интерактивный режим считывает файл ~/.foo_rc в домашнем каталоге пользователя. Файл содержит код на этом языке, который можно использовать для настройки некоторых параметров. При чтении этого файла язык не изолирован; файл может делать «что угодно».

Должен ли я беспокоиться о выполнении проверки прав на файл? Подобно:

 $ foo -i Not reading ~/.foo_rc because it is world-writable, you goof! PS you don't even own it; someone else put it there. > _ 

Я смотрю на источник Bash, и он не беспокоится о проверках разрешений для ~/.bash_profile (кроме того, что он существует и читается, предпосылки для чего-либо с ним вообще).

[Обновить]

После рассмотрения ответа триггера я выполнил следующую проверку файла:

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

  • Если файл доступен для записи другим, тогда он не защищен.

  • Если файл доступен для записи группе владельца, тогда он небезопасен, если в группу входят пользователи, отличные от вызывающего. (Т. Е. Группа должна быть пустой или иметь вызывающего абонента как своего единственного члена).

  • В противном случае он считается безопасным.

Обратите внимание, что групповая проверка не делает никаких предположений о каких-либо соответствиях между числовыми идентификаторами пользователя и идентификаторами группы или их именами; он основан на проверке того, что имя пользователя указано как единственный член.

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

One Solution collect form web for “Проверка прав на файл профиля в домашнем каталоге: должно ли это быть сделано?”

Разумный и осмотрительный, при условии, что есть четкие предупреждения о том, что происходит с файлом, и почему, поэтому пользователь может исправить проблему с разрешениями. Вероятно, bash датируется более доверчивым (и шутящим) днем. Обратите внимание, что пользовательские файлы могут быть законными для записи на группы, если на сайте есть политика каждого пользователя, входящего в группу, в которой находится только этот пользователь, иначе нет.

(Проверка родительского каталога также может быть разумной, чтобы обнаружить chmod 777 $HOME goofs.)

  • Как установить программу EMIRGE для записи файлов с требуемым разрешением
  • Создание if / than инструкции для перемещения файлов в другое место на основе значения 1 столбца?
  • Как визуализировать структуры дерева каталогов?
  • Поиск всех «не двоичных» файлов
  • Команда «file» запутывает C & C ++
  • Как я могу искать файлы без определенных расширений в своих именах?
  • Создание копии файла, который автоматически обновляется
  • Что получается после использования cat на изображении?
  • tar-файлы из другого каталога без их копирования
  • Как отобразить разрешения нового файла в строке состояния редактора Vim?
  • Как сообщить gzip о сохранении исходного файла?
  • Linux и Unix - лучшая ОС в мире.