新しい履歴ファイルを作成するときにグループやワールドへのアクセスを保証しない関数を追加しますが、現在のファイルのアクセス許可は変更しないでください。
これはPOSIX固有です。
それがPOSIXです。
.profileまたは他のシェル構成でファイルのアクセス許可を設定するのに制限がある理由がわかりませんか? シェル設定でファイルを作成するためのumaskがあるはずです...
umask 077は、すべての新しいファイルへのユーザーおよびグループのアクセスをブロックします。 これを修正すると、実際の問題である不正なumaskが修正されなかったため、ユーザーが行っている他のすべてが公開されたままになります。
@Sonophotoは実際には、作成モードマスクのユーザー部分のみに続いて履歴ファイルのみが作成されるようにするヘルパー関数です。 アイデアは、ユーザーのアプリケーション全体のファイルに影響を与えないことです。 履歴ファイルには機密情報が含まれている可能性があるため、ユーザーだけがアクセスできるようにすることをお勧めします。 そして、それでも、ユーザーが望むなら、彼は後でそれを変更することができます。 これが、グローバルumaskに配置しない理由です。
たぶん、これを行うのはRedisである必要がありますか?
私はあなたのユースケースを理解しており、Redisの履歴は確実に保護されるべきであるとあなたは正しいです。 その考えと議論するのは難しいです! ;-)
これは一般的にCLIにも当てはまると理解できましたが、ユーザースペースにあらゆる種類の構成ファイルや履歴ファイルを作成する一般的なすべてに当てはまると思います。 .profileのumaskは、すべての構成ファイルと履歴ファイルが作成されないように保護しますg + rwx、o + rwx
@Sonophotoとにかく、私はすでにRedisのパッチを提出しましたが、そのラインノイズが同じ作者からのものであることに気づいていませんでした。
機能に関しては、アイデアは単に「プライベート」履歴マスキングを抽象化したものでした。 私はまだ誰かがこの抽象化をライブラリで利用できるようにすることは役に立つかもしれないと思います。
redisはセキュリティを意識する必要があるということは絶対に正しいと思います。また、コマンド履歴が誰でも読み取り可能であってはならないことに同意します。 非常に重要です! そしてあなたの努力に感謝します:-)
この機能のためだけに移植性を犠牲にするという考えは好きではありません。少なくとも、#defineの背後にあるはずです。 POSIX互換のlibcを使用していないlinenoiseユーザーがたくさんいると確信しています。
こんにちは@ OlliV 、POSIXシステムでの
こんにちは、私はこのバグを解決するためにパッチを適用しました、それはPOSIXシステムコールを使用します、しかしすべてのラインノイズはPOSIX環境があると仮定します、それで...私たちは移植性AFAIKを減らしていません。
最も参考になるコメント
こんにちは@ OlliV 、POSIXシステムでの