Что не так с использованием sudo?

37

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

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

Так может кто-то указать, пожалуйста, возможные последствия, кроме ввода еще 4 символов и пробел?

январь
источник
12
«Обратите внимание, что если я могу заставить вас сказать« су »и« сказать »что-то, просто спросив, у вас очень серьезная проблема с безопасностью в вашей системе, и вы должны разобраться в этом». (Пол Vixie, примечания по установке vixie-cron 3.0.1)
8
Сообщество вики также говорит: «Вы могли неправильно набрать команду и уничтожить систему»
Pandya
3
При написании этого вопроса я непреднамеренно забыл исключить плохое сознание или полную глупость, извините за это. Будучи человеком, использующим Linux с 14 лет, для меня было очевидным, что при выполнении команд с использованием sudoили с правами root вы должны проявлять осторожность и фактически знать, что вы делаете, и проверять, что вы печатаете. Я хотел удалить вопрос, но я понимаю, что этот Q / A помогает пользователям с меньшим опытом, поэтому я просто оставлю его в покое.
января
20
Обязательная ссылка xkcd .
оставлено около
5
sudo rm -rf /<accidental enter>Получить картину?
jpmc26

Ответы:

70

Риск опечатки больше, чем риск ошибки.

Риск получить привычку "это не работает, придерживайтесь sudoэтого!" намного выше, чем риск ошибки.

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

Хотя catэто не вредно, привычка, которая поощряет это.

Мур
источник
8
@BenCrowell close (но sudoне будет применяться к перенаправлению).
Муру
13
Привычка просто добавлять sudoдействительно очень опасная. Скорее нужно остановиться и спросить "зачем мне здесь sudo?" И если вы не знаете вескую причину, скорее всего, вы сделали какую-то другую ошибку в команде. Простое добавление всего, что нужно, чтобы сообщения об ошибках исчезли, приведет вас к таким ошибкам: serverfault.com/questions/587102/… (Мой любимый комментарий: «Как вы вообще случайно набираете --no -preserve-root») ? ")
kasperd
22
svn update, Конфликты Я знаю. sudo svn update, Я действительно видел это ...
Борис Паук
8
Я не использую Subversion, но я предполагаю, что использование чего-то подобного sudo svn updateтакже полностью испортит разрешения - оставляя вас в худшем состоянии, чем вы могли бы начать.
Daboross
5
@DaboRoss Я думаю, что это должно быть включено в ответ @ muru, потому что это одна из ловушек использования sudo: вы можете в конечном итоге создать файлы, которые доступны только при sudoповторном вызове .
Sanchises
15

Я думаю, что есть еще одна проблема, которая еще не упомянута: sudoсостояние кэшируется для оболочки со значением по умолчанию 15 минут. Это означает, что вам не нужно вводить пароль в течение следующих 15 минут, чтобы выполнить потенциально опасную команду.

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

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

Musikk
источник
1
Этот риск можно уменьшить, используя tty_ticketsопцию в sudoersи sudo --remove-timestamp.
Восстановите Монику - М. Шредер
1
@ MartinSchröder я уже tty_ticketsучел. Но вы можете установить timestamp_timeout. Вот почему я написал «по умолчанию». Я уверен, что большинство пользователей никогда не изменит ни один из этих вариантов, но, конечно, это предположение с моей стороны.
MusiKk
9

sudoЧрезмерное использование в Linux эквивалентно старой привычке Windows запускать все под учетной записью администратора. Этот вопрос обсуждался и критиковался до чертиков и обратно, так что вы можете прочитать все, что говорит о том, почему человеку не следует запускать свой компьютер с Windows в качестве администратора, и каждый отдельный момент будет применяться к обычному использованию sudoLinux.

SaltyNuts
источник
4

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

ed0
источник
-1

Когда вы что-то делаете с Sudo , это означает, что вы даете ему полные права, это корневой доступ, который иногда становится очень рискованным, если непреднамеренное приложение, работающее с правами root, может что-то сделать не так, что приведет к сбою системы. коррупция ОС. Во всяком случае, для Cat это нормально с рутом.

Сохаил xIN3N
источник
sudo можно настроить для предоставления ограниченного доступа. По умолчанию он обеспечивает эквивалент полного корневого доступа, но не обязателен.
flickerfly
-1

Нет ничего плохого в ненужном использовании Sudo. Sudo (в его конфигурации / назначении по умолчанию в Ubuntu) предоставляет полностью повышенные привилегии. Если пользователю были предоставлены эти привилегии, они должны осуществлять его так, как он хочет (в том числе и излишне!) . Однако использование Sudo, когда оно не нужно, повышает ставки. Это ненужный риск. Простая опечатка может стать катастрофой, и поэтому большинство людей избегают использования повышенных разрешений, когда они не нужны. Тем не менее, просто потому, что это обычная практика избегать ненужного использования Sudo, не означает, что неправильно идти другим путем. Судо к вашему сердцу!

В контексте AskUbuntu я нисколько не удивлен, что вас проинструктировали избегать ненужного использования Sudo. Цель этого сайта - позволить экспертам задавать вопросы и получать ответы экспертов, но на самом деле здесь много начинающих пользователей, которые знают достаточно, чтобы попасть в неприятности. Обычно постеры пытаются защитить этих пользователей от самих себя. Злоупотребление судо распространено среди начинающих пользователей, потому что они на самом деле не понимают, что есть или не делают, и не тратят время на изучение. Кроме того, этот сайт гордится производством качественного контента. Ненужные команды неэффективны и поэтому снижают качество поста.

без ответа
источник
1
Плохой совет: используйте sudo очень осторожно! Если вам нужны привилегии sudo, это обычно означает, что вы делаете что-то опасное ...
Fabby
2
@Fabby OP не предлагает использовать Sudo небезопасно, а скорее указывает на то, что ненужное использование не означает небезопасное использование.
Hypno Toad
2
@ Rinzwind Нет ничего плохого в использовании ракеты для убийства муравья, если вы стараетесь не взорвать что-либо еще в процессе. Ненужное не является синонимом небезопасного.
Hypno Toad
1
Да, есть. Пример # 1 askubuntu.com/questions/751339/…
Ринзвинд
2
@HypnoToad Хотя я лично избегаю использования Sudo, если мне не нужны права root, и призываю других делать то же самое, вы правы. Ненужное и небезопасное - это не одно и то же. Нет ничего плохого в использовании Sudo для каждой задачи, которую вы делаете, если вы используете ее безопасно. Но, как я уже сказал, я бы не советовал никому делать это, потому что это подвергает вашу систему ненужному риску.
Дин Z