/etc/profile
только получен Вашей оболочкой входа в систему, не initscripts.
/etc/security/limits.conf
будет также только влиять на сессии входа в систему также, поскольку те пределы помещаются на месте pam_limits.so
; из pam_limits страницы справочника:
pam_limits модуль PAM устанавливает пределы для системных ресурсов, которые могут быть получены на сеансе пользователя.
Для получения поведения, Вы хотите, необходимо изменить initscript и вставить Ваш ulimit -c unlimited
команда. Как упомянутый Dom, Вы могли также сделать это путем редактирования библиотеки init-функций lsb.
Спасибо, ваше обновление было решением проблемы - для всех остальных есть рецепт №3 против ошибки Win32 1062 при запуске Cygwin:
1) Проверьте журнал событий приложения, см. если там есть события уровня "Информация", например: "sshd: PID: Возможный дубликат cygwin1.dll:"
Найдите этот глупый дубликат в указанном месте и переименуйте его или как-нибудь избавьтесь от него в пути. Мой был в "/ cygdrive / c / Program Files (x86) /socat-1.7.2.0/cygwin1.dll."
Boo, socat! Видимо они занимаются 3ПП . Я даже не знал, что socat был в моей системе, очевидно, он был частью какой-то другой установки. Я нашел еще двух человек в списках рассылки cygwin, страдающих от проблемы с дублированием dll.
У меня был (почти) такой же эффект и аналогичное решение: журнал приложений показал дублированный файл
Возможный дубликат cygwin1.dll: /cygdrive/c/dakota/bin/cygwin1.dll ..
из моей установки dakota. Переименование этой dll помогло. Спасибо!
У меня возникла проблема с разделением привилегий. В этом случае добавление строки в файл / etc / passwd
решило проблему.
sshd: x: 74: 74: SSH с разделением привилегий: / var / empty / sshd: / sbin / nologin
Ответ / etc / passwd был очень близок, но UID 74 был специфическим для его установки.
вместо этого используйте эту команду cygwin, чтобы получить правильный UID.
mkpasswd -l -u sshd >> / etc / passwd
Похоже, это вызвано ЛЮБОЙ ошибкой с сервером sshd - в моем случае он заблокирован на / etc / ssh_host_rsa_key
perms - должно быть 0600. см. / var / log / sshd
или аналогичный.
Спасибо @ HopelessN00b
, @ user155148
, @Algomorph
меня вдохновила комбинация ваших решений.
У меня было две проблемы:
cygwin1.dll
файлов. /var/log/sshd.log
: «Пользователь sshd с разделением привилегий не существует» Обработка кровавых дубликатов файлов рассола:
cd / cygdrive / c / Program \ Files \ \ (x86 \) / cwRsync / bin
mv cygwin1.dll cygwin1_.dll
Добавлен пользователь, отредактировав / etc / passwd
и добавив следующую строку:
sshd: x: 74: 74: SSH с разделением привилегий: / var / empty / sshd: / sbin / нологин
Обратите внимание, что имя пользователя sshd пришло из /var/log/sshd.log
.
GAD, какая это заноза в заднице!
Я нашел еще один ресурс, этот более подробный и из Oracle
Вкратце, если у вас greif:
cygrunsrv -S sshd
/var/log/sshd.log
/ etc / passwd
probs ? Для меня это оказалось проблемой совместимости. Пытался запустить в Win7. Исправлено щелчком правой кнопкой мыши по файлу в проводнике при переходе к совместимости и настройке совместимости с Windows Server 2003. После этого все работало нормально.
Решение найдено здесь:
Обратите внимание, что моя проблема была связана конкретно с попыткой запустить сервер OpenSSH, который использует облегченную версию Cygwin I. предположить.
На клиентской системе я обнаружил программу под названием RDPlus (www.rdplus.com.au), выполняющую опцию туннелирования SSH на порту 22, которую мне пришлось отключить перед запуском Cygwin sshd. Из CMD.EXE, 'netstat -abo' указал на этот процесс после того, как обнаружил ошибку 'Привязка к порту 22 на 0.0.0.0 неудачной' в журнале регистрации событий приложения (Application Event Log). Опция 'o' покажет PID, который можно найти в диспетчере задач.
Чтобы отключить этот запуск, перейдите во вкладку Web и отключите SSH Tunneling.
. Кто-то разместил это в другом вопросе по обмену стеком, но если у вас есть пустой файл в / var / log / sshd
, попробуйте / usr / sbin / sshd
. Это выведет ошибки, которых вы не попали в журнал.
Для меня, деинсталляция служб sshd, перезагрузка и повторный запуск ssh-host-config, следуя этим инструкциям, помогли ( ls -l / var / etc
сообщил мне, что в моей первой попытке пустая папка принадлежала SYSTEM, что имеет смысл, так как я ранее следовал этому учебному пособию. , Я получил ошибку "/ var / empty должен принадлежать root, а не группе или доступу для записи всем").
Я использовал Cntlm
(прокси-сервер аутентификации NTLM), который также содержит cygwin1.dll
, предотвращение такого дублирования решило проблему.
Я использую локальную учетную запись cyg_server для запуска sshd. Мне нужно было установить разрешения для / var / empty на 700, а для владельца - на cyg_server, несмотря на то, что в сообщении об ошибке говорилось, что владельцем должен быть root.
Я также удалил сообщение дня (/ etc / motd), но я не думаю, что это строго необходимо. Иногда это мешает моей автоматизации.
FWIW, cyg_server - строго локальный пользователь с правами администратора и без определения Active Directory. Он указан в реестре и в /etc/passwd.
Мне также пришлось отредактировать права cyg_server после принятия недавнего обновления Cygwin.
cygrunsrv -E sshd
editrights -a SeAssignPrimaryTokenPrivilege -u cyg_server
editrights -a SeCreateTokenPrivilege -u cyg_server
editrights -a SeTcbPrivilege -u cyg_server
editrights -a SeServiceLogonRight -u cyg_server
cygrunsrv -S sshd
остановил sshd, изменил права учетной записи службы и перезапустил sshd.
Вот как устанавливаются права после этого быстрого сеанса.
bash-4.4$ editrights -u cyg_server -l
SeAssignPrimaryTokenPrivilege
SeCreateTokenPrivilege
SeTcbPrivilege
SeServiceLogonRight
SeDenyRemoteInteractiveLogonRight
bash-4.4$