Bug 48499 - Не открывает файл конфигурации используя sudo
Summary: Не открывает файл конфигурации используя sudo
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: howdy (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Leontiy Volodin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-18 18:23 MSK by Evgeny Shesteperov
Modified: 2023-11-27 17:23 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evgeny Shesteperov 2023-11-18 18:23:50 MSK
Версия

-   howdy-3.0.0-alt10.beta1.gitc5b1766

Шаги воспроизведения

    # apt-get install -y howdy sudo vim-console
    # sed -i 's|# WHEEL_USERS ALL=(ALL:ALL) ALL|WHEEL_USERS ALL=(ALL:ALL) ALL|g' /etc/sudoers
    $ EDITOR=vim sudo howdy config

Ожидаемый результат: открытие файла конфигурации /etc/howdy/config.ini в
редакторе по умолчанию (в данном случае vim).

Фактический результат: ошибка, что нет Nano

    Открытие config.ini в редакторе по умолчанию
    Traceback (most recent call last):
      File "/usr/libexec/howdy/cli.py", line 102, in <module>
        import cli.config
      File "/usr/libexec/howdy/cli/config.py", line 23, in <module>
        subprocess.call([editor, paths_factory.config_file_path()])
      File "/usr/lib64/python3.9/subprocess.py", line 349, in call
        with Popen(*popenargs, **kwargs) as p:
      File "/usr/lib64/python3.9/subprocess.py", line 951, in __init__
        self._execute_child(args, executable, preexec_fn, close_fds,
      File "/usr/lib64/python3.9/subprocess.py", line 1821, in _execute_child
        raise child_exception_type(errno_num, err_msg, err_filename)
    FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/nano'

Игнорирует $EDITOR. Если запускать, например, так, то всё работает:

    # EDITOR=vim howdy config --user test
Comment 1 Anton Golubev 2023-11-27 17:23:34 MSK
Скорее всего у вас окружение не пробрасывается в sudo. Либо запускайте sudo -E, либо поправьте /etc/sudoers

# sed -i 's|#Defaults:WHEEL_USERS !env_reset|Defaults:WHEEL_USERS !env_reset|g'