Разрешения каталога для Cygwin SSH (Windows 7)
Я поклонник Linux, но из-за плохих беспроводных драйверов Intel в Linux мне пришлось переключиться на Windows 7. Я установил Cygwin в Windows и хочу настроить SSH для удаленного подключения к моему ноутбуку.
Я искал с Google и нашел информация для установки сервера openssh на Win 7, но я получаю следующую ошибку при запуске ssh-host-config
:
bala@bala-PC ~ $ ssh-host-config yes *** Info: Creating default /etc/ssh_config file *** Query: Overwrite existing /etc/sshd_config file? (yes/no) yes *** Info: Creating default /etc/sshd_config file *** Info: Privilege separation is set to yes by default since OpenSSH 3.3. *** Info: However, this requires a non-privileged account called 'sshd'. *** Info: For more info on privilege separation read /usr/share/doc/openssh/READ ME.privsep. *** Query: Should privilege separation be used? (yes/no) no *** Info: Updating /etc/sshd_config file *** Warning: The following functions require administrator privileges! *** Query: Do you want to install sshd as a service? *** Query: (Say "no" if it is already installed as a service) (yes/no) yes *** Query: Enter the value of CYGWIN for the daemon: [] *** Info: On Windows Server 2003, Windows Vista, and above, the *** Info: SYSTEM account cannot setuid to other users -- a capability *** Info: sshd requires. You need to have or to create a privileged *** Info: account. This script will help you do so. *** Warning: The owner and the Administrators need *** Warning: to have .w. permission to /var/run. *** Warning: Here are the current permissions and ACLS: *** Warning: drwxr-xr-x 1 bala None 0 2010-01-17 22:34 /var/run *** Warning: # file: /var/run *** Warning: # owner: bala *** Warning: # group: None *** Warning: user::rwx *** Warning: group::r-x *** Warning: other:r-x *** Warning: mask:rwx *** Warning: *** Warning: Please change the user and/or group ownership, *** Warning: permissions, or ACLs of /var/run. *** ERROR: Problem with /var/run directory. Exiting.
разрешения этой папки отображаются только для чтения (применяется только к этой папке), зарегистрировался в сером. Я попытался снять флажок, но после того, как я снова открою свойства, флажок снова установлен. Есть ли способ изменить разрешения этой папки?
9 ответов
Я запускаю cygwin 1.7 в Windows 7 x64 и sshd. Я не помню, как получил эту ошибку при запуске sshd_config, но я просто посмотрел на мой каталог /var/run, и он установлен в 777.
попробуйте это в оболочке cygwin chmod 777 /var/run
извините за такую старую тему, но этот вопрос всегда возникал, когда я гуглил эту конкретную проблему.
через несколько месяцев, я, наконец, нашел решение. Когда я настраивал cygwin, у меня не было правильно созданных учетных записей пользователей и групп в cygwin. Основной способ сделать это-запустить:
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
Если вы входите в систему с помощью пользователя домена и passwd, вы можете сделать:
mkpasswd -l -d > /etc/passwd
mkgroup -l -d > /etc/group
или, если у вас есть невероятно большая сеть, как моя, вы не можете очень хочу. Альтернативой является только пользователь ваших локальных пользователей и группы плюс любой, который вы вошли в систему как:
mkpasswd -l > /etc/passwd
mkpasswd -c >> /etc/passwd
mkgroup -l > /etc/group
mkgroup -c >> /etc/group
после того, как я сделал это, я, наконец, смог правильно запустить ssh-host-config для создания службы.
У меня было много проблем с этим. Я обнаружил, что шаги установки по умолчанию работают просто отлично при условии, что я:
- запустите оболочку Cygwin как административный пользователь с параметром "Запуск от имени администратора".
- отключите UAC.
- отключена защита от вирусов в режиме реального времени.
после того, как эти шаги были предприняты, шаги установки по умолчанию:
- установить "openssh" из Cygwin установщик.
- запустите оболочку Cygwin как административный пользователь с параметром "Запуск от имени администратора".
- запустите "ssh-host-config" из оболочки Cygwin.
- Разделение привилегий: да
- новая локальная учетная запись "sshd": да
- установить sshd как сервис: да
- CYGWIN значение: ntsec tty
- другое имя для "cyg_server": нет
- создать новую привилегированную учетную запись пользователя "cyg_server": yes
- установить "cyg_server" пароль и хранить в безопасном месте
- net start sshd
после этого все, кажется, работает нормально как на Windows 7 Professional, так и дома.
Если у вас уже есть неудачная установка Cygwin sshd, возможно, лучше всего сделать полную деинсталляцию и начать заново.
вот инструкции по удалению Cygwin, если они вам нужны:http://cygwin.com/faq/faq.html#faq.setup.uninstall-all
мне сначала пришлось удалить сломанную установку:
cygrunsrv --remove sshd
rm -rf /var/log/sshd* /etc/ssh_host* /etc/sshd_config /var/empty
затем создайте passwd & group, как указано выше:
mkpasswd -l > /etc/passwd
mkgroup -l > /etc/group
затем я побежал:
ssh-host-config -y
cygrunsrv --start sshd
и, наконец, сообщения" setuid failed " исчезли, и логин работал.
в оболочке cygwin убедитесь, что вы являетесь администратором:
takeown /F "C:\cygwin" /R
icacls "C:\cygwin" /grant Everyone:\(F\) /T
icacls "C:\cygwin"
chmod 777 -R "c:\cygwin"
в Проводнике Windows, для папку /var
:
свойства.
Безопасность.
Добавить администраторов групп с полным контролем для папка и вложенные папки.
это работает для меня.
Я смог успешно запустить сценарий ssh-host-config только тогда, когда я установил Cygwin на жесткий диск типа NTFS. Сценарий ssh-host-config не работал, когда я установил Cygwin на флэш-накопитель типа exFAT.
у меня была та же проблема. Моя проблема, я считаю, заключалась в том, что у меня был пользовательский файл /etc/fstab, где я монтировал корневую папку с опцией "noacl". Вот как я решил проблему:
-
переместить пользовательский /etc / fstab в сторону:
mv /etc/fstab /etc/fstab.bak
кроме того, вы можете отредактировать файл /etc/fstab и удалить параметр noacl.
закройте все окна Cygwin bash и любые другие процессы или службы Cygwin. Если вы если какой-либо процесс Cygwin запущен, он будет поддерживать старые настройки /etc/fstab.
запустите новое окно Cygwin bash.
-
возможно, Вам потребуется выполнить следующее.
chmod +r /etc/passwd chmod o+x /var chmod +w /var/run
скрестите пальцы, запустите ssh-host-config, и теперь он должен завершиться без ошибок.
-
если вы переместили /etc / fstab на Шаге 1, Вы можете переместить его обратно теперь:
mv /etc/fstab.bak /etc/fstab
-
если вы создали новых пользователей после первой установки Cygwin, update/etc / passwd, в противном случае эти пользователи не смогут войти через ssh:
mkpasswd -l > /etc/passwd
кроме того, перейдите в Брандмауэр Windows и разрешите C:/cygwin/usr/sbin/sshd - ... exe и C:/cygwin/usr/sbin/sftp-server - ... exe