Начало работы с sudo

Автор vik, 20 августа 2016, 13:47:53

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

vik

Здравствуйте.
После установки Debian как правильно начать работать с sudo ?

Сначала установить пакет. 
su
apt-get install sudo

a.добавить свою учетную запись в группу sudo.
adduser user sudo
b.su
visudo

пишите в самом конце файла
username ALL=(ALL) NOPASSWD:ALL
с. su
nano -w /etc/sudoers

и пишите в самом конце файла
username ALL=(ALL) NOPASSWD:ALL

Вопросы:
1. Какой вариант правильный(a,b,c) или есть еще другой.  Или надо a и b вместе?

2.Дальше,читал,надо обязательно "перелогиниться и перезагрузиться".
Как это "перелогиниться" ?
su -username      это начать работать с учетной записи username ?

3.Знаю,что при установке правильно будет НЕ отказываться от рута.
Но все-таки, насколько распространено отказывание от рута при установке ОС?
Как поступаете Вы?

dogsleg

Цитата: vik от 20 августа 2016, 13:47:53После установки Debian как правильно начать работать с sudo ?

Правильно начать работу с sudo с чтения документации.

Цитата: vik от 20 августа 2016, 13:47:53username ALL=(ALL) NOPASSWD:ALL

Зачем в таком случае sudo? Это не безопаснее, чем просто работать под root'ом.

Например, с помощью sudo можно сделать так:


Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

Host_Alias      LOCAL = debian

Cmnd_Alias      WPASS = /usr/bin/qemu-system-i386
Cmnd_Alias      PASS = /bin/mount, /bin/umount, /usr/bin/aptitude
Cmnd_Alias      PASSENV = /usr/sbin/debootstrap

root       LOCAL=(ALL:ALL) ALL
vik         LOCAL = NOPASSWD: WPASS, PASSWD: PASS, PASSWD:SETENV: PASSENV


Это позволяет пользователю vik с помощью sudo на машине с именем узла debian
(1) запускать qemu-system-i386 без ввода пароля пользователя;
(2) запускать mount, umount, aptitude с вводом пароля пользователя;
(3) запускать debootstrap с вводом пароля пользователя и сохранением окружения этого пользователя.

Такая настройка будет давать какую-то безопасность, а username ALL=(ALL) NOPASSWD:ALL даёт выполнять пользователю любой файл с правами суперпользователя без ввода пароля, так что если у вас "случайно" запустится что-то типа sudo рм -рф /, то тут уж пеняйте на себя.

Определитесь, какие команды с правами суперпользователя вам нужно запускать, тогда и поймёте как настроить sudo.

vik

#2
Документацию читал,искал в инете,но ответа не нашел.
Про username ALL=(ALL) NOPASSWD:ALL  так и понял,но решил переспросить.
А если    adduser vik sudo ,то тогда ВСЕ команды надо будет выполнять с введением пароля пользователя vik?

dogsleg

#3
Цитата: vik от 20 августа 2016, 15:15:19А если    adduser vik sudo ,то тогда ВСЕ команды надо будет выполнять с введением пароля пользователя vik?

По умолчанию в Debian после установки пакета sudo файл /etc/sudoers содержит следующую строку:

%sudo ALL=(ALL:ALL) ALL

То есть, члены группы sudo могут запускать любую команду на любой машине от лица любого пользователя, но требуется ввод пароля.

На самом деле добавлять пользователя в группу sudo не обязательно, настроить пользователей sudo можно и в /etc/sudoers.

Лучший источник документации по настройке sudo — sudoers(5). Есть даже на русском.

vik

Года 2 работал с Лубунту,никаких проблем не было.
Буду учить.
Последнее:
Если я установлю sudo,то тогда по умолчанию смогу выполнять все команды от  своего имени вводя пароль sudo?
А что по умолчанию останется руту?
Если я единственный пользователь ноута,надо ли тогда при установке вводить пароль рута?

dogsleg

#5
Цитата: vik от 20 августа 2016, 20:43:22Если я установлю sudo,то тогда по умолчанию смогу выполнять все команды от  своего имени вводя пароль sudo?

Если просто установить sudo, то ещё ничего не будет. Нужно либо добавить пользователя в группу sudo, либо в файл /etc/sudoers.

Цитата: vik от 20 августа 2016, 20:43:22А что по умолчанию останется руту?

Никто у суперпользователя ничего не забирает, поэтому останется всё.

Цитата: vik от 20 августа 2016, 20:43:22Если я единственный пользователь ноута,надо ли тогда при установке вводить пароль рута?

Конечно. Вы же будете пользоваться Сетью, какие-нибудь флеш-накопители подключать и проч.? Представьте, вы пользуетесь браузером, в котором есть незакрытая уязвимость (а она есть, и даже не одна), открываете какой-нибудь сайт, исполняется вредоносный код, который выходит из "песочницы" браузера и что-то делает от лица суперпользователя (который у вас паролем не защищён). Получается капут. С безопасностью штука такая: никогда нельзя обезопаситься полностью, но стремиться к этому необходимо. Поэтому и пароль суперпользователю ставьте, и sudoers тонко настраивайте, чтобы ваш пользователь не могу запускать всё подряд, и т. п.

vik

Спасибо. Что-то уже прояснилось. Сложно все это знать.
Достаточно добавить пользователя в группу sudo (adduser vik sudo), su -vik  и можно дальше спокойно работать.Этого достаточно для нормальной безопасности?


dogsleg

Цитата: vik от 20 августа 2016, 23:10:02Достаточно добавить пользователя в группу sudo
Цитата: vik от 20 августа 2016, 23:10:02Этого достаточно для нормальной безопасности?

Я уже писал, что если добавить пользователя в группу sudo, то при прочих настройках по умолчанию этот пользователь сможет выполнять все файлы на всех машинах с правами суперпользователя после ввода своего пароля. Если вы не боитесь за сохранность своего пароля, то делайте так, но помните, что в любой системе много уязвимостей, которые могут использоваться для компрометации вашего пользователя.

ogost

Резюмируя коллегу:
1. Использование группы sudo является наипростейшим вариантом с допустимым уровнем безопасности.
2. visudo - эта команда запускает редактор файла /etc/sudoers, по сути nano -w /etc/sudoers делает то же самое. Различие, разумеется, в выборе редактора.
3. К пункту 2 - если чётко не понимаете что делаете, то лучше в ручную этот файл не трогать, лучше использовать группу sudo.
4. Перелогиниться - это выйти из текущей сессии и войти ещё раз. в случае su - username вы создаете новую сессию в терминале под указанным username. Разница, думаю, налицо.

alsoijw

Цитата: vik от 20 августа 2016, 13:47:53Здравствуйте.
После установки Debian как правильно начать работать с sudo ?
Возможно позно пить боржоми, но: если при установке выбирать дополнительные параметры, то можно не создавать рута, а сразу наделить себя нужными правами.
Цитата: vik от 20 августа 2016, 13:47:533.Знаю,что при установке правильно будет НЕ отказываться от рута.
Подтверждение? В убунте рут залочен, в федоре и дебиане это можно сделать руками.
Цитата: vik от 20 августа 2016, 20:43:22Если я единственный пользователь ноута,надо ли тогда при установке вводить пароль рута?
Это не зависит от количества пользователей.
Цитата: dogsleg от 20 августа 2016, 21:56:54Конечно. Вы же будете пользоваться Сетью, какие-нибудь флеш-накопители подключать и проч.? Представьте, вы пользуетесь браузером, в котором есть незакрытая уязвимость (а она есть, и даже не одна), открываете какой-нибудь сайт, исполняется вредоносный код, который выходит из "песочницы" браузера и что-то делает от лица суперпользователя (который у вас паролем не защищён). Получается капут. С безопасностью штука такая: никогда нельзя обезопаситься полностью, но стремиться к этому необходимо. Поэтому и пароль суперпользователю ставьте, и sudoers тонко настраивайте, чтобы ваш пользователь не могу запускать всё подряд, и т. п.
Не верно. Монтирование более чем можно сделать автоматическим. А атака через выполнение команд из браузера выглядит абсурдной: если у меня залочен рут, то какая разница, установлен ли для него пароль или нет?
vik, рекомендую почитать на досуге.

Цитата: ogost от 21 августа 2016, 06:53:062. visudo - эта команда запускает редактор файла /etc/sudoers, по сути nano -w /etc/sudoers делает то же самое. Различие, разумеется, в выборе редактора.
Не совсем верно. Редактор не зависит от visudo. visudo зависит от редактора
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

vik

alsoijw, Вы говорите,что можно отказаться от рута и безопасность не пострадает? Т.е. при установке отказываюсь от рута (или не ставлю пароль рута) и дальше будет работа с sudo как в Убунту ?

Если установить ОС с рутом,а потом  adduser user sudo, то (если не настраивать /etc/sudoers) какие команды надо будет выполнять с паролем рута?

dogsleg

Цитата: alsoijw от 21 августа 2016, 12:12:51Не верно. Монтирование более чем можно сделать автоматическим.

Я не про монтирование, а даже про простое подключение устройства к USB. Вот, пример уязвимости в ядре linux. При подключении специально сформированного устройства (при простом подключении к порту USB, монтировать не нужно) из-за ошибки в драйвере visor происходит разыменование null-указателя и аварийная остановка системы. Теоретически (сейчас на вскидку не найду такую уязвимость) подключение специально сформированного устройства может вызвать переполнение буфера, а где есть переполнение буфера, там с большой долей вероятности можно выполнить произвольный код. Поэтому простое подключение небезопасного устройства может компрометировать систему.


Цитата: alsoijw от 21 августа 2016, 12:12:51А атака через выполнение команд из браузера выглядит абсурдной: если у меня залочен рут, то какая разница, установлен ли для него пароль или нет?

Если залочен root, то конечно проблемы нет. Тем не менее, если в /etc/sudoers стоит, например, alsoijw ALL=(ALL) NOPASSWD:ALL, то хоть залочен суперпользователь, хоть нет.

alsoijw

Цитата: vik от 21 августа 2016, 12:56:19alsoijw, Вы говорите,что можно отказаться от рута и безопасность не пострадает?
А от чего должна безопасность пострадать?
Цитата: vik от 21 августа 2016, 12:56:19Т.е. при установке отказываюсь от рута (или не ставлю пароль рута)
Давай называть это залочим. Не не поставим пароль, а залочим. То есть залогинится под рутом без его разлочки будет невозможно.
Цитата: vik от 21 августа 2016, 12:56:19Если установить ОС с рутом,а потом  adduser user sudo, то (если не настраивать /etc/sudoers)
Грязный извращенец :). Настройка sudo осуществляется с помощью visudo ВСЕГДА. Остальные способы приводят к САМЫМ РАЗНЫМ, НЕ ПРЕДСКАЗУЕМЫМ ЭФФЕКТАМ.
Цитата: dogsleg от 21 августа 2016, 12:57:17Если залочен root, то конечно проблемы нет. Тем не менее, если в /etc/sudoers стоит, например, alsoijw ALL=(ALL) NOPASSWD:ALL, то хоть залочен суперпользователь, хоть нет
Мы говорим о разных вещах. И разумеется я не использую NOPASSWD.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

vik

Тогда мне,как новичку в  Debian, лучше всего при установке ОС залочить рута (не помню точно как там: есть ли отказаться,или просто пароль не ставить) и можно спокойно работать дальше.
В этом случае не будет ситуаций когда после какой-то команды надо будет ввести пароль рута?    

alsoijw

vik, не должно. В крайнем случае создашь багрепорт.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?