как скопировать файлы из windows в linux без пароля с помощью скрипта или программы?

Для более глубокого понимания: вы можете легко разделить всю команду на три части:

  1. echo " Список файлов "; echo распечатывает (если у вас нет канала вывода в другом месте) на STDIN (стандартный ввод)

  2. ls | grep -vx filelist; перечисляет содержимое вашего текущего каталога и передает вывод в grep. Обычно "grep" просто печатает строки, содержащие заданное ключевое слово ("список файлов") в нашем случае. С опцией -v мы ищем строки, НЕ содержащие ключевое слово. Как упомянул Бармар, он также исключает файлы, содержащие «список файлов», например, "myfilelist", "filelist2", ..., поэтому рекомендуется использовать -x.

  3. filelist перенаправляет вывод в файл "filelist". Поскольку (1) и (2) заключены в квадратные скобки и разделены точками с запятой, вывод (который был бы распечатан на STDIN) обеих команд будет перенаправлен в этот файл.

0
25.01.2013, 13:12
3 ответа

Поскольку вы хотите пройти аутентификацию без предварительного обмена ключами, я не вижу другого выхода, кроме использования пароля аутентификация (по крайней мере, в первый раз).

Итак, вам нужно жестко запрограммировать пароль в вашем скрипте. Вы можете указать пароль для pscp с его параметром -pw . Но я не знаю, насколько это безопасно (по крайней мере, в Linux все пользователи обычно могут видеть командную строку всех процессов).

2
29.04.2021, 00:51

ИЗМЕНИТЬ после обновления вопроса:

Самый простой способ скопировать файлы по сети - это, вероятно, SMB / CIFS - на стороне Linux вы должны использовать SAMBA , чтобы предоставить общий сетевой ресурс для Windows или подключить сегменты, экспортированные машиной Windows.

Если вы хотите использовать ssh, посмотрите PuTTY , который включает командную строку scp , которая должна иметь возможность использовать аутентификацию по ключу. Но опять же: допустимо ли в вашей ситуации использовать ключи, не защищенные паролем?

-1
29.04.2021, 00:51

Есть несколько мест, где можно иметь «свободное место на диске».

  1. Дисковое пространство может отсутствовать в разделе (нераспределенное пространство).
  2. Можно использовать неиспользуемый раздел.
  3. В физическом томе LVM может быть свободное место. Как правило, физический том LVM располагается поверх раздела.
  4. В файловой системе может быть свободное место. Файловая система располагается поверх логического тома LVM.

Его тривиальное преобразование между (1) и (2) путем создания и удаления разделов (при условии, что вы, конечно, не превысили максимальное количество разделов). Сумма всего свободного пространства во всех физических томах в группе томов - это свободное пространство в группе томов, настолько близкое к одному и тому же для нашего обсуждения.

Вызовите первые два уровня разделения (вероятно, то, что вы видите в gparted). Вызовите # 3 уровня VG ( vgs покажет это, или vgdisplay , или pvdisplay и т.д.). Вызов # 4 уровня FS (это отображается в df ).

Ключевым моментом является то, что уровни не видят друг друга. Если вы пытаетесь создать новый раздел, не важно, сколько свободного места в файловой системе в разделе 1, вы не можете использовать его для раздела 2.

Это то, к чему вы, похоже, бежали.

Можно преобразовать свободное дисковое пространство между уровнями, но часто нетривиально. Например, можно использовать resize2fs , чтобы сжать файловую систему, а затем сжать логический том, на котором она находится (преобразовав свободное пространство с уровня FS на уровень VG). Затем можно сжать один из PV LVM и изменить размер раздела, преобразовав свободное пространство на уровне PV в уровень раздела. (Все эти операции нетривиальны и приводят к потере данных о рисках, если они сделаны неправильно).

Можно сделать обратное, добавив раздел, создав на нем PV, добавив PV в группу томов, используя lvextend для расширения LV, на котором расположена файловая система, и, наконец, используя resize2fs для добавления этого пространства в свободное пространство файловой системы. (Эти операции довольно безопасны.)

-121--291149-

Похоже, что mrepo сломан и/или оставлен. Я вынужден использовать createrepo, как описано здесь: createrepo со спутником rhel . Это означает, что я должен иметь 2 Rhel сервера, один на 5 x86_64 и один на 6 x86_64, чтобы создать мои локальные репо. Это требует того же количества прав, но требует дополнительной виртуальной машины, но, по крайней мере, это будет работать с некоторым долголетием. В моем случае 6 репозиторий будет находиться на том же сервере, где размещается выход в космос, но мне придется вручную установить http из 5 репозитория, чтобы он также мог использоваться.

-121--291156-

Поскольку вы не хотите вводить пароли или создавать ключи, я предлагаю следующее:

  1. отключите подключение к сети на обеих машинах (сначала безопасность!).
  2. включите вход без пароля на обеих машинах.
  3. вставьте дискету в машину А и скопируйте файлы на дискету.
  4. Извлеките дискету из машины А и перейдите к машине В.
  5. Вставьте дискету в машину B и скопируйте файлы на машину B.

Если у вас есть машина Win 95, вы будете рады узнать, что это модель сети, для которой она была разработана.

0
29.04.2021, 00:51

Теги

Похожие вопросы