Каковы преимущества sudo перед su?

Каковы преимущества sudo перед su?

Какую реальную выгоду получает Ubuntu (или производные Debian) от отключения пользователя root?

Везде, где я читаю, говорится, что нужно предотвратить непреднамеренный ущерб для неопытных пользователей. Я хочу знать, что именно, так как sudoможет выполнять все команды (которые я знаю/использую).

Так в каком случае root может нанести ущерб, а в sudoкаком — нет?

PS: Я знаю, как sudoэто работает.

решение1

Так в каком же случае root может нанести ущерб, а sudo — нет?

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

С suдругой стороны, как только вы вошли, вы уже в деле. У вас есть карт-бланш (открытая лицензия) на все, и причина в том, что вы можете на мгновение забыть о наличии у вас этих привилегий, и если вам не повезет, выполнить что-то, что серьезно повлияет на вашу систему или нанесет ей ущерб — если бы у вас не было привилегий su, команда не сделала бы ничего серьезного.

решение2

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

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

Видетьhttps://help.ubuntu.com/community/RootSudoдля более полного обсуждения, включая преимущества и недостатки.

решение3

вс -

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

судо

Когда вы вызываетесудо, когда вы запускаете команду,только эта командабудет работать каксуперпользователь.

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

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

решение4

Я думаю, сначала нам нужно разобраться, что на самом деле означают su и sudo.являются

вс- означает Substitute User. Вы используете это для переключения на оболочку другого пользователя, используя пароль этого пользователя. Обычно используется с root. Не требует пароля при запуске от имени root.

судо- позволяет разрешенному пользователю выполнять указанную команду как другой пользователь. Также часто используется с root. Однако это позволяет вам специально управлять тем, какие команды могут быть выполнены как другой пользователь. (Например, вы можете дать пользователю возможность запускать скрипт init.d, но ничего больше.)

Обратите внимание, вы всегда можете запустить sudo suили sudo -iи это даст вам root shell. Однако отсутствие пароля root означает отсутствие прямого входа в систему как root... что означает, что никто не сможет взломать этого пользователя.

EDIT: так что, возможно, ответ, который вы ищете, таков: отсутствие пароля root заставляет вас использовать sudo, что, в свою очередь, естественным образом соответствует sudoфилософии, которая предлагает вам обеспечить больший контроль над действиями, выполняемыми от имени root.

Связанный контент