Jump to content

Не работает visudo


Recommended Posts

Установил Entware-3x. Установил пакеты mc и sudo. Пытаюсь поправить sudoers. Получаю

bash-4.4# EDITOR=mcedit visudo
visudo: no editor found (editor path = /bin/vi)
bash-4.4# type vi
vi is hashed (/opt/bin/vi)
bash-4.4# type mcedit
mcedit is hashed (/opt/bin/mcedit)
bash-4.4# ln -s /opt/bin/vi /bin/vi
ln: /bin/vi: Read-only file system
# ls -l /opt/etc/sudoers
-r--r-----    1 root     root          3182 Dec 25 01:20 /opt/etc/sudoers

Как сделать символическую ссылку для /bin/vi из /opt/bin/vi, так чтобы она сохранялась при перезагрузке роутера. Или может быть лучше пересобрать пакет sudo?

Link to comment
Share on other sites

8 минут назад, mkh сказал:

Как сделать символическую ссылку для /bin/vi из /opt/bin/vi

Вам уже ответили - никак, т.к. "

Read-only file system
8 минут назад, mkh сказал:

Или может быть лучше пересобрать пакет sudo?

Ради бога, пересоберите. Мы давно хотим вообще выкинуть вместе с shadow* пакетами, а тут Вы до ума доведете. Ждем PR на гитхабе.

PS Чем большее число раз Вы повторяете свой вопрос, тем меньше Вам доверия.

Link to comment
Share on other sites

Я браво скажу, я попробую пропатчить исходники. На github я обнаружил несколько вариантов Entware-3x. От какого лучше форкаться?

Link to comment
Share on other sites

Entware-3x

-bash-4.4$ git clone  https://github.com/Entware-for-kernel-3x/Entware-ng-3x
Cloning into 'Entware-ng-3x'...
fatal: Unable to find remote helper for 'https'

Правильно ли я понимаю, что проблема в том, что git в  Entware-3x собран без curl?

Edited by mkh
Link to comment
Share on other sites

Вы хотите сказать, что наличие средств разработки в пакетах - это иллюзия или что sudo такая большая программа что будет бесконечно долго компилироваться? Я же не ядро собираюсь собирать.

Link to comment
Share on other sites

Для того чтобы работал visudo надо подправить значение #define  _PATH_VI в файле /opt/include/paths.h пакета gcc или в файле pathnames.h пакета sudo. Для того чтобы можно было указать свой редактор надо запускать configure с ключиком --with-env-editor

У меня это выглядело так:

SENDMAILPROG=/opt/bin/msmtp  VIPROG=/opt/bin/vi  MVPROG=/opt/bin/mv BSHELLPROG=/opt/bin/bash    ./configure --prefix=/opt --sysconfdir=/opt/etc --enable-static-sudoers --enable-zlib --disable-root-mailer --enable-noargs-shell  --enable-shell-sets-home  --enable-env-debug --with-env-editor

 

Edited by mkh
Link to comment
Share on other sites

1 час назад, mkh сказал:

Там все очевидно

Судя по тому, что Вы предлагаете - нет. Одно решение совершенно далеко от возможного решения, второе - .... Я еще и shadow* просил изучить....

Link to comment
Share on other sites

Я Ваших намеков насчет shadow не понимаю, не могли бы высказаться яснее. Что касается sudo, на мой взгляд ошибка в  pathnames.h.in, но ее должен исправить автор sudo. Я не умею готовить файлы для autoconf, поэтому предлагать исправления для него не рискну. Проблема в том, что если в paths.h определен  define для _PATH_VI, значение переменной окружения VIPROG в configure не будет использоваться. Самый простой способ исправления этой ошибки написать правильный путь paths.h. Тем более, что некоторые пути там уже поправлены.

Edited by mkh
Link to comment
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.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...