Сломался SSH

Во время удаленной работы с сервером по SSH произошёл самопроизвольный обрыв связи, повторное соединение установить не удалось, когда добрался до сервера выяснилось что sshd остановлен :frowning:
новая попытка запуска

/etc/init.d/ sshd start
пишет что
ERROR: named failed to start ‘/usr/sbin/named’
/var/emptu must be owned by root and not group or word-writable
ERROR: sshd failed to start

понимаю что не запускается named, но не могу понять каким боком он тут ?
в файле /etc/init.d/sshd никаких ссылок на него нету, а в фале /etc/named/named.conf
вообще только это

options{
directoru “/var/bind”
listen-on {192.168.1.2 }}

Или я не там копаю ?

Господа ! скиньте пожалуйста рабочие файлы sshd.conf, named.conf для примера.

рабочий sshd_config - тот который по умолчанию, единственная опция из него, которая в вашем случае мешает (а в принципе без неё и лучше) - UseDNS.

в /etc/ssh/sshd_config:

UseDNS no

Более того, в тех фрагментах, что вы процитировали, дважды одна и та же опечатка:

/var/emptu <–> /var/empty

directoru <–> directory

Системы идут с рабочими конфигами. Хорошим тоном считается брать за основу их, и менять осмысленно ровно там, где есть необходимость. Копипастить целиком чужие конфиги - бессмысленное и рискованное занятие. Если конфиги из такой же системы (взяты за основу дефолтные этой системы), почему не взять те самые дефолтные, не поменять то что нужно (в плане sshd - единственные опции, которые требуется менять - UseDNS yes/no по вкусу и PermitRootLogin no/yes в зависимости от выбранной стратегии безопасности, туда же DenyUsers, это всё). Если система другая, возможны другие каталоги и прочие отличия - добавляеся задача “причёсывания”, адаптации.

С named немного сложнее, но копирование конфигов тут тоже нежелательно.

Сильно смущают вещи типа “самопроизвольный обрыв связи”, “выяснилось что sshd остановлен”. Это те вещи, которые проверяются и выясняются. НИЧЕГО в nix-системах не происходит само.

понимаю что не запускается named, но не могу понять каким боком он тут ?

service sshd start отрабатывает без ошибок?

Виктор Кустов: service sshd start отрабатывает без ошибок?

В том то и дело что нет:

 #/etc/init.d/sshd start
 /etc/init.d/named userscript please convert to openrc-run
 starting named 
 checking named configuration
 start-stop-daemon
 ERROR: named failed to start '/usr/sbin/named' 
 /var/empty must be owned by root and not group or word-writable 
 ERROR: sshd failed to start 

в /etc/ssh/sshd_config:

#UseDNS no

Владимир Кариков wrote:

Виктор Кустов: service sshd start отрабатывает без ошибок?

В том то и дело что нет:
[…]

стартовый скрипт /etc/init.d/named не в формате openrc. Откуда вы его взяли? Делался ли dispatch-conf? ставился ли named штатно, через emerge из портежей?

/var/empty must be owned by root and not group or word-writable

сделайте ls -l /var | grep empty и соотнесите увиденное с требованием системы.

как получилось, что права на /var/empty не дефолтные?

в /etc/ssh/sshd_config:
#UseDNS no

Строка закомментарена, я рекомендовал вам опцию UseDNS no, # надо убрать. правильная опция:

UseDNS no

Виктор Кустов:

стартовый скрипт /etc/init.d/named не в формате openrc. Откуда вы его взяли? 
Делался ли dispatch-conf? ставился ли named штатно, через emerge из портежей?

Все ставилось штатно, при установке системы, от себя ни каких файлов не добавлял

Виктор Кустов:

как получилось, что права на /var/empty не дефолтные?

сам не знаю я ничего не делал, как получилось что

стартовый скрипт /etc/init.d/named не в формате openrc.

И как теперь этот скрипт исправить ?

Виктор Кустов:

сделайте ls -l /var | grep empty

Сделал, ничего не показывает.

$ ls -l /var | grep empty
drwxr-xr-x  2 root root 4096 июн 14 12:23 empty

ок. интересует выхоп:
df -h
mount | grep “^/dev”
ls -l /var

обновлялась ли система?
Делался ли dispatch-conf?

"#!/sbin/runscript" and recently switched to "#!/sbin/openrc-run"

в начале скрипте /etc/init.d/named исправить #!/sbin/runscript на #!/sbin/openrc-run

Выхлоп:
*

$ ls -l /var | grep empty

*
нет данных
*

df -f

*

Файловая система        Размер  Использовано     Дост.   Использовано %    Смонтировано
devtmpfs                   10M       0            10M          0%           /dev
shm                       1,8G       0           1,8G          0%           /dev/shm
tmpfs                     1.8G     768           1,8G          1%           /run
/dev/md0p2                 15G     3,7            11G         27%           /
cgroup_root                10M       0            10M          0%           /sys/fs/cgroup

*

mount | grep "^/dev"

*

/dev/md0p2   on /tupe ext4 (rv,noatime,data=ordered)
/dev/md0p4   on /var/calculate (rv,noatime,data=ordered)
/dev/md0p4   on /home (rv,noatime,data=ordered)

*

$ ls -l /var

*
нет данных

*обновлялась ли система?
Делался ли dispatch-conf?*

НЕТ, ничего не делалось

Пронумеруем выхлопы, так удобнее.
по п.2 (df -h) вопросов нет.

по п.3 (mount | grep “^/dev”) - вы часом не руками его перебивали? опечатки типа / type ext4 -> /tupe ext4 или (rw, -> (rv, очень на это указывают. Если так, делайте проще:
<команда с параметрами> | wgetpaste на выхлопе даёт ссылку, её и вставляете.

Например:

mount | grep "^/dev" | wgetpaste

http://pastebin.calculate-linux.ru/ru/show/28539

Ещё раз с п.4

ls -l /var

По ходу вы неверно выполнили команду, например включили в неё $ (а это просто приглашение шелла в данном случае.

и ещё раз с п.1

ls -l /var | grep empty

Виктор Кустов писал

вы часом не руками его перебивали?

Каюсь, ручками побаловался :slight_smile: а за wgetpaste Спасибо
вот выхлоп
ls -l /var
http://pastebin.calculate-linux.ru/ru/show/28545
ls -l /var | grep empty
http://pastebin.calculate-linux.ru/ru/show/28544

drwxrwx---  5 nginx nginx 4096 авг 22 09:33 bind
drwxr-xr-x 12 nginx nginx 4096 окт 18 08:11 cache
drwxr-xr-x 12 nginx nginx 4096 окт 17 16:41 calculate
drwxr-xr-x  5 nginx nginx 4096 ноя 16 19:30 db
drwxr-xr-x  2 nginx nginx 4096 июн 10 21:17 empty
drwxr-xr-x 39 nginx nginx 4096 окт 27 07:54 lib
lrwxrwxrwx  1 nginx nginx    9 ноя  8  2013 lock -> /run/lock
drwxr-xr-x 16 nginx nginx 4096 окт 31 08:06 log
lrwxrwxrwx  1 nginx nginx   15 янв 17  2013 mail -> /var/spool/mail
lrwxrwxrwx  1 nginx nginx    4 ноя  8  2013 run -> /run
drwxr-xr-x  7 nginx nginx 4096 мар 31  2016 spool
drwxr-xr-x  2 nginx nginx 4096 ноя 11  2010 state
drwxr-xr-x  3 nginx nginx 4096 окт 18 08:02 svc.d
drwxrwxrwt  2 nginx nginx 4096 окт 17 08:32 tmp
drwxr-xr-x  4 nginx nginx 4096 окт 19 17:06 www

а вот теперь причина кристально ясна: вы ошибочно выполнили команду и всё в /var стало принадлежать пользователю nginx и группе nginx.

chown -R root:root /var ;; chown -R nginx:nginx /var/www

аккуратнее с копипастой и с командами. завтра пофиксим оставшееся.

Спасибо добрый человек !!! все взлетело !

Виктор Кустов писал

вы ошибочно выполнили команду

и где ж я так намутил то ?

Опаньки, рано обрадовался :frowning:

Elsa ~ # cl-info -g unix
 * Ошибка LDAP соединения: Can't contact LDAP server
Elsa ~ # cl-info -g samba
 * Ошибка LDAP соединения: Can't contact LDAP server

и где ж я так намутил то ?

лишний пробел в chown -R nginx:nginx /var /www и всё.

Опаньки, рано обрадовался :frowning:

Да, потому я и говорил, что нужно допиливать. в /var много чего интересного в поддиректориях, что не должно принадлежать root-у. А уж nginx и подавно :slight_smile:

Сравните мой выхлоп и ваш:

 # ls -l /var/spool 
итого 20
drwxr-x---  4 root   cron   4096 ноя 16  2016 cron
drwx--x---  3 root   lp     4096 ноя 21  2010 cups
drwxrwx---  2 jabber jabber 4096 янв 10  2013 jabber
drwxrwxr-x  2 root   mail   4096 янв 17  2013 mail
drwxr-xr-x 17 root   root   4096 июн 19 00:29 postfix

Знания unix у вас немного, я бы рекомендовал заново переставить машинку - именно из этих соображений.

Виктор Кустов писал

я бы рекомендовал заново переставить машинку

Что, так ?

cl-install