Si la variable $ARCHIVES n'est pas vérifiée avant la commande "find", je pense qu'en cas de loupé "mal intentionné" (de type injection de commandes dans la variable $ARCHIVES), cette tâche cron pourrait faire autre chose que d'effacer des fichiers .BAK.
En effet. Ceci dit $ARCHIVES est déclaré de façon statique en début du script, du style $ARCHIVES = /mnt/sauvegarde/… Donc si quelqu'un peut modifier le scripts, c'est qu'il a déjà accès au système.
D'après des infos équivalente sur le ouèbe, cette attaque permet de télécharger et d'exécuter un script qui va miner des bitcoins. Si je regarde mon error.log à la même heure, j'ai :
[Fri Oct 2012:11:48.274578 2017][access_compat:error][pid 27640][client 27.255.65.171:46553] AH01797: client denied by server configuration: /var/www/cgi-bin
L'attaque aurait-elle échoué ? Ce serait intéressant de télécharger le script manuellement pour voir ce qu'il y a dedans, mais je ne vois pas comment reconstituer l'url de téléchargement à partir de la commande php ci-dessus. Quelqu'un à une idée ?
Il y a bien un serveur web basique : apache2 et des pages web-php servant à consulter une base MySQL. Comment est il possible d'effacer des fichiers du /home par ce biais là ?
Même style. En cas de loupé sur la variable $ARCHIVES (qui indique le chemin d'un répertoire de sauvegarde), ce ne sont de toutes façons que les fichiers *.bak qui sont effacés.
C'est vraiment un mystère cette histoire. Le système de fichier est ext4. Ça ne me paraît pas possible, mais est qu'un problème matériel pourrait causer la disparition de tous les fichiers d'un seul utilisateur ?
Merci pour cette revue bien faite qui m'a donné envie de lire le livre.
J'aime bien les bouquins sur le monde de l'informatique, et il y en a assez peu, ou ils ne se font pas assez connaître. En ce moment je viens de terminer "Surveillance", de Tristan Nitot, et je lis "Hackers", de Steven Levy.
Sinon :
l'auteure fait référence à « Hackers » (si si, vous savez, ce film avec Angelina Jolie, où on apprend que « le RISC, c'est bien »). Et un livre qui y fait référence ne peut pas être mauvais.
Heu sérieux, tu as aimé ce film ? Je l'ai trouvé insupportable de nullité, et la seule discussion technique entre "hackers", qui dure 10 secondes, est loufoque.
Dans le cas qui nous intéresse, ils sont en C++. Donc ce n'est pas Python qui va limiter les ressource. Même une partie de l'interface graphique est en C (via les bindings GTK). Ici, le Python ne fait que la "glue" entre les différents composants.
OK.
Le C n'est pas si compliqué ni si laborieux à programmer
Pour une interface graphique, en travaillant proprement (et donc éviter les erreurs mémoires et autres joyeusetés du C), si.
C'est vrai que la performance de l'exécutable nécessite une certaine discipline.
Rien à voir avec une interface graphique donc. On n'est même pas sur du multitâche… En plus, parler de gros projet et coder sur Arduino…
C'est juste un exemple pour expliquer qu'avec des librairies bien fichues, c'est facile de coder en C.
Je ne vois pas ce que tu veux dire, Raspberry, c'est juste une plateforme matérielle. Après, il y a différents OS dessus et c'est du C classique pour communiquer avec l'OS. Comme tu le ferrais avec un PC classique.
Autre exemple opposé au précédent. L'Arduino et le Raspberry Pi sont tout deux utilisés pour faire de l'informatique physique, c'est à dire communiquer avec des modules électroniques : capteurs, actionneurs, afficheurs, horloges,…
Pour les premiers les librairies sont en C, tandis que pour le second, elles sont essentiellement en python.
Je n'ai rien contre Python, et j'ignorais même cette "sale réputation". Mais comme c'est un langage interprété, nécessairement, à tache égale, il sera plus lent et consommera plus de ressources machine.
C'est juste mon avis, mais je pense qu'il n'est jamais très bon de compter sur la puissance des machines pour avoir des programmes rapides, et donc dans la mesure du possible, dès qu'on commence à avoir du gros code, choisir du compilé.
Python est un langage facile d'accès et est donc désormais le langage préféré d'apprentissage. Mais comme il est également très riche et complet et qu'il existe une foultitude de librairies (on peut absolument tout faire avec), ceux qui ont débuté en Python restent en Python, y compris pour des très gros projets, ce qui peut impacter les performances des machines.
Pourquoi faire? Mettre 2 ans pour faire ce que j'ai fait en 4 mois?
Je pense que la différence de délai n'est pas due aux langages, mais au fait que tu touches en Python.
Le C n'est pas si compliqué ni si laborieux à programmer. C'est même un langage assez simple dans sa syntaxe. La facilité de développement est plutôt lié à la disponibilité des librairies.
Par exemple, programmer un Arduino en C est très simple car les librairies pilotant les modules sont toujours disponibles et bien conçues. Les concepteurs de l'Arduino on même ajouté des fonctions et types de base qui simplifient encore plus la stdlib.
Pour le Raspberry, c'est plus compliqué. Les concepteurs ont choisi Python pour faire découvrir la programmation aux utilisateurs de leur machines, et donc la plupart des librairies pilotant les modules électroniques dédiés au Raspberry ont été développées en Python. Donc là, effectivement, c'est galère de programmer en C.
Hello, et bravo.
Un navigateur web, c'est déjà un gros programme. Si tu t'ennuies encore en train, ça vaudrait le coup que tu te perfectionnes en C et que tu programmes Eolie dans ce langage.
Laisse moi deviner, le port de plaisance de Saint Gilles à la Réunion avec la plage des roches noires où je me suis fait des superbes sessions de surf à une époque où on pouvait aller à l'eau sans risquer d'être au menu d'un squale à l'affut.
C'est ça même :)
Il y a des filets maintenant, opérationnels de temps en temps, donc tu peux revenir faire du surf. Mais c'est blindé…
Hello,
Perso j'utilise toujours Oziexplorer sous wine. Malheureusement ce n'est pas libre, mais je n'ai pas trouvé d'équivalent en non libre.
Il a l'avantage de pouvoir géo-référencer des cartes scannées, et d'importer pas mal de format GPS, y compris les vieux Garmin PCX.
Pour certains usages je le remplace de plus en plus par QGis, logiciel libre de SIG, qui permet également d'utiliser des cartes scannées et d'importer pas mal de format.
Je n'ai pas trouvé de plugins permettant de faire des statistiques, mais ce logiciel évolue tellement vite que cela viendra sans doute.
Je ne vois pas l'intérêt.
Ça paraît plus pertinent de faire le contraire, au cas où l'on aurait besoin de faire tourner dans un environnement linux les quelques rares applis Windows pouvant présenter une utilité quelconque :D
Je ne m'étendrais pas ici sur les limitations imposées par les couches logicielles propriétaires, car il faudrait un journal entier pour détailler les contournements débiles que nous sommes amenés à faire du fait du manque d'API ouverte.
Nous avons exactement le même souci. Enfin moins maintenant depuis que 70 % de nos ordinateurs sont passées sous linux.
Ça ne me gène pas qu'il existe des logiciels propriétaires couteux, mais pourquoi faut-il qu'ils soient toujours autant limités en import / export de données ? En gros, on a du moins bien pour plus cher.
Sinon pour les quelques anciens appareils dont le logiciel de communication n'est plus mis à jour, on utilise également une machine virtuelle Windows XP, dédiée à ce seul usage.
J'ai une entreprise et je ne me rappelle pas avoir déjà utilisé des moyens immoraux ou néfastes.
Par contre, j'utilise des logiciels libres, ce qui me donne un avantage certain sur la concurrence.
Il faut dire qu'il y a des antécédents. À l'époque du MS-DOS, Microsoft avait implémenté une fonction qui ralentissait le tableur Lotus, concurrent d'Excel
(source : James Wallace (1993), Hard Drive: Bill Gates and the Making of the Microsoft Empire).
Oui justement je me posais la question pour les variables globales.
Pour l'instant je les écris en minuscules, mais je fais des programmes assez courts.
Pour les plus long ce serait bien de les distinguer.
J'espérais un avis éclairé de Linus Torvalds dans son papier un poil intégriste sur le Linux kernel coding style, mais même pas :
Global variables (to be used only if you really need them) need to have descriptive
names, as do global functions. If you have a function that counts the number of active
users, you should call that count_active_users() or similar, you should not call
it cntusr().
Pour le reste il donne des conseils sur la façon de nommer les variables, mais rien sur la façon de les écrire.
Ce n'est pas que ça me gène qu'on parle de politique, ça me gène qu'on en parle SUR linuxfr.org.
Si j'ai envie de lire des trucs sur la campagne présidentielle, je vais dans un forum sur la politique.
Il y a un gars qui vient de mettre un article très sympa sur son bidouillage d'une freebox, et il a eu droit a des commentaires sur l'opportunité de son post sur un forum Linux.
Personnellement ça me semble plus pertinent de lire ici des astuces sur du matériel informatique que de la propagande électoraliste.
[^] # Re: crontab
Posté par harlock974 . En réponse au message Effacement de tous les fichiers d'un utilisateur. Évalué à 1.
En effet. Ceci dit $ARCHIVES est déclaré de façon statique en début du script, du style $ARCHIVES = /mnt/sauvegarde/… Donc si quelqu'un peut modifier le scripts, c'est qu'il a déjà accès au système.
[^] # apache
Posté par harlock974 . En réponse au message Effacement de tous les fichiers d'un utilisateur. Évalué à 4. Dernière modification le 24 octobre 2017 à 11:37.
L'après-midi où les fichiers ont disparu, j'ai eu une tentative d'attaque :
Ce qui, traduit en bon latin, donne :
D'après des infos équivalente sur le ouèbe, cette attaque permet de télécharger et d'exécuter un script qui va miner des bitcoins. Si je regarde mon error.log à la même heure, j'ai :
L'attaque aurait-elle échoué ? Ce serait intéressant de télécharger le script manuellement pour voir ce qu'il y a dedans, mais je ne vois pas comment reconstituer l'url de téléchargement à partir de la commande php ci-dessus. Quelqu'un à une idée ?
[^] # Re: crontab
Posté par harlock974 . En réponse au message Effacement de tous les fichiers d'un utilisateur. Évalué à 1.
Il y a bien un serveur web basique : apache2 et des pages web-php servant à consulter une base MySQL. Comment est il possible d'effacer des fichiers du /home par ce biais là ?
[^] # Re: crontab
Posté par harlock974 . En réponse au message Effacement de tous les fichiers d'un utilisateur. Évalué à 1.
Merci Matthieu
J'ai effectivement des scripts lancés par crontab :
1)
find /tmp/ -maxdepth 1 -name "cookie*" -mtime +1 -delete
Celui-ci efface les fichiers cookie* qui s'accumulent dans /tmp donc à priori pas de souci.
2)
find $ARCHIVES -xdev -name "*.bak" -mtime +365 -delete
Même style. En cas de loupé sur la variable $ARCHIVES (qui indique le chemin d'un répertoire de sauvegarde), ce ne sont de toutes façons que les fichiers *.bak qui sont effacés.
C'est vraiment un mystère cette histoire. Le système de fichier est ext4. Ça ne me paraît pas possible, mais est qu'un problème matériel pourrait causer la disparition de tous les fichiers d'un seul utilisateur ?
# Merci
Posté par harlock974 . En réponse à la dépêche Revue de livre : La face cachée d’Internet, de Rayna Stamboliyska. Évalué à 3.
Merci pour cette revue bien faite qui m'a donné envie de lire le livre.
J'aime bien les bouquins sur le monde de l'informatique, et il y en a assez peu, ou ils ne se font pas assez connaître. En ce moment je viens de terminer "Surveillance", de Tristan Nitot, et je lis "Hackers", de Steven Levy.
Sinon :
Heu sérieux, tu as aimé ce film ? Je l'ai trouvé insupportable de nullité, et la seule discussion technique entre "hackers", qui dure 10 secondes, est loufoque.
# Bof...
Posté par harlock974 . En réponse au journal Vous avez aimé BSD vs System V ? Vous aimerez systemd vs openRC (et le reste du monde). Évalué à -1.
System V, systemd ou openRC ? M'en fiche, je n'utilise aucun de ces programmes (du moins pas de façon consciente).
[^] # Re: En train...
Posté par harlock974 . En réponse au journal Eolie, le petit frère de Lollypop. Évalué à 1.
OK.
C'est vrai que la performance de l'exécutable nécessite une certaine discipline.
C'est juste un exemple pour expliquer qu'avec des librairies bien fichues, c'est facile de coder en C.
Autre exemple opposé au précédent. L'Arduino et le Raspberry Pi sont tout deux utilisés pour faire de l'informatique physique, c'est à dire communiquer avec des modules électroniques : capteurs, actionneurs, afficheurs, horloges,…
Pour les premiers les librairies sont en C, tandis que pour le second, elles sont essentiellement en python.
[^] # Re: En train...
Posté par harlock974 . En réponse au journal Eolie, le petit frère de Lollypop. Évalué à 0.
Je n'ai rien contre Python, et j'ignorais même cette "sale réputation". Mais comme c'est un langage interprété, nécessairement, à tache égale, il sera plus lent et consommera plus de ressources machine.
C'est juste mon avis, mais je pense qu'il n'est jamais très bon de compter sur la puissance des machines pour avoir des programmes rapides, et donc dans la mesure du possible, dès qu'on commence à avoir du gros code, choisir du compilé.
Python est un langage facile d'accès et est donc désormais le langage préféré d'apprentissage. Mais comme il est également très riche et complet et qu'il existe une foultitude de librairies (on peut absolument tout faire avec), ceux qui ont débuté en Python restent en Python, y compris pour des très gros projets, ce qui peut impacter les performances des machines.
Je pense que la différence de délai n'est pas due aux langages, mais au fait que tu touches en Python.
Le C n'est pas si compliqué ni si laborieux à programmer. C'est même un langage assez simple dans sa syntaxe. La facilité de développement est plutôt lié à la disponibilité des librairies.
Par exemple, programmer un Arduino en C est très simple car les librairies pilotant les modules sont toujours disponibles et bien conçues. Les concepteurs de l'Arduino on même ajouté des fonctions et types de base qui simplifient encore plus la stdlib.
Pour le Raspberry, c'est plus compliqué. Les concepteurs ont choisi Python pour faire découvrir la programmation aux utilisateurs de leur machines, et donc la plupart des librairies pilotant les modules électroniques dédiés au Raspberry ont été développées en Python. Donc là, effectivement, c'est galère de programmer en C.
# En train...
Posté par harlock974 . En réponse au journal Eolie, le petit frère de Lollypop. Évalué à -8.
Hello, et bravo.
Un navigateur web, c'est déjà un gros programme. Si tu t'ennuies encore en train, ça vaudrait le coup que tu te perfectionnes en C et que tu programmes Eolie dans ce langage.
[^] # Re: Ozi...
Posté par harlock974 . En réponse au journal Lecteur et exploitation de traces GPS en navigation. Évalué à 2.
C'est ça même :)
Il y a des filets maintenant, opérationnels de temps en temps, donc tu peux revenir faire du surf. Mais c'est blindé…
# Et les disques avec un disque dedans ?
Posté par harlock974 . En réponse au journal Endurance des SSD. Évalué à 9.
Pour comparer quelle est l'endurance d'un disque normal ?
[^] # Re: Ozi...
Posté par harlock974 . En réponse au journal Lecteur et exploitation de traces GPS en navigation. Évalué à 2.
J'ai loupé les captures d'écran. Les voici :
# Ozi...
Posté par harlock974 . En réponse au journal Lecteur et exploitation de traces GPS en navigation. Évalué à 2. Dernière modification le 15 septembre 2024 à 11:47.
Hello,
Perso j'utilise toujours Oziexplorer sous wine. Malheureusement ce n'est pas libre, mais je n'ai pas trouvé d'équivalent en non libre.
Il a l'avantage de pouvoir géo-référencer des cartes scannées, et d'importer pas mal de format GPS, y compris les vieux Garmin PCX.
Pour certains usages je le remplace de plus en plus par QGis, logiciel libre de SIG, qui permet également d'utiliser des cartes scannées et d'importer pas mal de format.
Je n'ai pas trouvé de plugins permettant de faire des statistiques, mais ce logiciel évolue tellement vite que cela viendra sans doute.
# Bof
Posté par harlock974 . En réponse au journal Nouvelles distributions à venir sous Windows 10. Évalué à 1.
Je ne vois pas l'intérêt.
Ça paraît plus pertinent de faire le contraire, au cas où l'on aurait besoin de faire tourner dans un environnement linux les quelques rares applis Windows pouvant présenter une utilité quelconque :D
[^] # Re: mais si
Posté par harlock974 . En réponse au journal Ça fait pourtant au moins 25 ans qu'on vous le dit.... Évalué à 2.
Ah, et "goto" aussi, pour rester dans le sujet
[^] # mais si
Posté par harlock974 . En réponse au journal Ça fait pourtant au moins 25 ans qu'on vous le dit.... Évalué à 1.
Boaf, il connaissent "if…then… else" donc ça devrait aller.
# Re : Journal Un print(1 + "3a"), ça nous inspire comment ?
Posté par harlock974 . En réponse au journal Un print(1 + "3a"), ça nous inspire comment ?. Évalué à 5.
En résumé : il existe beaucoup trop de langages de programmation…
# Je compatis
Posté par harlock974 . En réponse au journal Comment j’ai mis fin à un chantage logiciel. Évalué à 5.
Nous avons exactement le même souci. Enfin moins maintenant depuis que 70 % de nos ordinateurs sont passées sous linux.
Ça ne me gène pas qu'il existe des logiciels propriétaires couteux, mais pourquoi faut-il qu'ils soient toujours autant limités en import / export de données ? En gros, on a du moins bien pour plus cher.
Sinon pour les quelques anciens appareils dont le logiciel de communication n'est plus mis à jour, on utilise également une machine virtuelle Windows XP, dédiée à ce seul usage.
[^] # Re: pas mal
Posté par harlock974 . En réponse au journal DEFNET17 & Réserve de la Cyberdéfense. Évalué à 8.
C'est une buse bourguignonne.
[^] # C'est ça
Posté par harlock974 . En réponse au journal LE véritable intérêt du logiciel libre. Évalué à 2.
J'ai une entreprise et je ne me rappelle pas avoir déjà utilisé des moyens immoraux ou néfastes.
Par contre, j'utilise des logiciels libres, ce qui me donne un avantage certain sur la concurrence.
[^] # Pas impossible...
Posté par harlock974 . En réponse au journal Ben non rien ne change sur cette terre. Évalué à 4.
Il faut dire qu'il y a des antécédents. À l'époque du MS-DOS, Microsoft avait implémenté une fonction qui ralentissait le tableur Lotus, concurrent d'Excel
(source : James Wallace (1993), Hard Drive: Bill Gates and the Making of the Microsoft Empire).
[^] # Re: pendant qu'on y est
Posté par harlock974 . En réponse au journal CamelCase ou lowercase_with_underscore. Évalué à 2.
Oui justement je me posais la question pour les variables globales.
Pour l'instant je les écris en minuscules, mais je fais des programmes assez courts.
Pour les plus long ce serait bien de les distinguer.
J'espérais un avis éclairé de Linus Torvalds dans son papier un poil intégriste sur le Linux kernel coding style, mais même pas :
Pour le reste il donne des conseils sur la façon de nommer les variables, mais rien sur la façon de les écrire.
[^] # Re: Hum...
Posté par harlock974 . En réponse au journal Clavardage en direct sur le discours de Jean Luc Mélenchon à 15h. Évalué à -2.
Ce n'est pas que ça me gène qu'on parle de politique, ça me gène qu'on en parle SUR linuxfr.org.
Si j'ai envie de lire des trucs sur la campagne présidentielle, je vais dans un forum sur la politique.
Il y a un gars qui vient de mettre un article très sympa sur son bidouillage d'une freebox, et il a eu droit a des commentaires sur l'opportunité de son post sur un forum Linux.
Personnellement ça me semble plus pertinent de lire ici des astuces sur du matériel informatique que de la propagande électoraliste.
# Hum...
Posté par harlock974 . En réponse au journal Clavardage en direct sur le discours de Jean Luc Mélenchon à 15h. Évalué à 3.
Ça me gène un peu, la propagande politique sur Linuxfr.org…
[^] # Re: Concatenation de token
Posté par harlock974 . En réponse au message #define une partie de nom de fonction. Évalué à 2.
Très chouette, merci à tous les deux, ça marche !