26

kvv-vp⇓ пишет:

Зачем сравнивать теплое с мягким? У этих утилит разные задачи и если, в вашем случае, хорошо использовать sudo, это ни коим образом не означает, что она круче su.

TopE⇓ пишет:

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

TopE, kvv-vp, я удивлён, даже очень, услышать от вас такие комментарии, всё равно что мимо.
Тема создана не для определения какая команда круче, а что из себя представляет.
Вы по ссылкам из первого сообщения ходили? или хотя бы прочитали цитаты оттуда?

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

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

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

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

В элементарном виде применение команды 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"

Хабр пишет:

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

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

Важное отметил жирным шрифтом, хотя там всё важное, лично мне, в команде sudo видится больше правильных перспектив, а команда su представляется как устаревшая.
Но я не работаю админом и не занимаюсь с ОС профессионально, нюансов не знаю, поэтому и создал тему, чтобы более опытные их добавили и пояснили.
А они мне про мягкое и тёплоё лепят.
И подытожу цитатой с Хабра:

Q: я единственный пользователь своей системы и привык к su, зачем мне sudo?
A: отвечу вопросом на вопрос: если есть правильный sudo, зачем использовать устаревший su?

27

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

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

28

И да. Это не теплое и мягкое. Это утилиты одного порядка. Одна с меньшим функционалом, другая более гибкая. Держаться за su нет причин.

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

29 (2019-12-20 08:52:12 отредактировано algri14)

Вот это уже другой разговор.
А возможно ли в Магее отключить su вообще, как это сделать, где прописать?
Есть предположения, почему разрабы Магеи не вводят sudo по дефолту?

30 (2019-12-20 09:31:35 отредактировано TopE)

algri14 пишет:

Вот это уже другой разговор.
А возможно ли в Магее отключить su вообще, как это сделать, где прописать

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

сам не пробовал:

Откройте в Вашем текстовом редакторе файл: /etc/pam.d/su
В этом файле найдите строку, подобную следующей:
auth required pam_wheel.so
или
auth required pam_wheel.so use_uid
По умолчанию эта строка начинается со знака "#", это энак комментария. Уберите знак комментария из начала этой строки и сохраните файл.
Это позволит запускать su только пользователям в группе wheel

Это, конечно, не отключение su, но никто, кроме вас не сможет его юзать.

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

31

algri14⇓ пишет:

Есть предположения, почему разрабы Магеи не вводят sudo по дефолту?

ни одного адекватного предположения нет. Возможно, что-то связанное с технической реализацией MCC

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

32

TopE⇓ пишет:

Возможно, что-то связанное с технической реализацией MCC

возможно есть нюансы работы этой команды с системой

Сейчас глянул, у меня пакет sudo уже установлен, не припомню чтобы я ставил его (хотя шут меня знает, может забыл), и ещё, в нашей вики написано:

пакет sudo в зависимостях у xsudo

но xsudo у меня НЕ установлен, либо напутали изначально, либо политика пакетов поменялась, надо статью править
И стоит всё таки заняться экспериментами и изучением sudo

33

algri14⇓ пишет:

но xsudo у меня НЕ установлен

все верно.

algri14⇓ пишет:

пакет sudo в зависимостях у xsudo

это значит, что если ставите xsudo, то притянет за собой sudo

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

34 (2019-12-20 20:45:23 отредактировано TopE)

algri14⇓ пишет:

возможно есть нюансы работы этой команды с системой

Есть. Но все эти особенности не являются непреодолимым препятствием.
Классический пример с перенаправлением
sudo cat foo.conf > /etc/foo.conf
будет ошибка доступа, так как sudo применится только к cat, а перенаправление будет осуществляться с правами юзера, использующего команду sudo.
решается через запуск shell с параметрами
sudo sh -c 'cat foo.conf > /etc/foo.conf'
к тому же ко всем этим особенностям система сама по себе безразлична. Это пользователь должен ломать голову как запускать что-то от кого-то, а система и так прекрасно справляется с запуском процессов от рута, и ни ubuntu, ни fedora, ни debian и еще десяток дистрибутивов не страдают.

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

35

algri14⇓ пишет:

оманде sudo видится больше правильных перспектив, а команда su представляется как устаревшая.

На современном этапе развития линукс рассматривать применение su или sudo без привязки к конкретному дистрибутиву не имеет смысла. То, что хорошо работает в ubuntu по умолчанию является дырой в безопасности в mageia.

36 (2019-12-22 08:51:21 отредактировано TopE)

То, что хорошо работает в ubuntu по умолчанию является дырой в безопасности в mageia.

То есть в репозитории Магии находятся дырявые пакеты?
А если серьезно, то sudo не разрабатывается с учетом привязки к каким-либо дистрибутивам и наличие дыры в безопасности при использовании sudo на данный момент зависит только от конфига sudo, а не от дистрибутива, на котором его используют.
И вообще аргументированной критики про дырявость sudo на данный момент просто нет.

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

37

TopE⇓ пишет:

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

Все правильно. Только вот о том, что sudo настраивать нужно, вы почему-то умалчиваете. И не просто настраивать, а правильно настраивать, не так как предлагают в вики MRC.

TopE⇓ пишет:

И вообще аргументированной критики про дырявость sudo на данный момент просто нет.

Из вики арча

Spoiler

Важно:
Крайне важно, чтобы файл sudoers был без синтаксических ошибок! Любая ошибка делает sudo неработоспособным. Всегда редактируйте его только с помощью visudo для предотвращения ошибок.
Из visudo(8): Обратите внимание, что это дыра в безопасности, поскольку позволяет пользователю запускать любую программу, какую он захочет, просто прописав её в VISUAL или EDITOR.

38

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

39 (2019-12-22 17:12:42 отредактировано TopE)

kvv-vp⇓ пишет:

Только вот о том, что sudo настраивать нужно, вы почему-то умалчиваете.

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

kvv-vp⇓ пишет:

Крайне важно, чтобы файл sudoers был без синтаксических ошибок!

для этого есть инструмент,

kvv-vp⇓ пишет:

visudo

kvv-vp⇓ пишет:

Обратите внимание, что это дыра в безопасности, поскольку позволяет пользователю запускать любую программу, какую он захочет, просто прописав её в VISUAL или EDITOR.

это очевидно и без вики арча. Так что не аргумент. Желание дать рут права пользователю на инструменты, которые могут редактировать конфиги - это уже не дыра в безопасности от sudo - это глупость администратора, не зависимо от наличия или отсутствия sudo. Можно просто сказать пароль рута - пусть ковыряется в системе в свое удовольствие. То, что sudo очень гибкий - это не дыра. Это гибкость. Не зная как это работает - не лезь. Стандартный минимальный конфиг абсолютно безопасен во всех системах, использующих sudo.

Казалось бы - в чем разница, если вы sudo юзаете только как минималку в плане замены su?

а вот в чем.
root в этих системах просто не имеет пароля - то есть исключен брут форс, исключена возможность логиниться рутом по сети (ftp, ssh и так далее) даже, если пользователь или мантейнер пакета забыл запретить это сделать явно в конфиге сервиса. Это только очевидные аргументы из-за которых все почти дистрибутивы отказались от логина рутом в пользу повышения привилегий даже в системах для сугубо домашнего использования.

Так что адекватных причин (связанных с безопасностью) не использовать sudo просто нет у разработчиков. Это просто своя фишка дистрибутива. Не хотят - не надо. Их право.

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

40 (2019-12-22 17:45:21 отредактировано TopE)

betcher⇓ пишет:

С su все гораздо проще и не нужно помнить что и кому разрешено в конфиге.

вот как-то помнить и не надо, если ничего не разрешали ни кому на домашнем компе - а так и есть обычно)) а вот помнить пароль рута дополнительно уже надо)) так в чем простота заключается?

Ах да - не надо устанавливать sudo и дополнительно настраивать даже минимальный конфиг для себя. Ну так это обычно разработчики дистрибутива делают. С Магеей, конечно сложнее в этом плане (еще и вики написано через зад по настройке - хорошо, хоть арчевики есть.). Потому и не юзает никто из пользователей магеи. А не потому, что проще.

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

41

Я не пользователь магеи, я использую магос. Хотя это не важно. Если подкрадется альцгеймер и мне сложно будет запомнить пароль для рута - я сделаю одинаковые пароли для рута и юзера. От брутфорса легко защититься запретив рут логин по ssh. Зато я могу получить рут права в консоли и выполнять множество команд с правами суперюзера, то есть один раз su - и один раз пароль и работай. При этом приглашение в консоли у юзера зеленое, у рута красное. Не перепутать. Иногда для проверки работы разного кода приходится создавать нового юзера и грузиться в иксы с ним и вот что для такой мелочи настривать еще и sudo? Если рут без пароля, а новый юзер не имеет нужных прав.
Я не против sudo,  я пишу только о том, что плюсов конкретно для себя не вижу.

42 (2019-12-22 20:00:24 отредактировано TopE)

betcher⇓ пишет:

один раз su - и один раз пароль и работай

c sudo аналогично.

betcher⇓ пишет:

вот что для такой мелочи настраивать еще и sudo?

что там надо для новых юзеров настраивать?

Складывается такое впечатление, что люди просто не совсем понимают, что такое sudo и с чем его едят ...

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

43 (2019-12-22 20:09:01 отредактировано betcher)

Да, я не спец по sudo. Но поясните тогда этот момент. Система с рутом без пароля. Sudo требует пароль юзера. И вот я создаю нового юзера и логинюсь в иксы с ним. Для выполнения действий которые потребуют дополнительных прав мне который пароль вводить? От первого юзера или от нового? Если от первого, то чем он тогда отличается от рута? Если от второго, то это вообще дыра. А если зависит от настроек судоерс, то это как раз то о чем и говорю - нужно помнить как.настроено sudo. С su тут даже вопросов не возникает, согласитесь.

44

betcher⇓ пишет:

Да, я не спец по sudo. Но поясните тогда этот момент. Система с рутом без пароля. Sudo требует пароль юзера. И вот я создаю нового юзера и логинюсь в иксы с ним. Для выполнения действий которые потребуют дополнительных прав мне который пароль вводить? От первого юзера или от нового?

Элементарно Ватсон lol
"Первый" юзер, который ставит систему, является по дефолту полу-админом. Если Вы создаёте "второго" юзера, то и решаете вводить его в группу wheel или нет, соответственно и остальные права прописываете ему.
Даже при одном пользователе у sudo есть преимущества (описали выше), а при двух юзерах преимущество явное, "второй" юзер никогда не сможет действовать от root без Вашего ведома, а в случае с su Вы даже знать ничего не будете.
И ещё раз:

Хабр пишет:

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

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

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

45

Группа wheel не имеет отношения к sudo, кмк. Группае есть и в системах где sudo не используется. Весь остальной текст только доказывает, что конкретно в этом случае только лишние проблемы от sudo.
Второй юзер и так не сможет действовать как рут, у него пароля нет smile Но если пароль ему дать, то никакие настройки, как в случае с суду, не нужны. Логинится и действует от рута.

46

betcher⇓ пишет:

Если от второго, то это вообще дыра.

а если ваш новый пользователь вводит пароль от рута, как в случае с отсутствием sudo (вы же именно так делаете) - то это не дыра, это нормально)))

даже не смешно...

Просто задаете пользователя и кидаете его в группу, которая имеет право юзать sudo (обычно это wheel).
тогда ваш юзер будет иметь право повышать себе привилегии со своим паролем через sudo. Это уж точно не опаснее, чем давать вашему новому юзеру пароль от root.

Тут два варианта - если второй пользователь - это тоже Вы (физически как человек), то ничего страшного априори нет. Вы и так знаете все пароли.
Если же это совершенно другой человек, то на кой черт ему вообще давать привилегии root по полной? Но вы же говорите, что даете. Значит это тоже дыра? Или нет?)))

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

47

Так, давайте еще раз. Я не против sudo, и никого не отговариваю. Просто если реальный пользователь у системы один, то не вижу никаких плюсов от sudo, только лишние сложности. Имхо.
Про дыру имел ввиду, что если новосозданный пользователь имеет права как у рута и для этого нужно ввести его собственный пароль то это - дыра.
Для того чтоб использовать группы для разграничения прав sudo тоже не нужен. Если у меня есть бинарь принадлежащий руту и мне нужно разрешить его выполнение группе пользователей я это сделаю без sudo. Собственно с wheel так и работает.

48 (2019-12-22 22:13:48 отредактировано TopE)

betcher⇓ пишет:

Так, давайте еще раз. Я не против sudo, и никого не отговариваю. Просто если реальный пользователь у системы один, то не вижу никаких плюсов от sudo, только лишние сложности. Имхо.

ОК. Для наглядности возьмем дистрибутив, в котором используется концепция sudo с отключенным рутом. Пусть это будет дебиан, к примеру.
Рассматривать Магию не будем, ввиду того, что самостоятельная настройка требует некоторых начальных знаний. И посмотрим, какие трудности возникают в дебиане в сравнении с магией.

1:
Вы установили дебиан и уже имеете право юзать sudo. Проблем нет.
2:
Вы добавили учетку для своего кота стандартным способом как и везде. Кот прав рута не имеет и sudo не юзает. Проблем нет
3:
Вы захотели дать коту право использовать рут привилегии. Добавляете его в группу wheel. Всё. Проблем нет
4:
Хотите кота урезать вправах - выгоняете из группы wheel.  Проблем нет

Все это не требует наличия пароля root

применительно к магии все пункты работают точно так же - только всем людям и котам необходимо знать пароль root. И в отличие от дебиановского варианта вы не можете заставить своего кота в  4-м пункте забыть пароль рут. В дебиане в 4 пункте этой проблемы нет.

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

49

betcher⇓ пишет:

Про дыру имел ввиду, что если новосозданный пользователь имеет права как у рута и для этого нужно ввести его собственный пароль то это - дыра

Нет. Если вы его ОСОЗНАННО не внесли в группу wheel, то он не имеет прав как рута и sudo использовать не может.

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

50

betcher⇓ пишет:

Если у меня есть бинарь принадлежащий руту и мне нужно разрешить его выполнение группе пользователей я это сделаю без sudo

то есть помнить какие бинари, каким группам можно выполнять, а какие нельзя, да еще и кастомные права для этого делать на уровне ФС - это просто, а какие команды и кому выполнять разрешено в конфиге sudo сложно)) Тогда вопросов нет))

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