Для Ubuntu вы должны очень сильно избегать редактирования /etc/sudoersпри любых условиях. Вместо этого добавьте фрагменты конфигурации в /etc/sudoers.dкаталог. Использование папки фрагментов упрощает обновление, поскольку вы изменили conffile.
Зоредаче
@Zoredache - отличный момент. Вас волнует, добавлю ли я это в свой ответ? Я не хочу брать кредит за это, но этот совет должен где-то жить в ответе на случай, если боги комментария обстреляют это по какой-то причине.
EEAA
2
@EEAA, я даю вам разрешение на использование вышеизложенного и любые другие комментарии, которые я публикую, чтобы объединить их с реальными ответами. Я добавляю комментарии, потому что я слишком ленив / занят, чтобы добавить полный ответ, но я не против, если люди примут мои комментарии и интегрируют их в полный хороший ответ.
Зоредаче
Ответы:
19
Если вы можете избежать этого, никогда не предоставляйте привилегии sudo отдельным пользователям. Всегда предоставляйте привилегии группе, а затем добавляйте пользователей в эту группу.
Для серверов на основе Ubuntu вместо добавления строк /etc/sudoersдобавьте фрагменты файла конфигурации в /etc/sudoers.d. Это более гибко, проще для понимания, более устойчиво при обновлении и лучше работает с системами, управляемыми системами управления конфигурациями.
ПРИМЕЧАНИЕ: никогда не редактируйте /etc/sudoersнапрямую. Вместо этого используйте команду visudo, которая будет выполнять синтаксическую проверку ваших изменений, предотвращая нарушение вашей конфигурации sudo с неверным синтаксисом.
аааа ... я думал, что вы имеете в видуusermod -a -G sudo
Flak DiNenno
+1 за предупреждение об использовании visudo вместо прямого редактирования
Flak DiNenno
Хороший вопрос о visudo. Некоторые люди не понимают, что есть причина, /etc/sudoersпомеченная как доступная только для чтения.
ub3rst4r
9
Я только что нашел этот маленький кусочек ... кажется, вам нужно быть особенно осторожным при использовании -Gопции в Ubuntu, в частности, в -gопции комбинации . Так:
Используйте usermod -aGдля добавления пользователя (ей) в группу.
Затем, как предложила @EEAA , добавьте группу в файл / etc / sudoers с помощью $ sudovisudoкоманды (автоматически вызывает привилегированный редактор с проверкой синтаксиса).
«Я читаю « Командную строку Linux и Библию сценариев »Wiley, и они сказали, что usermod -G« добавляет »группу к любой изменяемой учетной записи пользователя. Я обнаружил, что в Ubuntu это неверно, не знаю, отличается ли оно от других дистрибутивов, или опечатка в книге. Он удаляет вас из КАЖДОЙ другой группы, к которой вы принадлежите, за исключением группы пользователей по умолчанию (измененной параметром -g). Мне удалось удалить себя из группы администраторов и больше не мог ничего судить. Слава Богу за режим восстановления ...
может ли downvoter быть любезным, чтобы обеспечить некоторую конструктивную критику здесь. ТИА.
Flak DiNenno
Я не отрицал вас, но ваш «ответ» на самом деле не отвечает на заданный вопрос. Это довольно строгий сайт вопросов и ответов, и мы обычно ожидаем, что ответы будут направлены непосредственно на заданный вопрос. Кстати, да, я знаю, что вы в некоторой степени решаете вопрос, но ваш «ответ» кажется наиболее говорящим: «Делайте то, что сказал EEAA», но имейте в виду эту странную причину.
Зоредаче
@Zoredache спасибо, что нашли время. Разве шаги 1 и 2 не дают четких указаний для «предпочтительного метода предоставления sudo»? Что спрашивает ОП?
Flak DiNenno
1
Вы не говорите нам, насколько велика ваша среда, но если это более одного компьютера, вы также можете рассмотреть возможность настройки sudoс использованием LDAP, альтернативы локальному редактированию sudoers (либо с visudoпомощью /etc/sudoers.dметода фрагментов, либо с помощью метода фрагментов).
Конфигурация LDAP - это проверенный способ убедиться, что несколько компьютеров имеют одинаковую sudoконфигурацию, и представляет собой удобную унифицированную среду (с централизованным управлением важным механизмом авторизации). В качестве бонуса, если вы уже используете LDAP (или AD) для аутентификации / авторизации в своей среде, вы можете воспользоваться существующей инфраструктурой (и если вы этого не сделаете, вы должны серьезно рассмотреть ее - централизация имеет много преимуществ).
Все, что люди уже сказали в других ответах о создании авторизованных групп, остается в силе - это проще, когда вы расширяете масштаб, чтобы предоставить привилегии группе и управлять членством в группе, чем заниматься управлением правами для отдельных пользователей.
/etc/sudoers
при любых условиях. Вместо этого добавьте фрагменты конфигурации в/etc/sudoers.d
каталог. Использование папки фрагментов упрощает обновление, поскольку вы изменили conffile.Ответы:
Если вы можете избежать этого, никогда не предоставляйте привилегии sudo отдельным пользователям. Всегда предоставляйте привилегии группе, а затем добавляйте пользователей в эту группу.
Для серверов на основе Ubuntu вместо добавления строк
/etc/sudoers
добавьте фрагменты файла конфигурации в/etc/sudoers.d
. Это более гибко, проще для понимания, более устойчиво при обновлении и лучше работает с системами, управляемыми системами управления конфигурациями.ПРИМЕЧАНИЕ: никогда не редактируйте
/etc/sudoers
напрямую. Вместо этого используйте командуvisudo
, которая будет выполнять синтаксическую проверку ваших изменений, предотвращая нарушение вашей конфигурации sudo с неверным синтаксисом.источник
/etc/sudoers
?usermod -a -G sudo
visudo
. Некоторые люди не понимают, что есть причина,/etc/sudoers
помеченная как доступная только для чтения.Я только что нашел этот маленький кусочек ... кажется, вам нужно быть особенно осторожным при использовании
-G
опции в Ubuntu, в частности, в-g
опции комбинации . Так:usermod -aG
для добавления пользователя (ей) в группу.$ sudo
visudo
команды (автоматически вызывает привилегированный редактор с проверкой синтаксиса).Вот информация об этой
-aG
опции в Ubuntu, взятая здесь http://ubuntuforums.org/showthread.php?t=1240477 :источник
Вы не говорите нам, насколько велика ваша среда, но если это более одного компьютера, вы также можете рассмотреть возможность настройки
sudo
с использованием LDAP, альтернативы локальному редактированию sudoers (либо сvisudo
помощью/etc/sudoers.d
метода фрагментов, либо с помощью метода фрагментов).Конфигурация LDAP - это проверенный способ убедиться, что несколько компьютеров имеют одинаковую
sudo
конфигурацию, и представляет собой удобную унифицированную среду (с централизованным управлением важным механизмом авторизации). В качестве бонуса, если вы уже используете LDAP (или AD) для аутентификации / авторизации в своей среде, вы можете воспользоваться существующей инфраструктурой (и если вы этого не сделаете, вы должны серьезно рассмотреть ее - централизация имеет много преимуществ).Все, что люди уже сказали в других ответах о создании авторизованных групп, остается в силе - это проще, когда вы расширяете масштаб, чтобы предоставить привилегии группе и управлять членством в группе, чем заниматься управлением правами для отдельных пользователей.
источник