Что такое root linux
Что такое «root» в Linux?
Фатмавати ачмад дзэнури / Shutterstock.com
Пользователь root — самая могущественная сущность во вселенной Linux с безграничными полномочиями, к лучшему или к худшему. Создать пользователя? Понятно. Уничтожить файловую систему? Упс, тоже понял.
История происхождения
Пользователь root — это суперпользователь Linux. Они могут буквально все. Нет ничего запрещенного для root. Будет ли он супергероем или суперзлодеем, зависит от человека-пользователя, который берет на себя мантию системного администратора. Ошибки, допущенные пользователем root, могут иметь катастрофические последствия, поэтому учетную запись root следует использовать исключительно в административных целях.
Концепция пользователя root была унаследована от Unix, в которой пользователь root был административным суперпользователем. Но откуда взялось название «корень», доподлинно неизвестно. Некоторые думают, что это произошло из-за Операционная система Multics, который предшествует Unix.
Кен Томпсон а также Деннис Ричи, два наиболее важных архитектора и автора Unix, оба ранее работали над Multics. У Multics была файловая система, которая начиналась в точке, называемой корневым каталогом или «/», а все другие каталоги и подкаталоги разветвлялись вниз и наружу от корня, как перевернутое дерево. Это такая же древовидная структура, как и в Unix. Так, может быть, Unix также перенял пользователя root от Multics?
Поиск через Техническая документация Multics обнаруживает множество ссылок на корневые логические тома, корневые физические тома, корневые карты и корневой каталог. Но здесь нет упоминания об учетной записи пользователя root или пользователя с именем «root».
Другая теория состоит в том, что на заре Unix домашняя папка суперпользователя была корнем «/» файловой системы. Суперпользователю нужно имя. Термин «пользователь root» использовался вместо официального имени, но этот термин прижился и стал официальным именем.
Это кажется более вероятным, но, похоже, никто не может точно сказать, как пользователь root получил свое имя.
Команда sudo
В любой операционной системе рекомендуется зарезервировать суперпользователя только для административных целей, а в остальное время использовать учетную запись обычного пользователя. Фактически, большинство современных дистрибутивов Linux не позволяют вам войти в систему как пользователь root.
Конечно, это Linux, поэтому вы можете настроить его так, чтобы разрешить пользователю root вход в систему. Но чем меньше времени вы проводите в системе как root, тем лучше. Помимо защиты от сбоев, связанных с опечатками, если вы не можете войти в систему как root, никто другой не сможет. Любой, кто получит несанкционированный доступ к вашей системе, не сможет войти в систему как root, что ограничивает ущерб, который они могут нанести.
Но если вход в систему как root отключен, как вы будете администрировать свой Linux-компьютер? Что ж, для этого и предназначена команда sudo. Он не требует входа в систему от пользователя root. Он временно наделяет вас полномочиями root. Это как поднять молот Тора Мьёльнир и временно получил полномочия Тора. Но забрать молоток можно только в том случае, если ты достоин. Точно так же не каждый может использовать команду sudo. Команда sudo наделяет вас полномочиями root только в том случае, если вы были сочтены достойными и добавлены в список sudoers.
Есть еще одна команда, похожая на sudo, которая называется su. С sudo вы аутентифицируетесь, используя свой собственный пароль. С su вы аутентифицируетесь, используя пароль пользователя root. Это важно по двум причинам. Во-первых, это означает, что вам нужно назначить пароль пользователю root для использования su. По умолчанию у пользователя root нет пароля, и это помогает с безопасностью. Если у root нет пароля, вы не можете войти в систему как root.
Во-вторых, если вы установите пароль root, всем, кто собирается использовать команду su, необходимо знать пароль. А совместное использование паролей — это проблема безопасности, а для пароля root — тем более. Любой из людей, знающих пароль root, может рассказать кому-нибудь другому. Если вам нужно изменить пароль root, вам необходимо сообщить новый пароль всем людям, которым он нужен.
Гораздо безопаснее использовать список sudoers, чтобы ограничить круг лиц, которые могут использовать sudo, и позволить каждому привилегированному лицу использовать свои индивидуальные пароли для аутентификации.
Использование sudo
Файл «/ etc / shadow» содержит имя пользователя каждой учетной записи на вашем компьютере Linux, а также другую информацию, включая зашифрованный пароль каждой учетной записи, дату последней смены пароля и срок его действия. Поскольку он содержит конфиденциальную информацию, его может прочитать только root.
Если мы попытаемся использовать команду wc для чтения строк, слов и символов в теневом файле, нам будет отказано в разрешении.
туалет / и т. д. / тень
Если мы находимся в списке sudoers и используем ту же команду с sudo в начале строки, нам будет предложено ввести пароль, и команда будет выполнена за нас. Если вы единственный пользователь на своем компьютере с Linux, вы автоматически будете добавлены в список sudoers при установке системы.
sudo туалет / и т. д. / тень
Поскольку мы запускаем команду от имени пользователя root, выполняется команда wc. Никто не отрицает рут.
Мы видим, что команды выполняются от имени другого пользователя с помощью команды whoami.
Запуск от имени root без использования su
Загвоздка с sudo заключается в том, что вы должны использовать sudo в начале каждой команды. Если вы просто набираете одну или две команды, в этом нет ничего страшного. Если вам нужно выполнить более длинную последовательность команд, это может стать утомительным. Это может быть утомительно, но оно действует как полезный предохранитель для полномочий root, и вы должны сознательно снимать защиту каждый раз.
Есть способ эффективно «войти в систему» как root, который не использует su и не требует, чтобы у пользователя root был пароль.
Предупреждение: будьте осторожны при использовании этого метода. Каждая команда, которую вы вводите, будет успешно выполнена, без вопросов, даже если она разрушительна.
Использование sudo для запуска оболочки Bash открывает новую оболочку с пользователем root.
Обратите внимание, что командная строка изменится. Последним символом приглашения теперь является решетка «#» вместо символа доллара «$».
То, как отображается тело командной строки, варьируется от дистрибутива к дистрибутиву. В Ubuntu нам сообщают, что пользователь является пользователем root, и показывают имя компьютера и текущий рабочий каталог. Цвет подсказки также изменится.
Поскольку мы root, мы можем выполнять команды, которые обычно требуют использования sudo.
туалет / и т. д. / тень
Чтобы выйти из оболочки пользователя root, нажмите «Ctrl + D» или введите «exit» и нажмите «Enter».
Меньше Супермена, больше Кларка Кента
Если вы находитесь в списке sudoers, у вас есть суперсила над вашей системой Linux. Просто помните, что Супермен проводит больше времени в качестве своего кроткого альтер-эго, чем в своем красном плаще.
Как можно чаще используйте свою учетную запись обычного пользователя. Переходите на root только тогда, когда вам действительно нужно.
Администратор в Ubuntu, или Что такое sudo
Содержание
В любой Linux-системе обязательно есть один привилегированный пользователь — root. Этот пользователь имеет права на выполнение любых действий, удаление любых файлов и изменение любых параметров. Как-то ограничить свободу действий root практически невозможно. С другой стороны, все остальные пользователи системы обычно не имеют большинства необходимых прав, например, прав на установку программ, поскольку это является административной операцией, права на которую есть только у root. Ещё одной распространённой операцией, доступной только суперпользователю, является копирование и изменение файлов в системных папках, куда обычный пользователь доступа не имеет.
В Ubuntu по умолчанию root аккаунт вообще отключён, т.е. вы никаким способом не сможете попасть под root, не включив его. root именно что отключён, т.е. он присутствует в системе, под него всего лишь нельзя зайти. Если вы хотите вернуть возможность использовать root, смотрите ниже пункт о включении root аккаунта.
Что такое sudo
sudo — это утилита, предоставляющая привилегии root для выполнения административных операций в соответствии со своими настройками. Она позволяет легко контролировать доступ к важным приложениям в системе. По умолчанию, при установке Ubuntu первому пользователю (тому, который создаётся во время установки) предоставляются полные права на использование sudo. Т.е. фактически первый пользователь обладает той же свободой действий, что и root. Однако такое поведение sudo легко изменить, об этом см. ниже в пункте про настройку sudo.
Где используется sudo
Однако не все программы, требующие административных привилегий, автоматически запускаются через sudo. Обычно запускать программы с правами администратора приходится вручную.
Запуск графических программ с правами администратора
Допустим, нам необходимо запустить файловый менеджер Nautilus с правами администратора, чтобы через графический интерфейс как-то изменить содержимое системных папок. Для этого необходимо ввести в диалог запуска приложений команду
Запуск программ с правами администратора в терминале
Для запуска в терминале команды с правами администратора просто наберите перед ней sudo :
Система какое-то время помнит введённый пароль (сохраняет открытой sudo-сессию). Поэтому при последующих выполнениях sudo ввод пароля может не потребоваться. Для гарантированного прекращения сессии sudo наберите в терминале
Кроме того, часто встречаются ошибки, связанные с каналами в Linux. При исполнении команды
Получение прав суперпользователя для выполнения нескольких команд
Иногда возникает необходимость выполнить подряд несколько команд с правами администратора. В этом случае можно временно стать суперпользователем одной из следующих команд:
Использование традиционного root аккаунта и команды su
Ubuntu 11.04 и младше
Для входа под root достаточно задать ему пароль:
Потом на экране входа нажмите Другой… и введите логин (root) и пароль, который вы задали.
Ubuntu 11.10 и старше
Начиная с версии 11.10 был установлен менеджер входа lightdm, и дело со входом под root обстоит немного сложнее.
1. Устанавливаем root пароль. Введите в терминал:
2. Включаем пункт «Введите логин». Введите в терминал:
В конце файла допишите:
3. Перезагружаем lightdm. Введите в терминал:
Для обратной блокировки учетной записи root вам потребуется откатить изменения в настройках lightdm, а также заблокировать учетную запись root командой в терминале:
Настройка sudo и прав доступа на выполнение различных команд
Подробнее о синтаксисе и возможностях настройки этого файла можно почитать выполнив
Разрешение пользователю выполнять команду без ввода пароля
Для того, что бы система не запрашивала пароль при определенных командах необходимо в sudoers после строки # Cmnd alias specification добавить строку, где через запятую перечислить желаемые команды с полным путём(путь команды можно узнать, выполнив which имя_команды:
И в конец файла дописать строку
Создание синонимов (alias`ов)
и добавьте в конец файла строки
Время действия введённого пароля
Возможно, вы хотите изменить промежуток времени, в течение которого sudo действует без ввода пароля. Этого легко добиться добавив в /etc/sudoers (visudo) примерно следующее:
Здесь sudo для пользователя foo действует без необходимости ввода пароля в течение 20 минут. Если вы хотите, чтобы sudo всегда требовал ввода пароля, сделайте timestamp_timeout равным 0.
sudo не спрашивает пароль
sudo без пароля — чудовищная дыра в безопасности, кому попало разрешено делать что угодно. Если вы разрешили это намеренно — срочно верните обратно как было.
Скорее всего, эта катастрофичная строка была добавлена при установке программы типа Connect Manager от МТС или Мегафона. В таком случае, её нужно поменять на строку, разрешающую с правами root запускать только этот Connect Manager, примерно так:
Есть и другие варианты решения проблемы, небольшое обсуждение здесь.
Ubuntu Documentation
Содержание
Думаете, с вами такого не случится? Даже опытные администраторы Linux рассказывают жуткие истории о том дне, когда они сделали роковую опечатку или не задумывались над тем, что они делают, работая под именем суперпользователя.
По умолчанию учетная запись суперпользователя отключена в Ubuntu. Это означает, что вы не сможете зайти в систему как root. Однако, инсталлятор настраивает sudo для пользователя, созданного во время установки. Команда sudo позволяет выполнять все приложения, требующие привилегий суперпользователя.
Заметки
Для выполнения графических конфигурационных утилит с sudo, просто запустите приложение через меню.
Для запуска программ через sudo, которые обычно запускаются под обычным пользователем (например gedit), нажмите Alt+F2 и введите gksudo gedit. В Kubuntu используйте вместо gksudo программу kdesu.
Использование sudo в командной строке:
Для запуска графических программ используйте gksudo или kdesu, иначе попытка входа может провалиться. Если это происходит и при входе вылазит ошибка: «Unable to read ICE authority file», войдите в безопасный терминал и выполните следующую команду, подставив своё имя пользователя:
Для запуска режима суперпользователя в терминале (root shell, т.е. командная строка, где вы можете выполнять команды под пользователем root), запустите терминал и выполните команду:
Разрешение другим пользователям использовать sudo
Чтобы разрешить пользователю использовать sudo, откройте Система → Администрирование → Пользователи и группы. Затем выберите пользователя и нажмите на кнопке Свойства. В появившемся окне зайдите на вкладку Привилегии пользователя и поставьте галочку Администрировать систему.
Преимущества использования sudo
sudo добавляет в лог выполненные команды (/var/log/auth.log).
Минусы использования sudo
Хотя выгода для использования sudo на персональных компьютерах велика, есть некоторые моменты, которые надо отметить:
Заблуждения
Разве sudo не менее безопасно, чет su?
Основая модель безопасности одинакова в обоих случаях, поэтому и уязвимость будет одинаковой. Любой пользователь, использующий su или sudo рассматривается как привилегированный пользователь. If that user’s account is compromised attby an attacker, the attacker can also gain root privileges the next time the user does so. The user account is the weak link in this chain, and so must be protected with the same care as root.
On a more esoteric level, sudo provides some features which encourage different work habits, which can positively impact the security of the system. sudo is commonly used to execute only a single command, while su is generally used to open a shell and execute multiple commands. The sudo approach reduces the likelihood of a root shell being left open indefinitely, and encourages the user to minimize their use of root privileges.
Я не буду иметь возможность загрузиться в однопользовательском режиме! Программа sulogin в Ubuntu изменена для того чтобы можно было войти в однопользовательский режим, даже если пользователь root отключен.
Console users have access to the boot loader, and can gain administrative privileges in various ways during the boot process. For example, by specifying an alternate init(8) program. Linux systems are not typically configured to be secure at the console, and additional steps (for example, setting a root password, a boot loader password and a BIOS password) are necessary in order to make them so. Note that console users usually have physical access to the machine and so can manipulate it in other ways as well.
Возврат к традиционной учетной записи root
» height=»16″ src=»/moin_static198/light/img/icon_cool.png» title=»Info » width=»16″ /> Не рекомендуется это делать!
Consider using the below command instead:
Использование этой команды временно откроет консоль с правами root. Активация аккаунта root в Ubuntu не поддерживается из-за ненадобности. Всё, что вам требуется сделать с правами администратора в Ubuntu можно сделать через sudo или gksudo.
Если root включен, и вы хотите отключить его, откройте терминал и введите следующую команду:
Drag & Drop Sudo
Создайте кнопку запуска со следующей командой:
Теперь при перетаскивании любого файла на эту кнопку, будет запущено ассоциированное с этим файлом приложение с привилегиями суперпользователя. Это особенно удобно при редактировании конфигурационных файлов.
RootSudoRu (последним исправлял пользователь andreyshel 2010-06-01 09:56:33)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
Root и другие пользователи [+группы] в Linux
Здравствуйте, уважаемые посетители, читатели, други и недруги, случайные личности, постоянные клиенты и прочие, так сказать, человеки. Мы продолжаем знакомить Вас с Linux-системами, и эта статья из цикла, посвященного Linux, попытается продолжить базовое знакомство и потихоньку погружать Вас в реальность опытного линуксоида, которая (реальность) таки не всегда сурова, особенно, когда есть знания и материалы на нашем ресурсе, но не всегда бывает и добра.
Всякое-разное о многопользовательской Linux и администраторском аккаунте Root
1. Многопользовательская система
Итак, еще раз. Linux является многозадачной многопользовательской (сколько много мног’ов :)) операционной системой. Это означает, что одновременно с системой могут работать несколько пользователей, да и каждый из них может запускать несколько приложений. И при этом, например, Вы можете зайти в систему локально, а другой пользователь – удаленно, воспользовавшись протоколами удаленного доступа ( telnet, ssh, ftp ).
Это очень удобно. Приведем пример, чтобы было понятно, о чем идет речь. Предположим, Вам понадобилось распечатать документ, который есть на рабочем компьютере, а на домашнем его нет. При наличии интернета и компьютера, настроенного соответствующим образом, это не составит особого труда, ибо Вы спокойно зайдете в систему, скопируете нужный Вам файл и распечатаете его там, где вам это удобно. И даже если кто-то в момент Вашего подключения уже работает с системой, то таки Вы не будете мешать друг другу. В Windows такая возможность тоже есть, но только после установки соответствующего программного обеспечения, и при этом Вы не сможете войти в систему, чтобы «не помешать» другому пользователю, который уже в ней находится. Вместе вы работать не сможете, ибо будете мешать друг другу. Всё, что Вы будете делать, будет отражаться на мониторе пользователя (т.е. рабочий стол получится как бы общий), и если не предупредить пользователя, что Вы удаленно зашли в систему, он подумает, что с его компьютером что-то не так (случай, конечно, не 100 %, но в большинстве своём это факт).
Откроется окно программы gedit :
Если мы введем без sudo ту же команду:
..то файл откроется, но сохранить изменения, внесенные Вами, не получится, поскольку у Вас не будет тех полномочий, которые требуются для редактирования.
Видите, кнопка « Сохранить » неактивна.
Немного практики.
Давайте добавим нового пользователя в систему. Для этого нужно от суперпользователя ввести всего 2 команды:
# adduser пользователя> (добавляет пользователя)
# passwd пользователя> (задает/изменяет пароль)
Если пароль задан слишком простой, то Вам выдастся предупреждение, что пароль слишком доступный:
И так будет до бесконечности, пока Вы не создадите нормальный и таки взломоустойчивый пароль.
Помимо этого в файле /etc/passwd создается запись, короче, наш новый пользователь Dron будет полноправным пользователем системы.
Удалить пользователя из системы так же просто, как и завести его. Достаточно набрать команду:
Еще раз вернитесь к рисунку, где мы удаляли пользователя Dron из системы. В системе остался один пользователь – galina. Выделите его, нажмите на кнопку « Свойства » и Вы узнаете много интересного :). Например, обратите внимание на вкладку « Группы », где можете включить пользователя в ту или иную группу, просто поставив галочку:
С каждым новым пользователем создаются и новые группы. Если у пользователя galina на вкладке « Группы » поставить галку на группе « Dron », то у galina будет доступ к домашнему каталогу пользователя Dron (а вот у Dron таких полномочий не будет).
sudo apt-get install gnome-system-tools.
Пошел процесс установки данной утилиты:
Обратите внимание, что для установки данного пакета требуется разрешить зависимости (о зависимостях мы уже говорили в предыдущей статье, а теперь наглядно это продемонстрируем), т.е. будут установлены дополнительные пакеты для того, чтобы утилита корректно работала.
Потом в поиске можно набрать «группы» или «пользователи» и появится иконка утилиты gnome-system-tools
И нашему взору представляется графический интерфейс настроек пользователей и групп в ubuntu :
Все современные дистрибутивы Linux неплохо русифицированы, а поэтому более подробно останавливаться на рассмотрении этой утилиты мы не будем, но главные моменты осветим.
На вкладке « Дополнительно » Вы можете отключить учетную запись, изменить группу, ID пользователя, можете даже выбрать другой интерпретатор и домашний каталог.
Чтобы управлять группами – нужно воспользоваться кнопкой « Управление группами ».
Вы увидите список групп и кнопки « Добавить » (ну понятно же, что эта кнопка добавляет новую группу), « Удалить » (удаляет группу) и « Свойства » (с помощью этой кнопки Вы легко добавите/исключите членов группы). Все очень просто и интуитивно понятно.
На этом мы закончим нашу очередную лекцию :). Надеюсь, что я Вас не утомил? Согласитесь, что в принципе не так уж и страшна эта система, как о ней говорят. Если есть что дополнить (добавить), милости прошу, добавляйте в своих комментариях.
Послесловие
Вот такая вот получилась полутеоретическая и немножко практическая, но таки важная статья для тех, кто постигает линукс и кому он интересен.
Мало-помалу будем двигаться дальше. Оставайтесь на связи, читайте статьи в этой рубрике, комментируйте, предлагайте темы и всё такое прочее.