Linenoise: Функция сохранения истории как приватного файла по умолчанию

Созданный на 18 июн. 2016  ·  9Комментарии  ·  Источник: antirez/linenoise

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

Самый полезный комментарий

Привет, @OlliV , я добавил некоторую проверку, чтобы опубликовать эту функцию только в системах POSIX, поэтому пока не буду нарушать работу других систем. Спасибо :)

Все 9 Комментарий

Это довольно специфично для POSIX.

Это POSIX.

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

umask 077 блокирует доступ пользователей и групп ко всем вашим новым файлам. Исправление этого оставляет все остальное, что делает пользователь, незащищенным, поскольку они не устранили настоящую проблему: неправильную маску.

@Sonophoto на самом деле это вспомогательная функция, позволяющая убедиться, что создается только файл истории, следуя только пользовательской части маски режима создания. Идея состоит в том, чтобы не влиять на файлы для всего приложения пользователя. Поскольку файлы истории могут содержать конфиденциальную информацию, рекомендуется убедиться, что только пользователь будет иметь к ней доступ. И, тем не менее, при желании пользователь может потом изменить это. Это причина, по которой его не помещают в глобальную маску.

Может быть, это должен сделать Redis?
Я понимаю ваш вариант использования, и вы правы, что историю Redis обязательно нужно беречь. С такой идеей сложно поспорить! ;-)

Я также мог понять, что это может применяться в целом к ​​CLI, но я думаю, что это применимо ко всему в целом, что создает любой файл конфигурации или файл истории любого типа в пространстве пользователя. umask в .profile защищает все файлы конфигурации и истории от создания g + rwx, o + rwx

@Sonophoto В любом случае я уже отправил патч для Redis, но раньше не понимал, что бельевой шум был от того же автора.
Что касается функции, идея была просто абстрактной маскировкой «частной» истории. Я все еще думаю, что кому-то может быть полезно иметь эту абстракцию в библиотеке.

Я думаю, вы абсолютно правы, что redis должен заботиться о безопасности, и я согласен с тем, что история команд никогда не должна быть доступна для чтения всем. Очень важно! и спасибо за ваши усилия :-)

Мне не нравится идея жертвовать переносимостью только ради этой функции, по крайней мере, она должна стоять за #define. Я почти уверен, что есть много пользователей Linenoise, которые не используют POSIX-совместимую libc.

Привет, @OlliV , я добавил некоторую проверку, чтобы опубликовать эту функцию только в системах POSIX, поэтому пока не буду нарушать работу других систем. Спасибо :)

Здравствуйте, я применил патч для устранения этой ошибки, он использует системные вызовы POSIX, но весь шум предполагает, что существует среда POSIX, поэтому ... мы не уменьшаем переносимость AFAIK.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

fatcerberus picture fatcerberus  ·  5Комментарии

krux02 picture krux02  ·  8Комментарии

JelteF picture JelteF  ·  8Комментарии

ghost picture ghost  ·  4Комментарии

ozancaglayan picture ozancaglayan  ·  21Комментарии