Englishfrançaisespagnol

Icône de favori OnWorks

safecat - En ligne dans le Cloud

Exécutez safecat dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande safecat qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


safecat - écrire en toute sécurité des données dans un fichier

SYNOPSIS


chat de sécurité répertoire temporaire répertoire dest

INTRODUCTION


chat de sécurité est un programme qui met en œuvre le programme du professeur Daniel Bernstein répertoire de messagerie algorithme pour
copier Stdin en toute sécurité dans un fichier dans un répertoire spécifié. Avec chat de sécurité, l'utilisateur se voit proposer
deux assurances. Premièrement, si chat de sécurité renvoie un état de sortie réussi, alors toutes les données sont
garanti d'être enregistré dans le répertoire de destination. Deuxièmement, si un fichier existe dans le
répertoire de destination, placé là par chat de sécurité, le fichier est garanti
complète.

Lors de l'enregistrement de données avec chat de sécurité, l'utilisateur spécifie un répertoire de destination, mais pas un fichier
Nom. Le nom du fichier est sélectionné par chat de sécurité pour s'assurer qu'aucune collision de noms de fichiers ne se produit,
même si beaucoup chat de sécurité processus et autres programmes mettant en œuvre les répertoire de messagerie algorithme sont
écrire dans le répertoire simultanément. Si des noms de fichiers particuliers sont souhaités, le
l'utilisateur doit renommer le fichier après chat de sécurité complète. En général, lors de la mise en file d'attente de données avec
chat de sécurité, un seul processus distinct doit gérer le nommage, la collecte et la suppression de ces
des dossiers. Des exemples d'un tel processus sont les démons, les tâches cron et les lecteurs de courrier.

<span style="text-transform: uppercase;">FIABILITÉ</span> QUESTIONS


Une machine peut tomber en panne pendant l'écriture des données sur le disque. Pour de nombreux programmes, y compris
de nombreux agents de distribution du courrier, cela signifie que les données seront tronquées en silence. À l'aide de
celle du professeur Bernstein répertoire de messagerie algorithme, chaque fichier est garanti complet ou inexistant.

De nombreuses personnes ou programmes peuvent écrire des données dans un répertoire "spool" commun. Des systèmes comme mh-
E-mail stocker des fichiers en utilisant des noms numériques dans un répertoire. L'écriture imprudente dans les fichiers peut
entraîner une collision, dans laquelle une écriture réussit et l'autre semble réussir mais
échoue. Les stratégies courantes pour résoudre ce problème impliquent la création de fichiers de verrouillage ou d'autres
mécanismes de synchronisation, mais de tels mécanismes sont sujets à l'échec. Toute personne qui a
supprimé $HOME/.netscape/lock afin de démarrer netscape peut en témoigner. Les répertoire de messagerie
l'algorithme est immunisé contre ce problème car il n'utilise aucun verrou.

L' MAILDIR ALGORITHME


Comme décrit dans répertoire de messagerie(5), chat de sécurité applique le répertoire de messagerie algorithme en écrivant des données en six
pas. Premièrement, il Statistiques les deux répertoires répertoire temporaire et répertoire dest, et quitte à moins que les deux
des répertoires existent et sont accessibles en écriture. Deuxièmement, il Statistiques le nom rép_temp/heure.pid.hôte,
fois est le nombre de secondes depuis le début de 1970 GMT, Pid est le programme
ID de processus, et hôte est le nom d'hôte. Troisièmement, si stat () retourné autre chose que
ENOENT, le programme se met en veille pendant deux secondes, se met à jour fois, et essaie le stat () encore une fois, un
nombre limité de fois. Quatrièmement, le programme crée rép_temp/heure.pid.hôte. Cinquièmement, le
Programme écritures NFS le message au fichier. Sixièmement, le programme relier()s le fichier à
répertoire dest/heure.pid.hôte. A cet instant, les données ont été écrites avec succès.

Par ailleurs, chat de sécurité démarre une minuterie de 24 heures avant de créer rép_temp/heure.pid.hôte et
interrompt l'écriture si le temporisateur expire. En cas d'erreur, de délai d'attente ou d'achèvement normal, chat de sécurité
essayer de dissocier() rép_temp/heure.pid.hôte.

EXIT STATUT


Un état de sortie de 0 (succès) implique que toutes les données ont été enregistrées en toute sécurité sur le disque. UNE
un statut de sortie différent de zéro doit être considéré comme un échec, bien qu'il y ait un
chance que chat de sécurité a écrit les données avec succès, mais ne le pense pas.

Notez encore que si un fichier apparaît dans le répertoire de destination, alors il est garanti
être complet.

If chat de sécurité se termine avec succès, puis il imprimera le nom du fichier nouvellement créé
(sans son chemin) vers la sortie standard.

SUGGÉRÉ APPLICATIONS


Utilisations passionnantes pour chat de sécurité abondent, évidemment, mais un mot peut être pour suggérer ce que
elles sont.

Si vous exécutez Linux et utilisez qmail au lieu de sendmail, vous devriez envisager de convertir votre
boîte de réception à répertoire de messagerie pour sa fiabilité supérieure. Si votre répertoire personnel est monté sur NFS,
qmail vous oblige à utiliser répertoire de messagerie.

Si vous écrivez des applications CGI pour collecter des données sur le World Wide Web, vous pourriez trouver
chat de sécurité utile. Les applications Web souffrent de deux problèmes majeurs. Leur performance
souffre de chaque arrêt ou goulot d'étranglement sur Internet ; ils ne peuvent pas se permettre d'introduire
leurs propres problèmes de performances. De plus, les applications Web ne doivent JAMAIS quitter le
serveur et base de données dans un état incohérent. Ceci est probable, cependant, si les scripts CGI
directement une base de données, en particulier si la base de données est surchargée ou lente. Quoi
se passe-t-il lorsque les utilisateurs s'ennuient et cliquent sur « Stop » ou « Retour » ? Peut-être l'activité de la base de données
complète. Peut-être que le script CGI est tué, laissant la base de données dans un état incohérent.

Considérez la stratégie suivante. Faites en sorte que votre script CGI vide sa requête dans un spool
répertoire à l'aide chat de sécurité. Renvoyez immédiatement un reçu au navigateur. maintenant le navigateur
a une garantie complète que leur soumission est reçue, et la performance perçue
de votre application web est optimale.

Pendant ce temps, un démon de spouleur remarque la nouvelle demande, l'arrache et met à jour le
base de données. Les navigateurs peuvent être informés que leur demande sera satisfaite en X minutes.
Le résultat est des performances optimales malgré un internet capricieux. De plus, les utilisateurs peuvent
offrir une fiabilité de près de 100 %.

EXEMPLES


Pour convaincre sendmail d'utiliser répertoire de messagerie pour la livraison du message, ajoutez la ligne suivante à votre
fichier .forward :

|SÉCURITÉ ACCUEIL/rép_mail/tmp ACCUEIL/Maildir/nouveau || sortie 75 #NOM D'UTILISATEUR

SÉCURITÉ est le chemin complet du chat de sécurité programme, ACCUEIL est le chemin complet vers
votre répertoire personnel, et USERNAME est votre nom de connexion. Faire ce changement est susceptible de payer
désactivé; de nombreux campus et entreprises montent les répertoires personnels des utilisateurs avec NFS. À l'aide de répertoire de messagerie à
livrer dans votre dossier de boîte de réception permet de garantir que votre courrier ne sera pas perdu en raison de certains NFS
Erreur. Bien sûr, si vous êtes un administrateur système, vous devriez envisager de passer à
qmail.

Pour exécuter un programme et récupérer sa sortie en toute sécurité dans un répertoire, vous pouvez utiliser un shell
script comme le suivant.

#!/ bin / bash

MYPROGRAM=cat # Le programme que vous souhaitez exécuter
REPTEMP=/ Tmp # Le nom d'un répertoire temporaire
DESTDIR=$HOME/work/data # Le répertoire de stockage des informations

try() { $* 2>/dev/null || écho NON 1>&2 }

set `( essayez $MYPROGRAM | essayez safecat $TEMPDIR $DESTDIR ) 2>&1`
tester "$?" = "0" || sortie -1
test "$1" = "NON" && { rm -f $DESTDIR/$2; sortie -1 ; }

Ce script illustre les pièges de l'écriture de programmes sécurisés avec le shell. Les
Le script suppose que votre programme peut générer une sortie, mais ne parvient pas à se terminer.
Il n'y a aucun moyen pour chat de sécurité pour savoir si votre programme a réussi ou non,
à cause de la sémantique du shell. Par conséquent, safecat peut créer un fichier dans le
répertoire de données qui est "complet" mais pas utile. Le script shell supprime le fichier dans
ce cas.

Plus généralement, la manière la plus sûre d'utiliser chat de sécurité provient d'un programme C qui appelle
safecat avec fourchette() et exécutif(). Le processus parent peut simplement tuer() le chat de sécurité
processus si des problèmes surviennent et peut éventuellement réessayer. Que ce soit pour aller à ça
les problèmes dépendent de votre sérieux dans la protection de vos données. Dans les deux cas, chat de sécurité
ne sera pas le maillon faible de votre flux de données.

Utilisez safecat en ligne en utilisant les services onworks.net


Serveurs et postes de travail gratuits

Télécharger des applications Windows et Linux

  • 1
    Unitedrpms
    Unitedrpms
    Rejoignez-nous à Gitter !
    https://gitter.im/unitedrpms-people/Lobby
    Activez le référentiel URPMS dans votre
    système -
    https://github.com/UnitedRPMs/unitedrpms.github.io/bl...
    Télécharger unitedrpms
  • 2
    Boostez les bibliothèques C++
    Boostez les bibliothèques C++
    Boost fournit un portable gratuit
    bibliothèques C++ évaluées par des pairs. Les
    l'accent est mis sur les bibliothèques portables qui
    fonctionnent bien avec la bibliothèque standard C++.
    Voir http://www.bo...
    Télécharger les bibliothèques Boost C++
  • 3
    VirtuelGL
    VirtuelGL
    VirtualGL redirige les commandes 3D d'un
    Application Unix/Linux OpenGL sur un
    GPU côté serveur et convertit le
    rendu des images 3D dans un flux vidéo
    avec lequel ...
    Télécharger VirtualGL
  • 4
    libusb
    libusb
    Bibliothèque pour activer l'espace utilisateur
    programmes d'application pour communiquer avec
    Périphériques USB. Public : Développeurs, Fin
    Utilisateurs/Bureau. Langage de programmation : C
    Catégories ...
    Télécharger libusb
  • 5
    LAMPÉE
    LAMPÉE
    SWIG est un outil de développement logiciel
    qui relie les programmes écrits en C et
    C++ avec une variété de
    langages de programmation. SWIG est utilisé avec
    différent...
    Télécharger SWIG
  • 6
    Thème de réaction WooCommerce Nextjs
    Thème de réaction WooCommerce Nextjs
    Thème React WooCommerce, construit avec
    Suivant JS, Webpack, Babel, Node et
    Express, en utilisant GraphQL et Apollo
    Client. Boutique WooCommerce dans React (
    contient : Produits...
    Télécharger le thème WooCommerce Nextjs React
  • Plus "

Commandes Linux

Ad