Разница между sudo -i и sudo su [duplicate]

Su vs. Sudo

При выполнении команды su без дополнительных опций она переключает вас в сеанс суперпользователя (или root). Для этого вам необходимо знать пароль root. Это не все, что может делать команда su, на самом деле она может использоваться для переключения в любой пользовательский аккаунт. Наберите su bob, и вам будет предложено ввести пароль пользователя Bob, и оболочка переключится в его аккаунт.
После того, как вы сделаете все, что вам было нужно, вы можете ввести команду exit и снова переключиться в режим обычного пользователя с ограниченными правами.
Sudo запускает с правами root только одну команду. При выполнении команды sudo система запросит у ваш текущий пользовательский пароль, а затем запустит команду на выполнение от имени root. По умолчанию Ubuntu помнит введенный пароль 15 минут, и в течение этого времени при повторном использовании не будет запрашивать его.

Это ключевое различие между su и sudo. Su переключает вас в аккаунт root и требует пароля root. Sudo запускает с привилегиями root одну команду — она не переключает вас в аккаунт суперпользователя и не требует отдельного пароля root.

Что означает sudo. Как запустить команду с sudo

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

Простейший и самый распространённый вариант запуска команд с sudo:

sudo КОМАНДА

Если у КОМАНДЫ есть опции, аргументы, то для sudo не нужно делать какие-то дополнительные действия, например, помещать КОМАНДУ с опциями в кавычки или что-то ещё. Поставьте sudo и запускайте КОМАНДУ как обычно.

К примеру, я хочу выполнить:

ls -l /root

Поскольку я работаю под обычным пользователем, то у меня нет прав доступа в директорию /root и я получаю ошибку:

ls: невозможно открыть каталог '/root': Отказано в доступе

Чтобы эта команда сработала, достаточно её записать после sudo:

sudo ls -l /root

Основные параметры

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

Отключаем введение при первом использовании:

Суперпользователь не может выполнять sudo:

Теперь если вы попытаетесь выполнить sudo sudo ничего не сработает:

Изменять домашнюю директорию для целевого пользователя, по умолчанию остается папка текущего пользователя в качестве домашней директории:

Сохранять список групп текущего пользователя:

Запрашивать пароль суперпользователя вместо пароля пользователя:

Дальше рассмотрим переменные, которым можно задать значения чтобы установить нужные настройки:

Задать количество попыток ввода пароля перед тем, как sudo прекратит работу, по умолчанию — 3:

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

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

Вы можете изменить сообщение, которое будет выводится при запросе пароля:

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

Вы можете записывать в лог все попытки подключения к sudo:

Затем пробуем проверить работу лога:

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

Настройка пользователей sudo

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

Такая команда очень небезопасна, она разрешает всем и все. Первое ALL — разрешить всем пользователям, второе ALL — для всех хостов, третье ALL — разрешить вход под любым пользователем и четвертое — разрешить выполнять любою команду. Но куда более часто используется другая конструкция:

Означает то же самое, что и предыдущее, только здесь мы разрешаем использовать sudo не всем пользователям, а только тем, которые состоят в группе wheel.

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

Это значит что можно выполнить команду от имени root или другого пользователя из группы admins. Еще мы можем указать команды, которые может выполнять пользователь. Например:

Пользователь может выполнять только команды mount и umount от имени суперпользователя. Теперь сделаем еще интереснее, пользователь может выполнять mount и umount без пароля, а все остальные команды с паролем:

Также можно ограничивать пользователям по хостах, например, разрешаем использование sudo только из host1:

Осталось еще рассмотреть как применять псевдонимы. Псевдонимы могут быть таких типов:

  • User_Alias — псевдоним пользователей, которые будут использовать sudo;
  • Runas_Alias — псевдоним пользователей, от имени которых будут выполняться команды;
  • Host_Alias — псевдоним хоста;
  • Cmnd_Alias — псевдоним команд;

Например, создадим четыре псевдонима и применим их в нашем правиле:

Далее применяем все это в правиле:

Это значит, что пользователи из списка Users смогут выполнять команды Cmds от имени пользователей Amdins на хостах Hosts.

Еще осталось сказать несколько слов о флагах. Флаг NOPASSWD говорит, что не нужно запрашивать пароль при выполнении этого правила. Например, разрешить всем пользователям выполнять команду mount с sudo без пароля:

Также можно запретить выполнять именно эту команду вообще с помощью флага NOEXEC:

Вы можете проверить правильно ли была проведена настройка файла /etc/sudoers и посмотреть все созданные правила с помощью команды:

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

Команда su

Команда su (от англ. «substitute user» — «заменить пользователя») применяется в основном для переключения с одного пользователя на другого. При этом она может, как запустить оболочку входа в условиях текущего каталога и окружения (), так и полностью изменить настройки, заменив их окружением целевого пользователя ().

Синтаксис команды:

или

Если использовать данную команду без , то она переключит вас на учетную запись суперпользователя (root).

Примечание: В большинстве случаев, команда su (с дефисом и без) используется только для переключения на суперпользователя (root), хотя она может переключить вас и на другого () пользователя.

Как работает команда su?

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

Затем введите пароль для учетной записи ravesli и нажмите Enter.

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

Как работает команда su –?

Чтобы перейти к другому пользователю и при этом изменить и пользовательское окружение, используйте команду :

Примечание: Еще один способ, позволяющий получить доступ к аккаунту другого пользователя вместе с полным объемом переменных его пользовательского окружения, это задействовать команду (или ) .

Разница между убеждением и манипуляцией

Определение

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

умысел

Еще одно важное различие между убеждением и манипуляцией заключается в том, что намерение убеждения благородно и позитивно, в то время как оно манипулирует злом и аморально

Воздействие / Результат

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

Следовательно, это еще одно важное различие между убеждением и манипулированием

Доверять

Доверие — это еще одна разница между убеждением и манипулированием. В то время как убеждение может укрепить доверие к другому человеку, манипулирование разрушает доверие к другому человеку.

Заключение

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

Что такое сессия sudo?

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

Это поведение никак не связано с количеством исполненных посредством sudo команд, но связано с временем. Да, по умолчанию sudo не будет запрашивать ввод пароля в течение 15 минут после его успешной проверки. По истечении этих 15 минут sudo снова попросит ввести пароль.

Однако, при желании вы можете изменить описанное поведение. Для этого следует открыть файл конфигурации с помощью следующей команды:

sudo visudo

После этого нужно перейти к строке

Defaults env_reset

и добавить в конец этой строки следующую переменную с новым значением (выделено жирным шрифтом):

Defaults env_reset,timestamp_timeout=

Поле должно быть заменено на количество минут, в течение которых должна существовать ваша сессия sudo. К примеру, я использовал значение 40.

Если вы хотите, чтобы запрос пароля осуществлялся при каждом использовании команды sudo, вы можете установить значение 0 данной переменной. А если вам нужно, чтобы сессия sudo длилась вечно, вы можете установить значение -1 данной переменной.

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

Что такое манипуляция

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

Таким образом, манипулирование подразумевает намерение ввести в заблуждение, преследовать или одурачить кого-то другого, особенно в их интересах. Следовательно, если кто-то манипулирует, то в конце концов вы подвергаетесь большой опасности и опасности.

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

Управление запасами в цепях поставок по Теории ограничений

Управление запасами – это управление неопределенностью. Теория ограничений при управлении запасами предлагает сместить фокус внимания с прогнозирования потребления запасов на сокращение времени пополнения. Таким образом, предположение о возможности прогнозировать уровень потребления каждой единицы хранения ставится под сомнение. Заодно под сомнением оказывается и убеждение, что экономия на транспортных расходах всегда благоприятно сказывается на финансовом результате. Ведь обычно при таком предположении не учитываются потери, связанные с возможным дефицитом и излишками товаров.

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

Как узнать, какие sudo полномочия имеются у пользователя

Мы только что узнали, что у определённого пользователя могут быть ограниченные полномочия на выполнение команд с sudo. Как узнать, какие именно команды может выполнить пользователь или как проверить, сработали ли наши настройки в файле /etc/sudoers?

Для вывода всех разрешённых команд или для проверки определённой команды, используется опция -l. Но если не указать опцию -U с именем интересующего пользователя, то будут выведены данные для пользователя по умолчанию (root).

Пример проверки прав sudo для пользователя admin:

sudo -l -U admin

Пример вывода:

Matching Defaults entries for admin on HackWare:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User admin may run the following commands on HackWare:
    (root : ALL) /home/admin/backup.sh, /usr/bin/apt

Строка «User admin may run the following commands on HackWare» означает «пользователь admin может запускать следующие команды на HackWare».

Также можно узнать, является ли та или иная команда заблокированной или разрешённой для выполнения пользователем с sudo следующим образом:

sudo -l -U ПОЛЬЗОВАТЕЛЬ КОМАНДА

Если команда запрещена, то ничего не будет выведено:

sudo -l -U admin rm

Если команда разрешена, то будет выведен полный путь до файла:

sudo -l -U admin apt
/usr/bin/apt

Как работает sudo?

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

Имя команды означает substitute user do или super user do. Утилита позволяет запускать программы от имени другого пользователя, но чаще всего от имени корневого. Утилита была разработана еще в 1980 году Бобом Когшелом и Клиффом Спенсером. За это время сменилось много разработчиков и было добавлено много функций.

Работает sudo благодаря флагу доступа SUID. Если этот флаг установлен для программы, то она выполняется не от имени того пользователя который ее запустил, а от имени владельца, учитывая что файл sudo принадлежит, то утилита выполняется от имени root. Затем она читает свои настройки, запрашивает пароль пользователя и решает можно ли ему разрешать выполнение команд от имени администратора. Если да, то выполняется переданная в параметре команда.

Теперь, когда вы знаете теорию, давайте рассмотрим как настроить sudo в Linux.

Коммутатор 3 уровня : смешивание и сочетание коммутации уровня 2/3

Коммутатор 3 уровня — это устройство, которое пересылает трафик на основе информации уровня 3 (главным образов через mac-адрес). коммутатор 3 уровня поддерживает все функции коммутации, а также имеет некоторые функции маршрутизации между VLAN. Он задуман, как технология ля повышения производительности сетевой маршрутизации в больших локальных сетях. Для коммутатора 3 уровня перенаправление уровня выполняется специализированными ASIC — это быстрее, чем маршрутизаторы, но им обычно не хватает расширенных возможностей маршрутизаторов. В отличие от маршрутизаторов, коммутатор 3 уровня менее подвержен задержке в сети, поскольку пакетам не нужно выполнять дополнительные действия через маршрутизатор. коммутатор 3 уровня выполняет функции, как и уровня 2, поэтому, его также называют “многоуровневым” коммутатором, и некоторые коммутаторы 10GbE и Gigabit PoE коммутаторы относятся к этому типу.

Коммутатор 3 уровня — это прежде всего устройство для локальной вычислительной сети (LAN — Local Area Network). Т.е. данный коммутатор должен маршрутизировать трафик в локальной сети между существующими сегментами. Обычно он используется на уровне распределения (Distribution Layer) в иерархической модели сети.

Для маршрутизатора:

По мере того как каналы глобальной сети становятся в большей степени основанными на Ethernet, наблюдается тенденция к замене коммутаторов уровня 3 на маршрутизаторы. Однако маршрутизатор все еще обладает некоторыми специальными функциями, которые не может поддерживать коммутатор 3 уровня . Это незаменимо в таких ситуациях.

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

Если вам необходимо объединить ваши офисы, например, чтобы соединить два офиса через общедоступный Интернет более безопасным способом, маршрутизатор может лучше удовлетворить потребности.

Если вы являетесь CE, участвующим в конфигурации MPLS, вам нужен маршрутизатор.

Как собираются функциональные и нефункциональные требования?

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

Давайте посмотрим, что включает в себя каждый тип требований.

Функциональные требования можно разделить на три группы:

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

Нефункциональные требования подпадают под различные категории, в том числе:

  • удобство использования — определяет, насколько легко пользователь может взаимодействовать с интерфейсом приложения, например, цвет экрана, размер кнопок и т. д.;
  • доступность — гарантирует, что приложение будет стабильно работать в течение определенного периода времени, например, редкие простои в течение года 24/7;
  • надежность — определяет, что приложение будет работать в определенной среде или в течение определенного периода времени без сбоев;
  • восстанавливаемость — гарантирует, что приложение сможет восстановить все данные после сбоя системы или восстановить систему до определенных параметров;
  • масштабируемость — определяет, что приложение будет продолжать работать должным образом после изменения его размера или объема;
  • производительность — оценивает, насколько быстро работает приложение;
  • возможность поддержки — определяет, легко ли поддерживать и поддерживать приложение на протяжении всего его жизненного цикла, и какая поддержка ему требуется, например,
  • собственная команда или удаленная поддержка;
  • безопасность — определяет, насколько безопасным должно быть приложение, например, FinTech и банковские приложения должны соответствовать международным и региональным стандартам безопасности;
  • емкость — оценивает объем данных или служб, которые может обрабатывать приложение.

Добавление пользователей в файл Sudoers

Только пользователи с администраторскими аккаунтами могут использовать sudo в Ubuntu. Вы можете изменить тип аккаунта в настройках в разделе «User Accounts».

Акканту,созданному при установке системы, Ubuntu автоматически присваивает тип администратора.

Если вы используете другой дистрибутив linux, вы можете дать пользователю разрешение на применение sudo с помощью команды visudo, которая требует привилегий root (поэтому сначала выполните команду su, или используйте su -c).Добавтьте в файл следующую строку, заменив «user» на требуемое имя пользователя:

user    ALL=(ALL:ALL) ALL

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

Ubuntu против других дистрибутивов Linux

Команда su — это традиционный способ получения прав root в Linux. Команда sudo существует уже давно, но Ubuntu был первым популярным дистрибутивом Linux, который по умолчанию стал использовать только sudo. При установке Ubuntu создается стандартная учетная запись root, но пароль ей не назначается. Вы не можете войти в систему как root, пока не назначите пароль для учетной записи root.

Использование sudo вместо su по умолчанию дает несколько преимуществ. Пользователи Ubuntu должны предоставить и запомнить только один пароль, тогда как Fedora и другие дистрибутивы требуют, чтобы вы во время установки создавали отдельные пароли для учетной записи root и пользователя.

Еще одно преимущество состоит в том, что он не позволяет пользователям входить в систему как пользователь root — или использовать su для получения оболочки root — и держать корневую оболочку открытой для выполнения своей обычной работы. Выполнение меньшего количества команд от имени root повышает безопасность и предотвращает случайные изменения в масштабе всей системы.

В дистрибутивах на основе Ubuntu, включая Linux Mint, по умолчанию также используется sudo вместо su.

Ubuntu/Mint vs. другие дистрибутивы Linux

Команда su — это традиционный способ получения привилегий root в Linux. Команда sudo существует уже достаточно давно, однако Ubuntu стал первым дистрибутивом, в котором по умолчанию используется только она. При установке Ubuntu создается стандартный аккаунт root, но его не назначается пароль. Вы не сможете авторизоваться как root, пока не зададите пароль для него.

Использование по умолчанию sudo вместо su имеет некоторые преимущства. Пользователям Ubuntu необходимо помнить только один пароль, в то время как пользователям Fedora и других дистрибутивов требуется создавать отдельные аккаунты для root и обычного пользователя, каждый со своим паролем.Еще одно преимущество — предотвращение нахождения пользователя постоянно в аккаунте root, или постоянно открытого терминала с сессией суперпользователя. Запуск меньшего числа команд от имени root повышает безопасность и предотвращает случайное внесение изменений в системные файлы.Дистрибутивы на базе Ubuntu, включая Linux Mint, также используют по умолчанию sudo вместо su.

51. Этап компиляции загрузки и выполнения

  • Этап компиляции (Compile time). Когда на стадии компиляцииизвестно точное место размещения процесса в памяти, тогда непосредственногенерируются физические адреса. При изменении стартового адреса программынеобходимо перекомпилировать ее код.
  • Этап загрузки (Load time). Если информация о размещениипрограммы на стадии компиляции отсутствует, компилятор генерирует перемещаемыйкод. В этом случае окончательное связывание откладывается до моментазагрузки. Если стартовый адрес меняется, нужно всего лишь перезагрузить код сучетом измененной величины.
  • Этап выполнения (Execution time). Если процесс может бытьперемещен во время выполнения из одной области памяти в другую,с вязывание откладывается до стадиивыполнения. Здесь желательно наличие специализированного оборудования, напримеррегистров перемещения. Их значение прибавляется к каждому адресу,сгенерированному процессом. Большинство современных ОС осуществляет трансляциюадресов на этапе выполнения,используя для этого специальный аппаратный механизм.

Заключение

Когда вы выбираете между коммутатором L3 и маршрутизатором, вам необходимо понять бизнес-требования, прежде чем принимать решение: как правило, правильно выбрать маршрутизатор, когда большую часть времени ваше устройство выполняет маршрутизацию, в противном случае – коммутатор 3 уровня . Коммутатор может подходить лучше, когда вам нужно больше портов, лучшая производительность сети и сегментация VLAN. FS предоставляет полный набор решений и продуктов для сетевых коммутаторов, включая SFP коммутатор, медный коммутатор и высококлассный коммутатор 40/100G. Для получения более подробной информации, пожалуйста, свяжитесь с нами по ru@fs.com.

Связанная статья: Что такое VPN роутер и зачем он вам нужен?

  • Коммутатор уровня 3

  • Коммутатор уровня 2

  • Домашняя сеть

  • Корпоративная сеть

  • Руководство для покупателя

Как сохранить ввод и вывод команд с sudo

Можно не только просматривать команды, которые выполнялись с sudo, но и сохранять ввод и вывод этих команд. Использование параметров log_input и log_output включает запуск команды sudo в псевдо tty и ведёт журнал всего ввода и вывода, отправленного на экран:

Defaults	log_input, log_output

По умолчанию данные сохраняются в директорию /var/log/sudo-io и, если имеется порядковый номер сеанса, то они сохраняются в директорию seq Вы можете настроить директорию хранения, структуру папок и имена файлов параметрами iolog_dir и iolog_file. По умолчанию данные будут сохраняться в структуре папок начиная с 00/00/01 и далее:

cd /var/log/sudo-io/
ls -l
cd 00/00/01
ls -l
cat log

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: