Страница 1 из 1
sudo visudo отредактировать права доступа sudo
Добавлено: 25 мар 2025, 12:26
ya
sudo -E EDITOR=mcedit visudo
Код: Выделить всё
username ALL=(ALL) NOPASSWD: /path/to/some_command
Вы также можете установить переменные окружения на постоянной основе, добавив их в файл конфигурации вашей оболочки (например, ~/.bashrc или ~/.bash_profile для bash). Например, добавьте следующую строку в файл:
Re: sudo visudo отредактировать права доступа sudo
Добавлено: 25 мар 2025, 12:32
ya
Чтобы найти полный путь до программы или исполняемого файла
which <имя_программы>
Re: sudo visudo отредактировать права доступа sudo
Добавлено: 03 янв 2026, 21:38
ya
добавить в начало конфига
visudo чтобы исправить редактор
/etc/sudo.conf
Re: sudo visudo отредактировать права доступа sudo
Добавлено: 03 янв 2026, 21:45
ya
sudo по-умолчанию
sudo Без запроса пароля
Для группы используйте
Альтернативный способ – отдельный файл в /etc/sudoers.d
Вставьте ту же строку username ALL=(ALL) NOPASSWD: ALL и сохраните
Код: Выделить всё
sudo nano /etc/sudoers.d/username
sudo chmod 644 /etc/sudoers.d/username
Re: sudo visudo отредактировать права доступа sudo
Добавлено: 03 янв 2026, 21:50
ya
Если нужно убрать запрос пароля только для определённых программ
Код: Выделить всё
vasya ALL=(ALL) NOPASSWD: /usr/bin/apt, /sbin/reboot, /usr/local/bin/myprog
местоположение программы можно узнать командой
Re: sudo visudo отредактировать права доступа sudo
Добавлено: 01 фев 2026, 01:06
ya
Порядок строк имеет значение: sudo читает файл сверху вниз. Если в конце файла есть общая настройка для всех пользователей, требующая пароль, она может перезаписать ваше правило. Поэтому всегда добавляйте свои правки в самый конец файла.
Использование поддиректории: Вместо прямой правки /etc/sudoers, лучше создать отдельный файл в директории /etc/sudoers.d/. Это чище и безопаснее при обновлениях системы:
Создайте файл: sudo visudo -f /etc/sudoers.d/ansible
Пропишите туда: ansible-worker ALL=(ALL) NOPASSWD: ALL
Настройка в Ansible: Не забудьте, что в самом Ansible (в ansible.cfg или в playbook) при использовании become: yes метод по умолчанию — sudo. Если вы настроили NOPASSWD, вам больше не нужно передавать аргумент --ask-become-pass (или -K).
повышение привилегий ansible
-b повышает привилегии
-K запрашивает пароль на повышение привилегий
Re: sudo visudo отредактировать права доступа sudo
Добавлено: 01 фев 2026, 01:16
ya
Если вы пишете Playbook и хотите увидеть имя пользователя в процессе выполнения, используйте встроенные факты:
Код: Выделить всё
- name: Проверка имен пользователей
hosts: all
tasks:
- name: Вывести имя пользователя SSH
debug:
msg: "Подключаюсь как {{ ansible_user | default(ansible_env.USER) }}"
- name: Вывести имя пользователя после become
debug:
var: ansible_real_user_id
Переменная Что содержит
ansible_user Имя пользователя, указанное в инвентаре для подключения.
ansible_env.USER Имя пользователя в окружении удаленной системы.
remote_user Системная переменная текущей сессии (в рамках задачи).
Re: sudo visudo отредактировать права доступа sudo
Добавлено: 01 фев 2026, 01:20
ya
Ansible ищет имя пользователя в следующем порядке приоритета (от высшего к низшему):
Флаги в командной строке: Параметр -u <user> (например, ansible-playbook -u admin).
Переменные в Inventory: В вашем файле hosts или hosts.yml может быть строка ansible_user=имя.
Конфигурация в ansible.cfg: Секция remote_user.
Настройки SSH: Если в Ansible ничего не указано, он посмотрит в ваш ~/.ssh/config.
Текущий пользователь системы: Если нигде ничего не найдено, Ansible попытается подключиться под тем же именем, под которым вы вошли в систему на своей локальной машине.