Sudo: настройка файла /etc/sudoers
Данная статья – это продолжение темы, посвящённой утилите sudo , начатой материалами, знакомящими с данной командой и некоторыми её опциями. Ниже попробуем рассказать о настройках утилиты sudo , которые могут применяться в её отношении.
Настройки sudo по большей части находятся в файле /etc/sudoers . Для внесения изменений в этот файл крайне нежелательно использовать обычный редактор текста. Дело в том, что некорректный синтаксис файла sudoers запросто может навредить операционной системе в части повышения уровня полномочий учётных записей и их действий. Для редактирования файла sudoers существует специальная команда – visudo . Данная команда использует штатный текстовый редактор, но при сохранении внесённых в файл изменений производит проверку синтаксиса.
Здесь есть один интересный момент. Команда visudo обычно использует текстовый редактор vi . Но, например, в Ubuntu visudo открывает файл при помощи nano . И, несмотря на это, операционная система сохраняет возможность заменить использующийся редактор. В Ubuntu команда для изменения редактора выглядит следующим образом:
$ sudo update-alternatives --config editor
Здесь нужно просто ввести соответствующую цифру, либо нажать , чтобы не вносить изменений:
Содержимое файла /etc/sudoers
Теперь давайте рассмотрим некоторые настройки, содержащиеся в файле /etc/sudoers .
Во-первых, строка Defaults env_reset отвечает за сброс терминальной среды с целью удалить переменные пользователя. Такая мера безопасности применяется для ликвидации потенциально опасного воздействия переменных среды в сессии sudo .
Во-вторых, строка Defaults secure_path задаёт значение для переменной PATH . Такой путь для приложений используется утилитой sudo для выполнения операций. Это позволяет защитить систему от использования пользовательских путей, которые могут быть потенциально опасными.
Далее, в файле /etc/sudoers есть строка, определяющая полномочия sudo для учётной записи root .
В этой записи первое значение ALL указывает на то, что описанное правило будет применено ко всем хостам. Второе значение ALL указывает на то, что учётная запись root может выполнять команды от имени любого пользователя. Третье значение ALL говорит о том, что учётная запись root может выполнять команды от имени любой группы. И, наконец, последнее значение ALL указывает на то, что данное правило применяется ко всем выполняемым командам.
Также, рассматриваемый файл содержит строку, задающую правила полномочий sudo для групп.
Имена, которые начинаются со знака % , указывают на то, что речь идёт именно о названиях групп, а не об именах учётных записей. В остальном данная настройка идентична тому, как это описано в отношении пользователей.
Есть в файле /etc/sudoers настройка, которая выглядит как комментарий.
Несмотря на то, что строка с параметром includedir начинается со знака # , комментарием данная строка не является. Этот параметр указывает на то, что файлы, находящиеся в директории /etc/sudoers.d , также применяются для настройки полномочий sudo . Файлы в этом каталоге создаются в основном для того, чтобы определённые пользователи могли запускать определённые команды с использованием привилегий sudo . Данные файлы, также как и файл /etc/sudoers , необходимо редактировать командой visudo . Например, для того, чтобы отредактировать файл /etc/sudoers.d/mysettingsfile , следует применить следующую конструкцию:
$ sudo visudo -f /etc/sudoers.d/mysettingsfile
Использование псевдонимов
При организации данных по разным пользователям и группам в файле /etc/sudoers полезно использование различных псевдонимов. Вот так выглядят записи в /etc/sudoers , соответствующие трём разным группам пользователей:
User_Alias GROUPA = user1, user2, user3 User_Alias GROUPB = user4, user5, user3 User_Alias GROUPC = user1, user4, user5
Важно помнить, что названия групп должны начинаться с заглавной буквы. Следующей строкой для членов группы GROUPA мы дадим разрешение на запуск обновления базы данных apt :
GROUPA ALL = /usr/bin/apt update
Подобным же образом мы можем дать участникам группы GROUPC разрешение на перезагрузку операционной системы. Для этого необходимо создать псевдоним, содержащий команды на перезагрузку системы. Такой псевдоним мы назовём, например, RSTRT . После чего участникам группы GROUPC нужно будет выдать разрешение на запуск этих команд.
Cmnd_Alias RSTRT = /sbin/restart, /sbin/reboot GROUPC ALL= RSTRT
В файле /etc/sudoers существует возможность контролировать реакцию утилиты sudo при её вызове. Например, вы можете разрешить пользователям выполнять какую-либо команду с использованием полномочий root , но без необходимости пользователю вводить свой пароль. Для таких случаев применяется опция NOPASSWD . Так будет выглядеть запись в /etc/sudoers , разрешающая запуск команды apt update участникам группы GROUPB :
GROUPB ALL = NOPASSWD: /usr/bin/apt update
И кстати, в /etc/sudoers есть настройка, позволяющая изменить количество неправильных попыток ввода пароля при выполнении команды sudo . По умолчанию таких попыток разрешено 3. Но если есть желание увеличить из количество, допустим, до четырёх, то такая настройка будет выглядеть как:
Там же вы можете изменить фразу, с помощью которой система сообщает вам о неверно набранном пароле при запуске sudo :
Defaults badpass_message="Your password is not correct!"
И эту фразу пользователь будет видеть вместо стандартной Sorry, try again.
Вместо заключения
Файл /etc/sudoers является очень мощным инструментом настройки функционирования системы. В этой ознакомительной статье мы лишь вкратце коснулись данной темы. Ну, а поскольку вы теперь знаете, что такие настройки возможны, глубину их изучения определять именно вам. Ведь применять или не применять их в работе с Linux-системами, решаете вы.
sudo и Администраторы домена, Windows
Доброго времени суток,
Рассматриваю вариант интеграции Astra linux на предприятии.
Ввел в домен под управлением Windows Server, без проблем.
Попытался получить sudo под пользователем из группы «Администраторы домена», система сообщила, что этого пользователя нет в фале sudoers. Перекопал интернет, решений много, но результатов не дало.
Прошу помощи с настройкой выдачи прав sudo пользователям, этой группы.
Также есть ряд вопросов.
.Сейчас использую RAdmin, есть ли аналог для Astra linux, с возможностью смены пользователя (тоесть осуществить выход из системы одним пользователей и вход под другим, удаленно)
.Есть принтеры и МФУ, HP, Samsung, Konika Minolta, Xerox, от старых моделей (10 летней давности) до современных. Подключенных как локальной сети на прямую, так и «расшарены» в сеть через подключение к компьютеру.
.Подозреваю, будет потребность работы Wine
Все ли это удастся реализовать?
OIvanov
New member
Доброго времени суток,
Рассматриваю вариант интеграции Astra linux на предприятии.
Ввел в домен под управлением Windows Server, без проблем.
Попытался получить sudo под пользователем из группы «Администраторы домена», система сообщила, что этого пользователя нет в фале sudoers. Перекопал интернет, решений много, но результатов не дало.
Прошу помощи с настройкой выдачи прав sudo пользователям, этой группы.
Также есть ряд вопросов.
.Сейчас использую RAdmin, есть ли аналог для Astra linux, с возможностью смены пользователя (тоесть осуществить выход из системы одним пользователей и вход под другим, удаленно)
.Есть принтеры и МФУ, HP, Samsung, Konika Minolta, Xerox, от старых моделей (10 летней давности) до современных. Подключенных как локальной сети на прямую, так и «расшарены» в сеть через подключение к компьютеру.
.Подозреваю, будет потребность работы Wine
Все ли это удастся реализовать?
А зачем всем пользователям админские права? Права sudo можно получать командой su username (с привилегиями astra-admin)
В качестве RAdmin не подойдёт ли xrdp? Удалённый рабочий стол виндовый.
vic-tor
New member
А зачем всем пользователям админские права? Права sudo можно получать командой su username (с привилегиями astra-admin)
В качестве RAdmin не подойдёт ли xrdp? Удалённый рабочий стол виндовый.
Не всем пользователям, а только членам группы «Администраторы домена». Хотя рассмотрю этот вариант. Но все же хочу понять как это реализовать.
xrdp — позволяет совместно с пользователем компьютера работать?
3d3
New member
Разработчик крайне негативно относятся к этим виндузятникам так что забудьте!
Часть функций администрирования не работает, вы не увидите действия пользователя. У меня завелся x11vnc для того чтобы видеть рабочий стол пользователя и его действия.
vic-tor
New member
Часть функций администрирования не работает, вы не увидите действия пользователя. У меня завелся x11vnc для того чтобы видеть рабочий стол пользователя и его действия.
3d3
New member
Хреново, есть софт, которого под linux нет
x11vnc — можно подключится чтобы ввесли логин и пароль на экране входа пользователя?
У меня отваливается соединение при выходе из пользователя, но после пере подключения можно заходить под другим пользователем.
https://forum.astralinux.ru/threads/1086/post-5607
vic-tor
New member
У меня отваливается соединение при выходе из пользователя, но после пере подключения можно заходить под другим пользователем.
https://forum.astralinux.ru/threads/1086/post-5607
Скажите, у вас есть опыт интеграции сего дистрибутива, в предприятиях?. Хотелось бы опыт узнать
3d3
New member
Опыта нет. Обучения нет, Опыт работы с линкус небольшой, но его больше чем у коллег. Сейчаc сам пытаюсь отработать разворачивания небольшого бизнес центра на десяток машин с принтерами hp и xerox. Поставленные задачи не большие — это полный удаленный контроль, доступ в интернет и возможность печати из чего то напоминающего православный микрософт оффис, есть желание поставить МойОфис но пока себя сдерживаю . Начальство подкидывает идеи типа скайпа (с вопросами решена), оригинальный акробатридер (не решена и похоже не будет решена), запуск программ через вайн (не решена и похоже не будет решена) но это второстепенные задачи и моя позиция пусть мажеры мучаются, так как в описании бизнес центра будет упоминание что используется отечественное программное обеспечение во всей своей «первозданной дикой необъезженной красоте».
vic-tor
New member
Опыта нет. Обучения нет, Опыт работы с линкус небольшой, но его больше чем у коллег. Сейчасм сам пытаюсь отработать разворачивания небольшого бизнес центра на десяток машин с принтерами hp и xerox. Поставленные задачи не большие — это полный удаленный контроль, доступ в интернет и возможность печати из чего то напоминающего православный микрософт оффис, есть желание поставить МойОфис но пока себя сдерживаю . Начальство подкидывает идеи типа скайпа (с вопросами решена), оригинальный акробатридер (не решена и похоже не будет решена), запуск программ через вайн (не решена и похоже не будет решена) но это второстепенные задачи и моя позиция пусть мажеры мучаются, так как в описании бизнес центра будет упоминание что используется отечественное программное обеспечение во всей своей «первозданной дикой необъезженной красоте».
Хочется говорить на исконно русском, но воспитание не позволяет, да и админы будут не в восторге.
Мне вот, организация на 3 000 людей светит. Windows AD, PROXY, сеть 3 уровня. Полный привет.
Поставлена цель найти Linux решение, и началось . .
Сейчас ищу подходящую систему, по обертке Astra вроде порадовала, а как распаковал, посыпался вопросами.