2011-04-13 1 views
0

Je fais un éditeur de fichiers en ligne qui fonctionne avec SSH. Il peut se connecter à une autre machine SSH, lire textarea et faire une commande SSH distante avec $ textarea. Quelle commande dois-je utiliser, donc il va changer le fichier appelé server.settings au contenu de $ textarea? Ou un script?Editeur de fichiers en ligne

Merci d'avance. Je suis d'accord avec Mark B, cela peut paraître dangereux.

+1

Voulez-vous vraiment faire quelque chose comme ça? Pensez aux problèmes de sécurité. Et si quelqu'un remplit le formulaire avec 'rm -rf/&'? –

+3

Si vous ne connaissez même pas les fonctions de base du fichier en PHP, vous ne devriez pas essayer de créer une interface utilisateur à distance via SSH. – mario

Répondre

0

Donc, la solution i fait était: J'echo'ed résultat de la commande SSH pour textarea

tail -n 2000000000000000000 /root/server.log 

constituons que python va écrire le contenu de textarea fichier demandé.

1

Il serait beaucoup plus sûr d'avoir un service en cours d'exécution sur la machine qui a le fichier à modifier, mais je suppose que vous avez pensé à cela et que ce n'est pas une option. Au lieu de ssh, une méthode légèrement plus sûre consiste à use scp ou sftp, ce qui réduit le risque que des commandes arbitraires soient exécutées sur la machine avec le fichier à éditer. Donc, vous

  1. scp le fichier de machine2 à Machine1
  2. Lire le contenu et le mettre dans la zone de texte de votre page Web
  3. utilisateur modifie le contenu et clique sur Enregistrer
  4. scp le fichier à machine2
+0

Pouvez-vous préciser comment vous avez chrooté les utilisateurs connectés à shellinabox? Je voudrais faire quelque chose de similaire, en particulier que l'utilisateur puisse entrer n'importe quel nom d'utilisateur qu'il choisit sans mot de passe, puis un terminal chrooté/emprisonné est créé automatiquement. Des idées? – twain

1

J'utilise shellinabox et ce n'est pas nécessaire. Il est très facile de chrooter des clients qui se connectent en prison, et en utilisant l'écran, je peux avoir des terminaux multiplexés et des sessions persistantes.

0,02 $