Как запустить демон inetd на Cygwin?

6823
WilliamKF

Я хочу, чтобы демон inetd работал на машине с Cygwin. Я знаю, как сделать это на Centos 4, но на Cygwin, похоже, не работает.

Команды, которые я пробовал:

cygrunsrv -I xinetd -d "Cygwin Xinetd" -p /usr/sbin/xinetd -e CYGWIN=ntsec cygrunsrv -S xinetd /etc/rc.d/init.d/xinetd start 

На Linux я бы просто сделал:

/sbin/service xinetd restart 

После редактирования моего файла конфигурации:

/etc/xinetd.d/<myAppHere> 

Я создал этот файл на Cygwin, но не могу понять, как запустить службу.


[si-xp-pro-sp3 ~] /etc/rc.d/init.d/xinetd start /etc/rc.d/init.d/xinetd: line 22: /etc/init.d/functions: No such file or directory Starting xinetd: /etc/rc.d/init.d/xinetd: line 59: daemon: command not found  [si-xp-pro-sp3 ~] /usr/sbin/xinetd start Usage: xinetd [-d] [-f config_file] [-filelog filename] [-syslog facility] [-reuse] [-limit proc_limit] [-pidfile filename] [-logprocs limit] [-shutdownprocs limit] [-cc interval] 
1

4 ответа на вопрос

3
Aaron

Запуск /usr/bin/xinetd-configдля установки xinetd должен устранить эти две ошибки:

/etc/rc.d/init.d/xinetd: строка 22: /etc/init.d/functions: нет такого файла или каталога

Запуск xinetd: /etc/rc.d/init.d/xinetd: строка 59: демон: команда не найдена

Я здесь пытаюсь установить cygwin + proftpd + xinetd. У меня были некоторые проблемы, и вышеупомянутый ответ работал для меня ** после **, я сделал чистую установку cygwin. user2426679 8 лет назад 0
1
Michael Dillon

Существует ли /etc/rc.d/init.d/xinetd? Какие сообщения вы получаете?

Вы пробовали просто запустить xinetd или / usr / sbin / xinetd?

Просто не означает использование «начала» в качестве аргумента. Проверьте справочную страницу для xinetd.

По сути, вы путаетесь между использованием /etc/init.d и / usr / sbin. Папка init.d содержит сценарии оболочки, которые используются для автоматического запуска процессов сервера, но также могут использоваться и вручную. sbin содержит двоичные файлы приложений. Все сценарии в init.d принимают аргументы, такие как start и stop, но если вы хотите узнать, какие аргументы принимает двоичный файл sbin, вам нужно прочитать страницу руководства.

Когда я сказал, что Simpy запустит xinetd, я хотел ввести следующую команду оболочки.

xinetd

и если это не сработает, то попробуйте

/usr/sbin/xinetd

Когда вы вводите ложные аргументы в командную строку, xinetd сбивается с толку и даже не пытается запустить.

Пожалуйста, смотрите дополнительную информацию в вопросе. WilliamKF 13 лет назад 0
Executing /usr/sbin/xinetd gives no output and a zero status result. Should it give any output or does it just silently start up? WilliamKF 13 лет назад 0
Подходящим тестом для сетевого демона, такого как xinetd, является попытка установить сетевое соединение. Или, по крайней мере, использовать ps и посмотреть, кажется ли, что процесс запущен, и netstat -a, чтобы увидеть, прослушивает ли он все порты, которые вы указали в конфигурации. Michael Dillon 13 лет назад 1
Сбой подключения к сети, ps не показывает ничего работающего, имя которого включает inetd, а netstat -a не показывает отслеживаемый порт. WilliamKF 13 лет назад 0
@WilliamKF вам действительно нужно прочитать справочную страницу xinetd. Что показывает опция -d? Michael Dillon 13 лет назад 1
1
lcbrevard

cygrunsrv делает большую часть волшебства, но разрешения вашей файловой системы Windows должны быть открыты.

Это больше, чем просто делать ls -l

Вы должны сделать это через CMD.EXE или, проще, через графический интерфейс EXPLORER.EXE.

Вам необходимо открыть для ПОЛНОГО УПРАВЛЕНИЯ для СИСТЕМЫ следующие каталоги (папки):

C:\CYGWIN C:\CYGWIN\VAR C:\CYGWIN\VAR\LOG 

Выберите свойства файла для каждого из них и найдите вкладку «Безопасность».

Если нет вкладки «Безопасность», у вас есть «Простой общий доступ к файлам». Отключите это с помощью Tools -> Folder Options -> View, затем прокрутите до самого последнего флажка: [] Использовать простой обмен файлами (рекомендуется)

Удостоверьтесь, что это НЕПРОВЕРЕНО - тогда вы сможете получить также вкладку Безопасность для каждой папки.

Убедитесь, что SYSTEM указан под именем группы или пользователя. Добавьте это, если нет. Затем убедитесь, что при выделении SYSTEM установлен флажок Full Control Allow.

Смотрите эту ссылку для обсуждения этой проблемы с sshd - http://www.noah.org/ssh/cygwin-sshd.html

0
hawkeye

Вот как:

xinetd-config cygrunsrv -I xinetd -p /usr/sbin/xinetd -d 'CYGWIN xinetd' -a '-stayalive -pidfile /var/run/xinetd.pid' cygrunsrv -S xinetd 
Это [ответ Аарона] (http://superuser.com/q/248708/150988#511611) (четыре года назад), плюс то, что ОП уже делал, плюс опция `-a`. Это действительно имеет все значение? И вы уверены в этом синтаксисе? Это выглядит странно. Вы можете это объяснить? Scott 7 лет назад 2
Ничто на этой странице не работает для меня. Я нашел это где-то еще, и это решило мою проблему так, как ничто другое не сделало. Я пытался внести вклад в решение этой проблемы на практике. hawkeye 7 лет назад 0