Я пытаюсь настроить OpenSSH на нескольких компьютерах с Windows Server 2003 в автоматическом режиме. Моя цель - иметь возможность сделать это с помощью одной версии Cygwin, установленной на сетевом диске, вместо того, чтобы вручную устанавливать ее на каждой машине.
Я могу установить cygwin нормально, но начинаю сталкиваться с проблемами, когда пытаюсь запустить ssh-host-config.
$ ssh-host-config
bash: /usr/bin/ssh-host-config: Permission denied
Хорошо, ничего страшного. Я chmod 555 все в / usr / bin.
$ ssh-host-config
/usr/share/csih/cygwin-service-installation-helper.sh: line 689: /usr/bin/awk: cannot execute binary file
Вот где я застреваю. Бег
petters@BTSOTTSTBAL507 /usr/bin
$ awk
bash: /usr/bin/awk: cannot execute binary file
Вот содержимое awk:
!<symlink>gawk.exe
В качестве примечания, я могу нормально запустить gawk.exe и попытался установить Cygwin с установленной переменной среды CYGWIN = winsymlinks.
Я также заметил следующее -
petters@BTSOTTSTBAL507 /usr/bin
$ ls -l
total 366592
-rwxr-xr-x 1 ???????? ???????? 54798 Feb 4 19:02 [.exe
-rwxr-xr-x 1 ???????? ???????? 23566 May 18 2010 addftinfo.exe
-rwxr-xr-x 1 ???????? ???????? 165806 May 18 2010 afmtodit
-rwxr-xr-x 1 ???????? ???????? 1786 May 17 2010 apropos
-rwxr-xr-x 1 ???????? ???????? 47118 Feb 4 19:01 arch.exe
-rwxr-xr-x 1 ???????? ???????? 8206 Apr 29 00:43 ascii.exe
Другими словами, данные о собственности испорчены.
У меня сложилось впечатление, что cygwin 1.7.x был переносимым, но, может быть, нет? Любая помощь приветствуется!
Вы столкнулись с двумя проблемами.
Прежде всего, это разница между posix-y взглядом Cygwin на разрешения и владение и Windows. Ты хочешь прочитать Использование безопасности Windows в Cygwin. В ????????
отображается, потому что файлы принадлежат пользователю, который не определен на локальном компьютере. Если вы находитесь в домене, вы, вероятно, можете запустить mkpasswd
и mkgroup
и используя вывод для создания соответствующих /etc/passwd
и /etc/groups
. Тем не менее, они будут включать только учетные записи для конкретных компьютеров хоста, на котором они были созданы.
Что хорошо подходит ко второму вопросу:
Cygwin сохраняет большую часть своих настроек конфигурации в или под /etc
. Так делиться /etc
через несколько хостов очень сложно. Точно так же большинство процессов Cygwin предполагают /tmp
и /var
также зависят от машины.
Вы мощь иметь возможность заставить это работать, создавая локальные каталоги на каждой машине, например: c:\cygwin\etc
, c:\cygwin\tmp
, и c:\cygwin\var
. Вам нужно будет заполнить etc и var ожидаемыми файлами и каталогами. Затем вам нужно создать файл / etc / fstab, который объединит все это в единую файловую систему. Ты хочешь прочитать Отображение имен путей подробнее об этом.
Также имейте в виду, что каждый раз, когда ваш сетевой диск недоступен, любые запущенные процессы Cygwin могут зависать, давать сбой или просто вести себя странно.