Jump to content
Melandr

Удаляется пользователь после перезагрузки роутера

Recommended Posts

Доброй ночи! Не подскажите по одному вопросу. Правда относится не к роутерам Keenetic, а больше к операционной системе linux. Установил пакет mosquitto . Выдает при вводе команды mosquitto в консоли

:/tmp/home/root# mosquitto
1580677707: mosquitto version 1.6.8 starting
1580677707: Using default config.
1580677707: Opening ipv4 listen socket on port 1883.
1580677707: Opening ipv6 listen socket on port 1883.
1580677707: Error: Invalid user 'mosquitto'.

Добавил скрипт автозапуска mosquitto , но так как пользователь указан mosquito  в конфиге брокера, то брокер не запускается. При добавлении вручную пользователя через команду adduser  и запуск брокера. Все работает. Но после перезагрузки роутера данный пользователь удаляется из файла /opt/etc/passwd и брокер  не запускается. При этом пользователи 
admin:x:0:0:admin:/root:/bin/sh
nas:x:100:100:nas:/dev/null:/dev/null
nobody:x:65534:65534:nobody:/dev/null:/dev/null
остаются в файле. Подскажите, как можно добавить пользователя mosquitto, чтобы он сохранялся после перезагрузки роутера?

  • Confused 1

Share this post


Link to post
Share on other sites

А каким образом этот вопрос связан с развитием ПО? Вы не в тот раздел написали, по существу ответа не будет.

Share this post


Link to post
Share on other sites

А не подскажите, в какой раздел можно написать и можно ли тему перенести. А то еще не разобрался в структуре форума. Спасибо.

Share this post


Link to post
Share on other sites
10 часов назад, Melandr сказал:

Подскажите, как можно добавить пользователя mosquitto, чтобы он сохранялся после перезагрузки роутера?

разобраться с добавлением пользователей

прошивка

~ # cat /etc/passwd 
root:*:0:0:Keenetic Omni, user "root":/:/bin/sh
admin:*:100:1000:Keenetic Omni, user "admin":/tmp/mnt:/bin/sh
nobody:*:65534:65534:Keenetic Omni, user "nobody"::/bin/nologin
~ # 

система пакетов

~ # cat /opt/etc/passwd 
root:$1$6vKOV7zs$d2EqNYGvlBWEYoFD7FFkr0:0:0:Root:/opt/root:/opt/bin/sh
nobody:*:65534:65534:user "nobody"::/opt/bin/nologin
~ # 

 

  • Need more info 1

Share this post


Link to post
Share on other sites

Вот сделал Ваши команды в консоли:

admin@RT-AC66U_B1:/tmp/home/root# cat /etc/passwd
admin:x:0:0:admin:/root:/bin/sh
nas:x:100:100:nas:/dev/null:/dev/null
nobody:x:65534:65534:nobody:/dev/null:/dev/null
mosquitto:x:1000:1000:Linux User,,,:/opt/home/mosquitto:/bin/sh

admin@RT-AC66U_B1:/tmp/home/root# cat /opt/etc/passwd
admin:x:0:0:admin:/root:/bin/sh
nas:x:100:100:nas:/dev/null:/dev/null
nobody:x:65534:65534:nobody:/dev/null:/dev/null
mosquitto:x:1000:1000:Linux User,,,:/opt/home/mosquitto:/bin/sh
admin@RT-AC66U_B1:/tmp/home/root#

Содержимое файлов одинаково.

После перезагрузки роутера

admin@RT-AC66U_B1:/tmp/home/root# cat /etc/passwd
admin:x:0:0:admin:/root:/bin/sh
nas:x:100:100:nas:/dev/null:/dev/null
nobody:x:65534:65534:nobody:/dev/null:/dev/null

admin@RT-AC66U_B1:/tmp/home/root# cat /opt/etc/passwd
admin:x:0:0:admin:/root:/bin/sh
nas:x:100:100:nas:/dev/null:/dev/null
nobody:x:65534:65534:nobody:/dev/null:/dev/null
admin@RT-AC66U_B1:/tmp/home/root#

Советовался на работе с бывалыми линуксоидами, они про раздельных пользователей не слышали. НЕ подскажитее, в какую сторону копать?

Share this post


Link to post
Share on other sites

Для начала расскажите, что там у Вас за $HOSTNAME такой "интересный". Keenetic под А* "косит"?

Share this post


Link to post
Share on other sites

:) Да не кинетик. Не нашел нормального русскоязычного форума по АСУС, а пару моментов у Вас на форуме прочитал интересных при борьбе с Entware. потому и решил спросить Вопрос то больше относится к linux

Share this post


Link to post
Share on other sites

https://github.com/Entware/Entware/wiki/Alternative-install-vs-standard

какой из вариантов?

Share this post


Link to post
Share on other sites

Уу, спасибо. Такой информации не знал. но теперь возникает вопрос. А как проверить, какой у меня тип сценариев установки? 

Вот цитата

Quote

Во многих случаях можно выбрать подходящий скрипт для установки Entware. При стандартной установке все пользователи в Entware и прошивках являются общими.

Очень похоже на мою проблему.

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

Quote

1.  Развертываем Entware командой

wget -O - http://bin.entware.net/armv7sf-k2.6/installer/generic.sh | sh

То есть нужно было указывать на alternative?  Слушайте, Вы мне уже сказали А.  Тогда если не трудно ответить еще на пару вопросов?

1. Можно ли обойти мою проблему не переустанавливая Entware? 

2. Имеет ли какие-то преимущества alternative над standard?

3. Если я не смогу победить эту проблему на standard, перейти на alternative можно только полностью отформатировав флешку и переустановив Entware?

4. 

Quote

ПРИМЕЧАНИЕ 1. Чтобы в полной мере воспользоваться альтернативной установкой, рекомендуется установить версию SSH-сервера Entware (dropbear или openssh-server) и использовать ее на нестандартном порту.

Использую подключение по SSH без установки допjлнительных пакетов, просто включив доступ по SSH в вэб-морде роутера и изменив порт. В процессах видел запущенный dropbear правда по команде opkg list-installed  - dropbear в списке нет

ЗЫ: Спасибо за подсказки.

Edited by Melandr

Share this post


Link to post
Share on other sites
1 час назад, Melandr сказал:

Тогда если не трудно ответить еще на пару вопросов?

 на форуме были ))) а здесь читали? (если я скажу "Б", настанет черед "В", затем - "Г", и далее по алфавиту...)

Share this post


Link to post
Share on other sites

Спасибо, ссылка интересная. есть с чем разбираться.

Правда я по инструкции с этого же сайта установил openssh-server, сгенерировал ключи, создал группу и пользователя. Пытаюсь зайти, а у меня запрашивает пароль, ввожу пароль 12345. Пишет доступ запрещен. Перепробовал известные пароли - не идет. Не подскажите какой пароль должен быть? С учетом того, что при первом подключении мне выдает предупреждение о неизвестных ключах и можно ли им доверять

Share this post


Link to post
Share on other sites
1 минуту назад, Melandr сказал:

Правда я по инструкции с этого же сайта установил openssh-server

На правах гадалки - у Вас не альтернативная, а стандартная установка Entware.

PS На кинетиках и устройствах Android - всегда альтернативная, на других устройствах обычно стандартная, но можно поставить и альтернативную. Можно и стандартную переделать в альтернативную.

Share this post


Link to post
Share on other sites

Да тут и гадать нечего,я у Вас на форуме почитал описание установки Entware и понятно что установка стнадартная. Вопрос в том, я установил openssh, сгенерировал ключи, ключи появились в папке /tmp/opt/etc/ssh

ssh_host_dsa_key
ssh_host_dsa_key.pub
ssh_host_ecdsa_key
ssh_host_ecdsa_key.pub
ssh_host_ed25519_key
ssh_host_ed25519_key.pub
ssh_host_rsa_key
ssh_host_rsa_key.pub
sshd_config
Но при попытке подключения по SSH под пользователем sshd идет запрос пароля, и пароль 12345 не проходит. Просто по Вашей же инструкции необходимо удалить файлы /opt/etc/passwd, /opt/etc/shaddow, /opt/etc/group, /opt/etc/gshadow, /opt/etc/shells и заходить уже не прошивочным ssh, а из пакета. А я им подключиться не могу. Хотя также разрешил доступ root в конфиг файле, но им тоже не заходит

Share this post


Link to post
Share on other sites

1. Я понятия не имею, что такое /tmp/opt/etc/ssh и как это связано со всем остальным на вашем роутере/прошивке.

2.  Там не только удалить файлы нужно....

Вы прочли общие принципы. На конкретном роутере (прошивке) могут быть нюансы.

Share this post


Link to post
Share on other sites

Спасибо за подсказки. Еще один момент. Если я полностью переустановлю Entware со стандартного на альтернативный, смогу ли я подключаться к встроенному  в прошивку SSH-серверу. Так как на всех рекомендациях указано, что нужно установить SSH-сервер из репозитория Entware? В принципе мне было бы достаточно и добавлять пользователя при загрузке, но опять же непонятно  как вводить пароль, если пользователь создается скриптом?

Share this post


Link to post
Share on other sites

Ко встроенному в прошивку SSH серверу можно подключится всегда. SSH сервер из Entware следует использовать на другом (не 22) порту.

SSH сервер из Entware ставить не обязательно. Но с ним удобнее. Пользователи создаются не скриптом, а бинарником /opt/sbin/adduser - создаются они в /opt/etc/passwd. Файл /opt/etc/passwd или настоящий файл, или ссылка на прошивочный - в этом различие установок.

Share this post


Link to post
Share on other sites

TheBBzyxmon. Большое спасибо за помощь. После прочтения указанных Вами статей, перенастроил Entware на альтернативный вариант установки (Удалите файлы (некоторых может не быть) /opt/etc/passwd, /opt/etc/shadow, /opt/etc/group, /opt/etc/gshadow, /opt/etc/shells и скопируйте на их место следующие файлы...). Далее создал необходимого пользователя и перегрузил роутер. После перезагрузки подключился по SSH с действующим логином и паролем прошивочного варианта. Необходимый сервис запустился и работает (mosquitto). Правда через openssh из Entware подключиться не получается, буду еще разбираться. Также еще вопрос остался открытый с mysql. не подскажите, в какой ветке форума можно спрашивать, чтобы не делать "оффтоп"?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...