Я создаю сценарий оболочки, которому необходимо обновить файл sudoers. В общем, я хочу добавить ": / usr / local / bin /" к следующему тексту в / etc / sudoers:
безопасный_путь = / sbin: / bin: / usr / sbin: / usr / bin
Мне нужно использовать sudo в команде, чтобы получить разрешения на изменение. Есть идеи, как я могу это сделать?
Так много способов!
Старый режим ожидания - sed: sed 's/\(secure_path.*\)/\1:\/usr\/local\/bin/' /etc/sudoers
Скрипты в vim
может делать и продвинутые вещи. Любой процесс, который вы вводите в vim, можно сохранить в сценарий vim и воспроизвести.
Новейший инструмент, который действительно удобен для этого, - Augueas. Он часто используется с Puppet и структурирован вокруг редактирования файлов в структурированном виде. Таким образом, он осведомлен о контексте и иерархиях в текстовом файле.
лучше всего использовать: sed - редактор потока для фильтрации и преобразования текста