Пример A-5. encryptedpw: Передача файла на ftp-сервер, с использованием пароля

Пример A-5. encryptedpw: Передача файла на ftp-сервер, с использованием пароля

  1. #!/bin/bash
  2. # Модификация примера "ex72.sh", добавлено шифрование пароля.
  3. #  Обратите внимание: этот вариант все еще нельзя считать безопасным,
  4. #+ поскольку в сеть пароль уходит в незашифрованном виде.
  5. # Используйте "ssh", если вас это беспокоит.
  6. E_BADARGS=65
  7. if [ -z "$1" ]
  8. then
  9.   echo "Порядок использования: `basename $0` имя_файла"
  10.   exit $E_BADARGS
  11. fi
  12. Username=bozo           # Измените на свой.
  13. pword=/home/bozo/secret/password_encrypted.file
  14. # Файл, содержащий пароль в зашифрованном виде.
  15. Filename=`basename $1`  # Удалить путь из имени файла
  16. Server="XXX"
  17. Directory="YYY"         # Подставьте фактические имя сервера и каталога.
  18. Password=`cruft <$pword`          # Расшифровка.
  19. #  Используется авторская программа "cruft",
  20. #+ основанная на алгоритме "onetime pad",
  21. #+ ее можно скачать с :
  22. #+ Primary-site:   <a href="ftp://ibiblio.org/pub/Linux/utils/file
  23. #+" title="ftp://ibiblio.org/pub/Linux/utils/file
  24. #+">ftp://ibiblio.org/pub/Linux/utils/file
  25. #+</a>                 cruft-0.2.tar.gz [16k]
  26. ftp -n $Server <<End-Of-Session
  27. user $Username $Password
  28. binary
  29. bell
  30. cd $Directory
  31. put $Filename
  32. bye
  33. End-Of-Session
  34. # ключ -n, команды "ftp", запрещает автоматический вход.
  35. # "bell" — звонок (звуковой сигнал) после передачи каждого файла.
  36. exit 0