Какой самый простой способ или метод автоматизации добавления пользователя в новый файл Sudoers?
Вопрос
Итак, я Adduser'ed Micronxd. Я прохожу Micronxd. Теперь я хочу сделать Micronxd пользователем Sudo.
Я пытаюсь упаковать как можно большую часть этого процесса в скрипт оболочки. Если возможно, может ли решение включить Sed'sizing файла Sudoers? Я хотел бы получить действительно сильное понимание этого чудовищного маленького самородка (SED).
Решение
А sudoers
Файл действительно должен быть отредактирован только с помощью visudo(8)
.
Тем не менее, возможно, вам следует просто добавить micronxd
в wheel
группа при добавлении micronxd
Пользователь, (см. adduser(8) --add_extra_groups
опция), а затем добавьте эту линию в sudoers
(с помощью visudo(8)
:) :
%wheel ALL=(ALL) ALL
Теперь каждый пользователь, которого вы создаете с основной группой или дополнительной группой wheel
получает sudo
доступ автоматически. Возможно, вам никогда не понадобится редактировать sudoers
файл снова.
(Обратите внимание, что вы можете легко добавить любого, кого хотите. wheel
группа; vigr(8)
, Найди wheel
Группа и добавьте их имя входа в строку. Используйте запятые, чтобы отделить имена пользователей.)
Другие советы
ХОРОШО, ХОРОШО, ХОРОШО! Я полностью понял. Это может быть немного чрезмерным, но я не уверен, что файлы Sudoers одинаковы в различных дистрибуциях.
Я нашел документацию на буфере для удержания для SED здесь: http://anaturb.net/sed.htm
и по команде X для SED здесь: http://www.kingcomputerservices.com/unix_101/hands_off_editing_with_sed_part_2.htm
И я придумал это:sed -e '/^root/{h;}' -e 'x' -e 's/root/micronxd/' -e 'x' -e '/^root/G' -e 'wsudoers' sudoers
Вот разрушение 6 шагов:
1.
'/^root/{h;}'
находит некомментированные линии, начиная с корень, и заменяет удерживающий буфер с ним.
- Обычный буфер SED: [весь файл Sudoers
- удерживающий буфер: root all = (все) все
2.
'Икс'
Поменяется удерживающим буфером регулярным буфером «быть sed'd».
- Обычный буфер SED: root all = (все) все
- Удерживание буфера: [весь файл Sudoers
3.
s/root/micronxd/'
заменяет корень на micronxd
- Обычный буфер SED: micronxd все = (все) все
- Удерживание буфера: [весь файл Sudoers
4.
'Икс'
Опять же, обменивается удерживающим буфером регулярным буфером «быть SED'D».
- Обычный буфер SED: [весь файл Sudoers
- удерживающий буфер: micronxd все = (все) все
5.
'/^root/g'
G добавляет буфер удержания после соответствия линии ^корень.
- Обычный буфер SED (только соответствующие биты):
##
Разрешить root all = (все) для запуска любых команд в любом месте
root all = (все) все
micronxd все = (все) все
- удерживающий буфер: micronxd все = (все) все
6.
'wsudoers'
пишет обычный буфер SED обратно в Sudoers
Я уверен, что есть лучший способ, но я пытаюсь повесить Сед. Плюс, я не был уверен, если user MACHINE=COMMANDS ????
является синтаксисом для всех систем Linux или просто Fedora (с чем я имею дело).
В любом случае, я рад видеть другие способы (особенно лучшие способы).