1

Тема навеяна с других форумов и обсуждений в инете, но здесь я хочу просто обсудить что это за команды, так сказать "разжевать" их значение до полного понимания, особенно новичкам.
Для начала.

Алексей Федорчук пишет:

Команда su — традиционный способ получения прав администратора внутри сеанса обычного пользователя (независимо, консольного или Иксового). Насколько я знаю, она испокон веков существует во всех POSIX-совместимых системах. Её GNU-версия, используемая в Linux, входит в состав пакета coreutils.

Имя этой команды иногда трактуют как аббревиатуру от Super User, но на самом деле оно означает Set UID, потому что она позволяет получить права не только администратора, но и любого другого пользователя — достаточно указать его имя в качестве аргумента:

$ su username

Команда su и Утилиты sudo, visudo и sudoedit

Алексей Федорчук пишет:

Итак, sudo — это программа для получения прав суперпользователя (или любого иного пользователя), подобная su. Основных отличий от последней — два:

    во-первых, sudo по умолчанию требует указания пароля того пользователя, который получает права другого, а не пароля того, чьи права приобретаются; правда, это может быть изменено;
    Во-вторых, действие sudo распространяется по умолчанию только на одну команду — ту, которая указывается в качестве ее аргумента; хотя и такое поведение можно изменить с помощью соответствующих опций, о чём будет сказано позднее.

Этим достигается две цели: а) возможность выполнения пользователем административных действий без сообщения ему суперпользовательского пароля, и б) снижение риска повредить систему вследствие забывчивости. Да, есть еще и третья, дополнительная возможность, предоставляемая sudo — протоколирование действий, позволяющее определить, в результате чего система рухнула.

В элементарном виде применение команды sudo — элементарно же просто: требуется лишь указать в качестве ее аргумента имя команды, требующей исполнения, со всеми необходимыми последней опциями и аргументами. После этого запрашивается пароль запустившего её пользователя — и команда исполняется.

Так же мне очень понравилась статья с Хабра "su или sudo?"

Хабр пишет:

команда su
Исторически единственным универсальным способом выполнить команду от имени другого пользователя в Unix была программа su. Запущенная без параметров, она запрашивала пароль суперпользователя и в случае успеха просто подменяла текущее имя пользователя на root, оставляя почти все переменные окружения от старого пользователя (кроме PATH, USER и еще пары-тройки, см. man su от своего дистрибутива). Более корректно было запускать ее как su - — в таком случае оболочка получала также и правильный environment. С параметром -c можно было выполнить команду: su -c "vim /etc/fstab".

При этом доверенным пользователям приходилось помнить пароль root'а и у всех пользователей, перечисленных в группе «wheel» (т.е. в группе, члены которой могли выполнить команду su и стать суперпользователем), был одинаковый неограниченный доступ ко всей системе, что являлось серьёзной проблемой безопасности.

Хабр пишет:

команда sudo
Затем появилась команда sudo, и это был прорыв. Теперь администратор мог указывать список разрешенных команд для каждого пользователя (или группы пользователей), файлы, доступные для редактирования, специальные переменные окружения и многое другое (все это великолепие управляется из /etc/sudoers, см. man sudoers от своего дистрибутива). При запуске sudo спрашивает у пользователя его собственный пароль, а не пароль root. Полноценный шелл можно получить с помощью "sudo -i"

Стоит особо упомянуть о специальной команде sudoedit, безопасно запускающей редактор, указанный в переменной окружения $EDITOR. При более традиционной схеме редактирование файлов производилось примерно так:

sudo vi /etc/fstab

Хабр пишет:

В Debian-based дистрибутивах пользователь root не имеет пароля, вместо этого все административные действия должны производиться через sudo или его графический аналог gksudo. Являясь полной заменой su, sudo должна бы быть единственной командой переключения между пользователями, однако, как было сказано вначале, в настоящий момент это не так и все зачем-то изобретают дикие последовательности из sudo, su, vi и черточек.

2

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

3 (2019-12-19 16:17:15 отредактировано TopE)

algri14⇓ пишет:

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

только от неправильной настройки sudo может такое быть. Mageia тут не при делах.

"Если нужно, чтобы пользователь использовал sudo с вводом root-пароля, раскомментируем строчку " - это из вики. Тапк делать не надо. Для этого нужны очень веские причины, которых я даже представить себе не могу. И вообще, почему именно пароль рута, а не пароль пользователя?

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

4

TopE⇓ пишет:

"Если нужно, чтобы пользователь использовал sudo с вводом root-пароля, раскомментируем строчку " - это из вики. Тапк делать не надо. Для этого нужны очень веские причины, которых я даже представить себе не могу.

Дело ещё в том, что в Убунте, по дефолту, при установке системы root и его пароль вообще не задаётся (админом подразумевается первый юзер, впрочем как и в Магее первому юзеру даётся больше прав), а в Магее сразу устанавливается.

5 (2019-12-19 16:25:16 отредактировано TopE)

algri14⇓ пишет:

Дело ещё в том, что в Убунте, по дефолту, при установке системы root и его пароль вообще не задаётся, а в Магее сразу устанавливается.

и да и нет. Не зависимо от того, установлен пароль или не установлен, использовать пароль рута для судо, так же бессмысленно как использовать sudo, имея su/
То есть по-русски. Зачем юзать sudo с паролем рута, если уже есть в системе su?
Потому sudo и придумали, дабы забыть о пароле рута раз и навсегда.

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

6 (2019-12-19 16:29:43 отредактировано algri14)

TopE⇓ пишет:

Не зависимо от того, установлен пароль или не установлен, использовать пароль рута для судо, так же бессмысленно как использовать sudo, имея su

Да, почитав, я прихожу к мнению, что более новая команда sudo, более правильная и хочу отказаться от использования su, чтобы ось вообще на неё не реагировала

TopE⇓ пишет:

Потому sudo и придумали, дабы забыть о пароле рута раз и навсегда.

Ну это чересчур круто, всегда есть место действия для root'а, другое дело вставлять его везде где не попадя, конечно зря, например МСС, ну вот нафига там рутовский пароль, а при обновлении сделана настройка для юзера, значит можно когда захотят

7 (2019-12-19 16:36:37 отредактировано TopE)

algri14⇓ пишет:

всегда есть место действия для root'а

только системные процессы, которые работают от рута. Они либо запускаются при старте системы, либо вы их точно так же можете запустить через sudo.
другого применения прямого логина в root с использованием пароля root просто нет необходимости. То есть пароль root вам не нужен от слова совсем, если если есть хоть один "юзер-полуадмин" (как в убунте, федоре, росе и прочих дистррбутивах) в группе wheel

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

8 (2019-12-19 16:38:53 отредактировано TopE)

algri14⇓ пишет:

чтобы ось вообще на неё не реагировала

Реагировать будет. Она ни чем не мешает. Не зная пароля других юзеров и рута - от su толку у вас не будет просто.

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

9 (2019-12-19 16:44:42 отредактировано TopE)

algri14⇓ пишет:

ну вот нафига там рутовский пароль

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

algri14⇓ пишет:

Ну это чересчур круто, всегда есть место действия для root'а

приобретают смысл в рамках Mageia. В общем же случае для линукс дистрибутивов такой необходимости нет.

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

10

Читаю, но всё равно не понимаю, чем это sudo "более правильная" на домашнем компе или даже на личном рабочем, на что Mageia и ориентирована? В многопользовательских системах - согласен, но на персональном, обычно, один суперпользователь.

Представляю, что бы устроил сын на компе в период освоения, если бы мне нравилась, к примеру, Ubuntu вместо Mageia. Пришлось бы, небось, ограниченную учётку отдельно делать. А так и жена на своём, и сын на наших, а так же пользователи, которым я ставил Mageia (благо, для обновлений пароль root не нужен), пользуются, как изначально настроил, не ломая, системой покуда что-то напрочь не устареет уж... но там, обычно, тогда всё переустанавливать приходится - sudo не поможет.

Mageia 9. KDE.

11

Vagulo⇓ пишет:

Пришлось бы, небось, ограниченную учётку отдельно делать.

Нет, не пришлось бы, в Убунте она уже по дефолту сделана, первый юзер считается "юзер-полуадмин", вторые-третьи не входят в его группу и имеют более ограниченные права, впрочем в Магее тоже самое, первый юзер имеет больше прав

12

Vagulo⇓ пишет:

Читаю, но всё равно не понимаю, чем это sudo "более правильная" на домашнем компе или даже на личном рабочем, на что Mageia и ориентирована?

да. Если пользователь один и вы даете свою учетку кому угодно заюзать, то лучше оставить как есть. Но если действовать как положено, то у каждого должна быть своя учетка. Даже у кота в доме))

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

13

Vagulo⇓ пишет:

Пришлось бы, небось, ограниченную учётку отдельно делать.

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

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

14

Vagulo⇓ пишет:

на что Mageia и ориентирована

Кстати, разработчики как раз позиционируют Mageia как домашнюю и как серверную.

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

15

algri14⇓ пишет:

в Магее тоже самое, первый юзер имеет больше прав

не уверен. Или сейчас тоже первый юзер дефолтно в wheel прописан и sudo может сразу заюзать?

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

16

Vagulo, дело ещё в том, что как-то мы здесь экспериментировали с антивирусами под линукс, а они при установке требуют не su, а именно sudo, но тогда в ситеме Магея начинается "двупартийность" lol

algri14⇓ пишет:

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

17

TopE пишет:
algri14⇓ пишет:

в Магее тоже самое, первый юзер имеет больше прав

не уверен. Или сейчас тоже первый юзер дефолтно в wheel прописан и sudo может сразу заюзать?

Нет, при настройке sudo Вики пишет:

Устанавливаем пакет sudo, добавляем пользователя в группу wheel, открываем файл /etc/sudoers.

su
<root-пароль>
urpmi sudo
usermod -a -G wheel <имя_пользователя>
geany /etc/sudoers

18 (2019-12-19 17:41:13 отредактировано TopE)

algri14⇓ пишет:

как-то мы здесь экспериментировали с антивирусами под линукс, а они при установке требуют не su, а именно sudo

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

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

19

TopE⇓ пишет:

Я все настраивал в mageia именно через su

Сейчас уже не помню какой, Dr.Web или Bitdefender (а может оба), потребовали у меня для установки именно sudo

20

algri14⇓ пишет:

Dr.Web или Bitdefender (а может оба), потребовали у меня для установки именно sudo

я все существующие антивирусы на линукс ставил. Никогда они ничего не требовали. Хватает прав на установку - ставятся. Не хватает - не ставятся. что-то вы путаете.

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

21

algri14⇓ пишет:

я хочу просто обсудить что это за команды, так

Зачем сравнивать теплое с мягким? У этих утилит разные задачи и если, в вашем случае, хорошо использовать sudo, это ни коим образом не означает, что она круче su. sudo обычно хвалят пользователи, которые им не пользуются, вернее, используют только как замену su, с минимальными настройками. Большинство из них даже не пытались  использовать sudo по прямому назначению. В mageia sudo не используется, потому что есть фирменные утилиты, причем, графические. Они позволяют раздать привилегии без использования sudo. Для повседневных задач этих утилит вполне хватает.

Vagulo⇓ пишет:

(благо, для обновлений пароль root не нужен),

Это настраивается в МСС-безопасность-настройка аутенфикации утилит...

22

Соглашусь, что на домашнем компе sudo в целом не более, чем замена su. Но есть некоторое удобство - не надо запоминать пароль рут и вообще сразу приобщаешься к прекрасному - пересев за другой дистрибутив уже тупить не будешь. А так при соблюдении гигиены разницы особой нет для дома с точки зрения безопасности.

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

23

TopE пишет:

Я не знаю, можно ли запускать MCC через sudo. Если такая возможность есть, то тогда проблем нет. Если нет такой возможности, то придется юзать root пароль в любом случае. Тогда да.- ваши слова.

Консоль: user
[user@localhost ~]$ sudo mcc
вполне работает. Сам пользуюсь порой.

Mageia 8 x64, Xfce

24 (2019-12-20 07:19:06 отредактировано TopE)

kvv-vp⇓ пишет:

Они позволяют раздать привилегии без использования sudo

Каким образом в магии реализовано повышение привилегий пользователю для выполнения определенных команд, требующих рута без использования sudo?

ROSA Desktop Fresh R11.1 EE 2016.1 Desktop 64-бит

25

TopE⇓ пишет:

Каким образом в магии реализовано повышение привилегий пользователю для выполнения определенных команд, требующих рута без использования sudo?

Я не разбирался, но,похоже, через pkexec.