Понятно! "Мяч налево - мяч направо!" .. Значит использование "su-" - открывает, а использование "sudo" - не открывает!
Где я говорил, что использование "sudo" - не открывает [вредоносному ПО возможность повысить свои привилегии с пользовательских до root]? Открывает, ещё как!
И какие тогда лично у вас варианты? Поделитесь, пожалуйста!
Не использовать ни su, ни sudo. Если нужны права root, заходить в систему изначально под root-ом, переключившись в текстовую консоль.
X Strange пишетЧтобы защититься от этого, остаётся фактически только логин root-ом из консоли.
А разве вы сами так не делаете?
Именно так и делаю. На самом деле, кроме этого использую и su, и sudo, но настройки этих программ отличаются от "умолчательных". В частности, выполнять по sudo всё подряд, как в ubuntu, у меня, безусловно, запрещено. Однако некоторые написанные мной скрипты, про которые я более-менее уверен, что они не дадут повыси
…К примеру, я с возрастом и опытом от "sudo" потихоньку перешел к благородному "su -" (причины, надеюсь, я изложил достаточно подробно)...
Так ведь su тоже небезопасно использовать. Использование su открывает вредоносному ПО возможность повысить свои привилегии с пользовательских до root. Простейший пример атаки: используя права пользователя гипотетический вирус добавляет в .bashrc alias su='/path/to/fake_su', где fake_su так же, как и su, спрашивает пароль, затем вызывает обычный su, чтобы пользователь ничего не заметил. И ждём, пока пользователь введёт пароль root при попытке вызвать su. Чтобы защититься от этого, остаётся фактически только логин root-ом из консоли.
Ради справедливости замечу, что у всех распространённых файловых системах есть ACL. Правда, я их в деле не видел ни разу.
Очень существенная оговорка. На наличие ACL в linux можно не обращать внимания, так как оно не может разрешить то, что запрещено обычными правами доступа. Да и поддержку их в ядре легко выпилить нафиг. Естественно, в современном линуксе тоже дофига наворотов. Например, про process capabilities я относительно недавно узнал. Также есть атрибуты, acl, selinux, apparmor, и ещё дофига всего (по выбору). Но важно то, что классические права доступа UNIX по-прежнему работают, и на практике их хватает.
sudo — важная и полезная вещь.
Безусловно, но применять его нужно с осторожностью, особенно выдавая доступ с правами root.
Я уже опосредованно отвечал на данный вопрос в текущей теме, приведя ссылку: https://diasp.org/posts/5814100 (осторожно, лоли!)
Посмотрел, но не нашёл ничего конструктивного. Если можно, поясните, что имелось в виду.
X Strange, вот сформулируйте сами - в чем опасность применения sudo?
Ну, на мой взгляд, в двух вещах.
1. sudo спрашивает пароль у пользователя в сеансе ограниченного аккаунта. Если последний скомпрометирован, то это приводит к компрометации root (например, sudo может запуститься поддельный). То же самое относится к screensaver (вы его тоже вроде как упоминали, поэтому рискну предположить, что речь шла именно об этой проблеме), а также к графическим утилитам типа gksu. Решения же возможны разные, поэтому я и спросил. Самое простое --- логиниться под root-ом только из текстовой консоли (когда это необходимо).
2. sudo является suid-файлом (точнее, должно иметь capability setuid), что повышает вероятность наличия уязвимости (на
Пф, а открытие-закрытие окна ты не заметишь, конечно.
Думаю, что большинство windows-пользователей не смутит, если при втыкании флэшки быстро появится-исчезнет какое-нибудь окно. Скорее всего, пользователь примет это за установку драйверов к новому устройству или вроде того, так как винда часто так делает при втыкании незнакомой до этого флэшки. Другой вопрос, чем тут может помочь антивирус? Если флэшка смогла прикинуться клавиатурой, то для антивируса она так и будет клавиатурой. Если ОС не может отличить настоящую клавиатуру от фэйковой, то как тут антивирус поможет?
С тезисом о том, что антивирус не нужен, согласен, так как для того, чтобы те или иные способы обеспечения безопасности работала, администратор системы (в данном случае он же пользователь) должен полностью их контролировать, а для этого он должен понимать, на чём основана и как работают эти самые способы обеспечения безопасности.
Например, про права доступа всё предельно ясно: если у процесса
Тогда надо их и попробовать убивать, наверняка mc просто ждёт их отклика.
Попробовал. Таки приходится убивать и mc, и эти процессы в любом случае.
X Strange пишетmc перехватывает Ctrl+Z, как и большинство полноэкранных ncurses-программ
Фу таким быть!
vifm вот не перехватывает.
Кстати, как оказалось, вру. Ничего он не перехватывает. Пока mc не завис, ctrl+z срабатывает.
Я знаю, что можно заставить показывать это саму оболочку. Например, у меня zsh там показывает путь.
Спасибо, посмотрю. Возможно, это как раз то, о чём я думал.
Кста, утилита htop позволяет так же видеть процессы в виде дерева и убивать их. Весит немного, консольная но с интерфейсом. Рекомендую, удобнее чем top.
Да, про htop знаю, хорошая программа.
P.S. Кстати, мне ещё подсказали¸ что можно по состоянию процесса попробовать определить¸ какой из них завис.
P.P.S. Конкретно mc, открывающий архив, можно вычислить по дочерним процессам perl и unzip (это удобнее всего делать с помощью упомянутого htop).
Да и не зависало у меня ничего уже лет двенацать :-/
mc, например, зависает намертво если войти в запароленный zip и нажать F3 на любой файл.
А Ctrl-Z не работает?
mc перехватывает Ctrl+Z, как и большинство полноэкранных ncurses-программ.
Тут проблема в том, что никто, кроме эмулятора терминала не знает, что в какой вкладке запущено…
Я вот думал, может быть, какой-нибудь эмулятор терминала можно заставить показывать в заголовке вкладки если не pid, то хотя бы tty, по которому можно было бы различить процессы, запущенные в этих вкладках.
Через `/proc` можно различить процессы по переменным окружения (кажется) и открытым файлам/каталогам.
Иногда можно, но это не универсально. Хотя в сегодняшнем случае, скорее всего, прокатило бы, но мне в голову сразу не пришло.
Можно различить процессы, если они запущены разными родительскими процесами.
Так для это нужно как-то разл
…Что-то ветка совсем заглохла, а тем временем у меня возник вопрос¸ может кто знает.
Предположим, что у меня запущена консольная программа в терминале (например, mc). Допустим, программа зависла, нужно уничтожить процесс командой kill. В случае если такая программа всего одна, то можно набрать ps aux | grep mc и узнать её pid, или просто набрать killall mc.
А если процессов несколько, как узнать, какой из них открыт в нужной вкладке, чтобы вызвать kill с правильным pid? Я в таких случаях обычно закрывал вкладку, либо делал killall mc, но может быть, есть какой-нибудь более вменяемый способ? Например, если во вкладке были выставлены переменные окружения, которые не хочется терять, а другие mc тоже открыты по делу, а не просто так.
Старая шутка про то, что вирус для линупсов надо самому скачать и собрать, обретает новое дыхание!
Да не обязательно. Поскольку у него уже есть права root (выданные админом), то он вполне может позвольть себе быть скриптом на bash.
Вот это да. Осталось исхитриться написать код вируса через `echo`, и дело в шляпе. Смехота.
Код вируса вполне может скачиваться командой wget, а такое написать вполне реально.
Вы, ребята, такие затейники, всё бы вам дистрибутивы менять:
Ну, почему бы нет? Я, например, люблю экспериментировать, поэтому систему переустанавливаю (и дистрибутивы меняю) часто. Но к потере важных данных из домашнего каталога это пока ни разу не привело.
Да для всяких ненастоящих пользователей, к примеру. Загляни в свой `/etc/passwd`:
И даже для вполне "настоящего" пользователя root :)
Ещё это может применяться, например, в университетах, где домашние каталоги преподавателей (аккаунтов которых добавляются/удаляются относительно редко) и домашние каталоги студентов (список аккаунтов которых сильно меняется каждый год, а на время контрольных/зачётов их могут и вовсе отключать) могут находиться в разных каталогах, на разных дисках и даже н
На улицу тоже опасно выходить…
Это безусловно, только это предмет для обсуждения в отдельной теме. А вот понимать, что может произойти при копировании текста из html --- полезно.
KOT040188 пишетВы бы убрали, а то вдруг кто попробует ввести её
Не попробует, это ж классика :)
Кстати, говорят, эта команда не работает в современных дистрибутивах (disclaimer: я не проверял!).
Чего не знали?
Что опасно копировать команды из браузера в командную строку, даже понимая, что они делают.
Вы бы убрали, а то вдруг кто попробует ввести её
Не попробует, это ж классика :)
Наткнулся на такую статью: https://habrahabr.ru/post/275075/.
Может и известная вещь, но я не знал.
Да мало ли, дистрибутив сменить или ещё чего…
Или после выполнения команды, что у меня в подписи :)
X Strange
Бесспорно, но чаще всё-таки пользователи с нестандартным домашним каталогом так прямо и создаются, а не перетаскиваются потом.
Это да, но как оказывается, в linux даже потом перетащить проще, чем в винде.
Да это стандартная возможность `adduser`, указать домашний каталог у чёрта на рогах.
Да, но на десктопе этого обычно не делают. А хранится этот путь именно в /etc/passwd, и ничто не мешает отредактировать его вручную без всяких adduser.
Ну, если для решаемых задач хватает linux, то почему бы и нет...
Я не в курсе, винды у меня нет.
Вы её специально удалили? Или это не ноут, где установлен OEM?
А мне, к сожалению, приходится держать и винду. Хотя загружаю редко.
А зачем?
Смотря что зачем.
Если вопрос был "зачем права root", то ответ состоит в том, что владелец каталога /home вообще-то root.
Если "зачем делать /home символьной ссылкой" - для того, чтобы запустить описанную ниже гипотетическую глючную программу.
Глубоко капаете…
Ну, может на практике оно и не так часто применяется, но знать про это полезно.
А очень надо?
Пока не очень, но если вы знаете, где про это можно почитать, буду признателен если кинете ссылку. Симлинками в винде пользуюсь.
Опять не понял, при чём здесь root. В linux симссылки легко редактируются в графике из-под пользователя. По крайней мере в kde. В винде по-моему вообще никак…
Чтобы сделать /home символьной ссылкой, нужны права root.
Это куда же? Я может чего упустил в монтировании хомяка, просветите примерами…
Про монтирование я сказал не совсем корректно, я в своей исходной фразе поправил. Имелось в виду, что в /etc/passwd можно написать любой путь к домашнему каталогу, не обязательно /home/имя_пользователя.
23-01-2016 19:16:45
Есть относительные симссылки.
В linux да, в винде я не понял, как это сделать.
Вы не копируете с раздела на раздел
Таки да. При копировании ссылки указывают на старое место, так как ссылаются по абсолютному пути. Может и существует решение, но я не стал копать.
Есть ещё в windows команда robocopy с диким количеством параметров, может быть с её помощью можно что-то сделать.
Зачем, если можно в нормальной графике?
Сложные графические приложения несколько стрёмно запускать под root'ом. Хотя у krusader и есть такой режим.
Так я не понял, что произойдёт? На всякий случай: речь идёт об одном пользователе, а не о нескольких…
Произойдёт то, что кривая программа полезет в каталог /home/имя_пользователя, настоящий домашний каталог которого в системе с экзотическими настройками на самом деле находится совершенно в другом месте. А каталога /home/имя_пользователя нет вовсе. И такая программа заглючит если не создать символьную ссылку /home/имя_пользователя на настоящий домашний каталог.
…Ничем копировать нельзя! Они же побьются!
Неправда. Специально проверил в FAR manager. Делал так:
1. Создаём каталог 1, внутри файл hello.txt.
2. Alt+F6 - делаем симлинк на 1 с именем 2.
3. F5 - копируем 2 в 3.
В итоге 3 --- по-прежнему симлинк на 1.
Что я делаю не так?
В linux это делается в графике, но нет необходимости.
В linux это делается в mc так же, как в windows в FAR. Просто в mc вместо Alt+F6 нужно нажимать Ctrl+X S --- вот и вся разница.
Какие такие? Куда бы вы не положили хомяк, приложениям будет пофиг. Это юникс, файловая система с единым корнем, и я считаю это грамотным подходом…
В теории ничто не запрещает написать программу, которая напрямую полезет в /home/имя_пользователя. На практике я таких программ не видел, но кто знает?
23-01-2016 18:11:21
Разница в том, что ещё до покупки диска может случится необходимость переустановить систему. Тут без отдельного хомяка т
…
но если человек не дурак, то обязательно выделит отдельный раздел.
Зачем? Если он уже заранее запланировал покупку нового диска? Чтобы потом переразбивать? Да и даже если выделил, всё равно потом переносить. Какая разница --- с системного раздела, или нет? В линуксе разницы однозначно нет.
Симссылки например копировать нельзя, надо создавать заново.
Командой copy --- нельзя, но это всё равно неудобно. Far Manager символьные ссылки отлично копирует.
Приложения, которые будут в ужасе от переноса. В linux такого быть не может…
Что правда, то правда. Хотя может и под линуксом можно такие приложения, но я не встречал. Да и даже если можно --- символьные ссылки в linux тоже никто не отменял. Наряду с mount -o bind
Я так и написал. http://kubuntu.ru/node/13310#comment-156727
Спёрли! Но как всегда коряво: скорее всего пользователь вообще не будет уп
…
В linux достаточно на этапе установки задать отдельный раздел для хомяка.
Это правда, но во-первых, начинающий пользователь мог этого не сделать по незнанию, а продвинутый --- мог это сделать специально, зная, что с процессом переноски на другой жёсткий диск (который, например, отсутствует на момент установки) справится без труда. Кроме того, может возникнуть задача просто перенести домашний каталог на другой раздел или диск, даже если он не был системным.
Но даже если кому-нибудь взбредёт в голову такая фигня, то это делается черезвычайно просто: копируется хомяк на новый раздел, правится fstab.
Так я об этом и говорю. В windows по сути то же самое, но сложнее: вместо правки fstab правятся ветки реестра. Кроме того, в windows ещё на всякий случай выставляется символьная ссылка для совместимости с не очень адекватными программами, которые захардкодили у себя путь "C:\Users\Name", или ещё хуже: "C:'\Documents and Settings\Name", если это
…