- Администратор в Ubuntu, или Что такое sudo
- Содержание
- Что такое sudo
- Где используется sudo
- Запуск графических программ с правами администратора
- Запуск программ с правами администратора в терминале
- Получение прав суперпользователя для выполнения нескольких команд
- Использование традиционного root аккаунта и команды su
- Ubuntu 11.04 и младше
- Ubuntu 11.10 и старше
- Настройка sudo и прав доступа на выполнение различных команд
- Разрешение пользователю выполнять команду без ввода пароля
- Создание синонимов (alias`ов)
- Время действия введённого пароля
- sudo не спрашивает пароль
- 6 Linux дистрибутивов для сисадминов и разработчиков, которые подходят и новичкам
- 1. Ubuntu
- 2. Arch Linux
- 3. Kali Linux
- 4. Debian
- 5. Linux Mint
- 6. CentOS
Администратор в Ubuntu, или Что такое sudo
Содержание
В любой Linux-системе обязательно есть один привилегированный пользователь — root. Этот пользователь имеет права на выполнение любых действий, удаление любых файлов и изменение любых параметров. Как-то ограничить свободу действий root практически невозможно. С другой стороны, все остальные пользователи системы обычно не имеют большинства необходимых прав, например, прав на установку программ, поскольку это является административной операцией, права на которую есть только у root. Ещё одной распространённой операцией, доступной только суперпользователю, является копирование и изменение файлов в системных папках, куда обычный пользователь доступа не имеет.
Раньше данная проблема решалась достаточно просто: при обладании паролем root можно было зайти в систему под его аккаунтом либо временно получить его права, используя команду su . Потом выполнить все необходимые операции и вернуться обратно под обычного пользователя. В принципе, такая схема работает неплохо, однако у неё есть много существенных недостатков, в частности, невозможно никак (точнее, очень сложно) ограничивать административные привилегии только определённым кругом задач.
Поэтому в современных дистрибутивах Linux вместо root аккаунта для администрирования используется утилита sudo .
В Ubuntu по умолчанию root аккаунт вообще отключён, т.е. вы никаким способом не сможете попасть под root, не включив его. root именно что отключён, т.е. он присутствует в системе, под него всего лишь нельзя зайти. Если вы хотите вернуть возможность использовать root, смотрите ниже пункт о включении root аккаунта.
Что такое sudo
sudo — это утилита, предоставляющая привилегии root для выполнения административных операций в соответствии со своими настройками. Она позволяет легко контролировать доступ к важным приложениям в системе. По умолчанию, при установке Ubuntu первому пользователю (тому, который создаётся во время установки) предоставляются полные права на использование sudo. Т.е. фактически первый пользователь обладает той же свободой действий, что и root. Однако такое поведение sudo легко изменить, об этом см. ниже в пункте про настройку sudo.
Где используется sudo
sudo используется всегда, когда вы запускаете что-то из меню Администрирования системы. Например, при запуске Synaptic вас попросят ввести свой пароль. Synaptic — это программа управления установленным ПО, поэтому для её запуска нужны права администратора, которые вы и получаете через sudo вводя свой пароль.
Однако не все программы, требующие административных привилегий, автоматически запускаются через sudo. Обычно запускать программы с правами администратора приходится вручную.
Запуск графических программ с правами администратора
Для запуска графических программ с правами администратора можно воспользоваться диалогом запуска программ, вызываемым по умолчанию сочетанием клавиш Alt + F2 .
Допустим, нам необходимо запустить файловый менеджер Nautilus с правами администратора, чтобы через графический интерфейс как-то изменить содержимое системных папок. Для этого необходимо ввести в диалог запуска приложений команду
Вместо gksudo можно подставить gksu , кроме того, пользователи KDE должны вместо gksudo писать kdesu . У вас попросят ввести свой пароль, и, если вы обладаете нужными правами, Nautilus запуститься от имени администратора. Запуск любого графического ПО можно производить с правами администратора, просто написав в диалоге запуска
Запуск программ с правами администратора в терминале
Для запуска в терминале команды с правами администратора просто наберите перед ней sudo :
У вас попросят ввести ваш пароль. Будьте внимательны, пароль при вводе никак не отображается, это нормально и сделано в целях безопасности, просто вводите до конца и нажимайте Enter . После ввода пароля указанная команда исполнится от имени root.
Система какое-то время помнит введённый пароль (сохраняет открытой sudo-сессию). Поэтому при последующих выполнениях sudo ввод пароля может не потребоваться. Для гарантированного прекращения сессии sudo наберите в терминале
Кроме того, часто встречаются ошибки, связанные с каналами в Linux. При исполнении команды
с правами root исполнится только cat , поэтому файл result.txt может не записаться. Нужно либо писать sudo перед каждой командой, либо временно переходить под суперпользователя.
Получение прав суперпользователя для выполнения нескольких команд
Иногда возникает необходимость выполнить подряд несколько команд с правами администратора. В этом случае можно временно стать суперпользователем одной из следующих команд:
После этого вы перейдёте в режим суперпользователя (с ограничениями, наложенными через настройки sudo), о чём говорит символ # в конце приглашения командной строки. Данные команды по действию похожа на su , однако: — sudo -s — не меняет домашний каталог на /root, домашним остается домашний каталог пользователя вызвавшего sudo -s, что обычно очень удобно. — sudo -i — сменит так же и домашний каталог на /root.
Для выхода обратно в режим обычного пользователя наберите exit или просто нажмите Ctrl + D .
Использование традиционного root аккаунта и команды su
Ubuntu 11.04 и младше
Для входа под root достаточно задать ему пароль:
Потом на экране входа нажмите Другой… и введите логин (root) и пароль, который вы задали.
Ubuntu 11.10 и старше
Начиная с версии 11.10 был установлен менеджер входа lightdm, и дело со входом под root обстоит немного сложнее.
1. Устанавливаем root пароль. Введите в терминал:
2. Включаем пункт «Введите логин». Введите в терминал:
В конце файла допишите:
3. Перезагружаем lightdm. Введите в терминал:
Все, на экране входа появится пункт «Логин». В поле логин вводим «root», в поле пароль — пароль, который мы задали на первом этапе.
Для обратной блокировки учетной записи root вам потребуется откатить изменения в настройках lightdm, а также заблокировать учетную запись root командой в терминале:
Настройка sudo и прав доступа на выполнение различных команд
sudo позволяет разрешать или запрещать пользователям выполнение конкретного набора программ. Все настройки, связанные с правами доступа, хранятся в файле /etc/sudoers . Это не совсем обычный файл. Для его редактирования необходимо (в целях безопасности) использовать команду
По умолчанию, в нём написано, что все члены группы admin имеют полный доступ к sudo , о чём говорит строчка
Подробнее о синтаксисе и возможностях настройки этого файла можно почитать выполнив
Разрешение пользователю выполнять команду без ввода пароля
Для того, что бы система не запрашивала пароль при определенных командах необходимо в sudoers после строки # Cmnd alias specification добавить строку, где через запятую перечислить желаемые команды с полным путём(путь команды можно узнать, выполнив which имя_команды:
И в конец файла дописать строку
Создание синонимов (alias`ов)
Для того, чтобы не только не вводить пароль для sudo, но и вообще не вводить sudo, сделайте следующее: откройте файл .bashrc, находящейся в вашем домашнем каталоге
и добавьте в конец файла строки
Время действия введённого пароля
Возможно, вы хотите изменить промежуток времени, в течение которого sudo действует без ввода пароля. Этого легко добиться добавив в /etc/sudoers (visudo) примерно следующее:
Здесь sudo для пользователя foo действует без необходимости ввода пароля в течение 20 минут. Если вы хотите, чтобы sudo всегда требовал ввода пароля, сделайте timestamp_timeout равным 0.
sudo не спрашивает пароль
sudo без пароля — чудовищная дыра в безопасности, кому попало разрешено делать что угодно. Если вы разрешили это намеренно — срочно верните обратно как было.
Однако, в некоторых случаях sudo внезапно перестаёт требовать пароль само по себе. Если сделать visudo , то можно увидеть примерно такую строку, которую пользователь вроде бы не добавлял:
Скорее всего, эта катастрофичная строка была добавлена при установке программы типа Connect Manager от МТС или Мегафона. В таком случае, её нужно поменять на строку, разрешающую с правами root запускать только этот Connect Manager, примерно так:
Есть и другие варианты решения проблемы, небольшое обсуждение здесь.
Источник
6 Linux дистрибутивов для сисадминов и разработчиков, которые подходят и новичкам
Самым значительным преимуществом Linux является его индивидуальная настройка. Не имеет значения, в какой отрасли вы работаете; Есть дистрибутивы, которые вы можете использовать в своей работе. Некоторые дистрибутивы лучше всего подходят для научной работы, которая требует научного подхода и программирования.
Кроме того, большинство дистрибутивов можно использовать для повседневной деятельности. Как технический специалист, всегда полезно попробовать разные дистрибутивы Linux и попытаться понять, какой из них лучше подходит для вас.
1. Ubuntu
Если вы ищете знакомый дистрибутив, чтобы начать, то вы не ошибетесь с Ubuntu. Это всемирно известный дистрибутив. Он лучше всего подходит для тех, кто хочет использовать Linux ежедневно.
Для установки Ubuntu вам потребуется следующие ситсемные требования, необходимые для эффективной работы.
- 4 ГБ ОЗУ
- Двухъядерный процессор 2 ГГц
- 25 ГБ на жестком диске
Это рекомендуемое требование, но вы можете установить Ubuntu на компьютер с 512 МБ ОЗУ, 700 МГц процессором и 5 ГБ на жестком диске.
Итак, что делает Ubuntu таким особенным?
Прежде всего, это простой в использовании функционал.
Во-вторых, он безопасный и предоставляет отличную платформу для новичка.
Технически, Ubuntu основан на Debian. Это также поставляется с Long Team Support(LTS). Это означает, что вы можете установить стабильную версию для вашей машины. Есть и другие версии Ubuntu, которые вы можете попробовать, в том числе Ubuntu Core для безопасной сборки устройств IoT, для корпоративных нужд и Ubuntu Server для серверных нужд.
- Лучший дистрибутив для начинающих
- Хорош для повседневной деятельности
- Предлагает поддержку LTS
- Поставляется с несколькими версиями
- Безопасный
2. Arch Linux
Arch Linux — это легкий, гибкий дистрибутив Linux. Он предлагает отличную настройку из коробки. Однако Arch Linux не для начинающих. Он должен использоваться только опытными пользователями, которые уже знают операционную систему Linux.
Лучше всего подходит для программистов или опытных пользователей Unix. По сути, он разработан по строгому принципу дизайна. Это затрудняет работу. Итак, если вы знакомы с основной работой системы, тогда дистрибутив для вас.
Это также легкий дистрибутив и поставляется с различными инструментами настройки.
Минимальное требование — 1 ГБ дискового пространства, 512 МБ ОЗУ и 64-разрядный процессор.
- Лучше всего для программистов и опытных пользователей
- Облегченный
- Инструменты настройки
- Arch Linux следует строгой философии дизайна
3. Kali Linux
Если вы работаете в сфере кибербезопасности , то Kali Linux для вас. Это продвинутый дистрибутив Linux, который предлагает доступ к сотням инструментов тестирования на проникновение. По сути, Kali Linux основана на Debian. Это означает, что он постоянно обновляется новыми функциями и поддержкой инструментов.
Он опирается на ветку Debian Testing, которая является ультрасовременной веткой, которая содержит все последние функции и исправления ошибок.
Чтобы начать работу с Kali Linux, вам необходимо не менее 512 МБ ОЗУ, архитектура AMD64 или i386 и минимум 3 ГБ на жестком диске. Так что, если вы интересуетесь тестированием или кибербезопасностью, дистрибутив для вас. Изначально проект назывался BackTrack, но затем он перешел на Kali Linux.
Некоторые из основных предустановленных инструментов на проникновение включают Nmap, Wireshark, Aircrack-ng и так далее!
- Подходит для тестеров на проникновение или экспертов по кибербезопасности
- Быстрый и легкий
- Поставляется с тоннами инструментов для тестирования на проникновение
- Основан на Debian
4. Debian
Debian — одна из самых популярных операционных систем на основе Unix. Я перечислил его, потому что вы можете легко найти много дистрибутивов на основе Linux на основе Debian. Главной причиной того, что он является ключевым компонентом современных дистрибутивов, является его огромное хранилище. В настоящее время здесь находится более 50 000 пакетов программ. Коллекция программного обеспечения делает его идеальным местом для изучения.
Debian также очень стабилен, безопасен и быстрый. Любой может использовать это. Он гибок в выборе рабочего стола. В меню загрузки вы можете выбрать XFCE, LXDE и KDE.
Для правильной работы Debian вам потребуется минимум 1 ГГц ЦП, 256 МБ ОЗУ и 10 ГБ на жестком диске.
- Может быть использован любым
- Активное сообщество
- Позволяет пользователям выбирать среду рабочего стола
- Предлагает сочетание открытого и платного программного обеспечения
- Простота установки и обучения
5. Linux Mint
Если вы ищете легкий дистрибутив Linux, то Linux Mint для вас. Он основан на Debian и Ubuntu. Дистрибутив также обеспечивает удобным интерфейсом. Он лучше всего подходит для новичков, но в равной степени полезен и для опытных пользователей.
Linux Mint, как и большинство дистрибутивов, управляется сообществом. В плане интерфейса, вы можете выбрать между Xfce, KDE, GNOME, Cinnamon и MATE. Вы также можете свободно выбирать из хранилища 30 000 пакетов.
Чтобы использовать его правильно, вам нужно минимум 512 МБ ОЗУ, 9 ГБ на жестком диске и современный процессор.
- Основано на Debian и Ubuntu
- Безопасный и простой в использовании
- Современный интерфейс рабочего стола
- Поставляется в нескольких вариантах
- Среда Cinnamon похожа на Mac OS
6. CentOS
CentOS совместим с Red Hat Enterprise Linux (RHEL). Если вы когда-нибудь хотели попробовать Red Hat Enterprise Edition, но не смогли из-за вашего бюджета и возможностей, то CentOS для вас.
CentOS можно использовать на персональном компьютере, но в основном он предназначен для серверов и распределенных сетей. Если вы пытаетесь настроить домашний сервер, то CentOS — это идеальный дистрибутив сервера, который вам нужен. Он очень стабилен и предлагает десятилетний цикл поддержки.
Системные требования CentOS сложны, и поэтому я рекомендую вам ознакомиться с их официальным сайтом для лучшего понимания.
- Лучше всего для домашних серверов
- Предлагает десятилетний цикл поддержки
- Очень стабильный
- Поставляется с последними программными пакетами
Источник