Linenoise: Función para guardar el historial como archivo privado por defecto

Creado en 18 jun. 2016  ·  9Comentarios  ·  Fuente: antirez/linenoise

Agregue una función que no garantice acceso de grupo ni mundial al crear un nuevo archivo histórico, pero no cambie el permiso del archivo actual.

Comentario más útil

Hola @OlliV , agregué algo de validación para publicar esa función solo en sistemas POSIX, por lo que no romperá otros sistemas por ahora. Gracias :)

Todos 9 comentarios

Eso es bastante específico de POSIX.

Eso es POSIX.

No entiendo por qué hay una restricción para establecer los permisos del archivo en su .profile u otra configuración de shell. Se supone que debe haber una máscara de usuario para la creación de archivos en la configuración de su shell ...

umask 077 bloquea el acceso de usuarios y grupos a todos sus archivos nuevos. Arreglar esto deja expuesto todo lo demás que está haciendo el usuario, ya que no solucionó el problema real: una umask incorrecta.

@Sonophoto en realidad es una función auxiliar para asegurarse de que solo se cree el archivo histórico siguiendo solo la parte del usuario de la máscara del modo de creación. La idea es no afectar los archivos para toda la aplicación del usuario. Dado que los archivos de historial pueden contener información confidencial, es una buena práctica asegurarse de que solo el usuario tenga acceso a ellos. Y, sin embargo, si el usuario quiere, puede cambiarlo posteriormente. Esa es la razón para no ponerlo en una umask global.

¿Quizás debería ser Redis el que haga esto?
Entiendo su caso de uso y tiene razón en que el historial de Redis definitivamente debe estar protegido. ¡Es difícil discutir con esa idea! ;-)

También pude entender que esto podría aplicarse en general a las CLI, pero creo que se aplica a todo en general que esté creando cualquier tipo de archivo de configuración o archivo de historial de cualquier tipo en el espacio de los usuarios. umask en el .profile protege todos los archivos de configuración e historial para que no se creen g + rwx, o + rwx

@Sonophoto Ya
En cuanto a la función, la idea era simplemente abstraer el enmascaramiento de la historia 'privada'. Sigo pensando que podría ser útil para alguien tener esta abstracción disponible en la biblioteca.

Creo que tiene toda la razón en que redis debe ser consciente de la seguridad, y estoy de acuerdo en que el historial de comandos nunca debe ser legible por todo el mundo. ¡Muy importante! y gracias por sus esfuerzos :-)

No me gusta la idea de sacrificar la portabilidad solo por esta función, al menos debería estar detrás de un #define. Estoy bastante seguro de que hay muchos usuarios de linenoise que no están usando una libc compatible con POSIX.

Hola @OlliV , agregué algo de validación para publicar esa función solo en sistemas POSIX, por lo que no romperá otros sistemas por ahora. Gracias :)

Hola, apliqué un parche para resolver este error, usa llamadas al sistema POSIX, pero toda linenoise asume que hay un entorno POSIX, así que ... no estamos disminuyendo la portabilidad AFAIK.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

ozancaglayan picture ozancaglayan  ·  21Comentarios

ghost picture ghost  ·  4Comentarios

JelteF picture JelteF  ·  8Comentarios

fatcerberus picture fatcerberus  ·  5Comentarios

krux02 picture krux02  ·  8Comentarios