Linenoise: Fonction pour enregistrer l'historique en tant que fichier privé par défaut

Créé le 18 juin 2016  ·  9Commentaires  ·  Source: antirez/linenoise

Ajoutez une fonction qui ne garantit aucun accès au groupe ni au monde lors de la création d'un nouveau fichier d'historique, mais ne modifie pas l'autorisation du fichier actuel.

Commentaire le plus utile

Bonjour @OlliV , j'ai ajouté une validation pour publier cette fonction uniquement sur les systèmes POSIX, donc je ne briserai pas les autres systèmes pour le moment. Merci :)

Tous les 9 commentaires

C'est assez spécifique à POSIX.

C'est POSIX.

Je ne comprends pas pourquoi il existe une restriction sur la définition des autorisations du fichier dans votre .profile ou une autre configuration de shell ? Il est censé y avoir un umask pour la création de fichiers dans la configuration de votre shell...

umask 077 bloque l'accès des utilisateurs et des groupes à tous vos nouveaux fichiers. Corriger cela laisse tout le reste de l'utilisateur exposé car il n'a pas résolu le vrai problème : un umask incorrect.

@Sonophoto en fait, c'est une fonction d'assistance pour s'assurer que seul le fichier d'historique est créé en suivant uniquement la partie utilisateur du masque du mode de création. L'idée est de ne pas affecter les fichiers pour l'ensemble de l'application de l'utilisateur. Comme ces fichiers d'historique peuvent contenir des informations sensibles, il est recommandé de s'assurer que seul l'utilisateur y aura accès. Et pourtant, si l'utilisateur le souhaite, il pourra le modifier par la suite. C'est la raison pour laquelle il ne faut pas le mettre dans un umask global.

Peut-être que ça devrait être Redis qui fait ça ?
Je comprends votre cas d'utilisation et vous avez raison de dire que l'historique Redis doit absolument être gardé. Difficile de contester cette idée ! ;-)

Je pourrais également comprendre que cela pourrait s'appliquer en général aux CLI, mais je pense que cela s'applique à tout ce qui en général crée tout type de fichier de configuration ou de fichier d'historique de toute sorte dans l'espace utilisateur. umask dans le .profile empêche la création de tous les fichiers de configuration et d'historique g+rwx, o+rwx

@Sonophoto J'ai déjà soumis le patch pour Redis de toute façon, je ne savais pas avant que la linoise était du même auteur.
Concernant la fonction, l'idée était simplement abstraite du masquage de l'histoire « privée ». Je pense toujours qu'il pourrait être utile pour quelqu'un d'avoir cette abstraction disponible dans la bibliothèque.

Je pense que vous avez tout à fait raison de dire que redis devrait être soucieux de la sécurité, et je suis d'accord que l'historique des commandes ne devrait jamais être lisible par le monde. Très important! et merci pour vos efforts :-)

Je n'aime pas l'idée de sacrifier la portabilité juste pour cette fonctionnalité, au moins elle devrait être derrière un #define. Je suis presque sûr qu'il y a beaucoup d'utilisateurs de Linoise qui n'utilisent pas de libc compatible POSIX.

Bonjour @OlliV , j'ai ajouté une validation pour publier cette fonction uniquement sur les systèmes POSIX, donc je ne briserai pas les autres systèmes pour le moment. Merci :)

Bonjour, j'ai appliqué un correctif pour résoudre ce bogue, il utilise des appels système POSIX, mais tout linoise suppose qu'il existe un environnement POSIX, donc... nous ne diminuons pas la portabilité AFAIK.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

krux02 picture krux02  ·  8Commentaires

ozancaglayan picture ozancaglayan  ·  21Commentaires

fatcerberus picture fatcerberus  ·  5Commentaires

ghost picture ghost  ·  4Commentaires

JelteF picture JelteF  ·  8Commentaires