Root linux что это
Администратор в 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, примерно так:
Есть и другие варианты решения проблемы, небольшое обсуждение здесь.
🐧 Как стать пользователем root на Linux
Пользователь root – это суперпользователь Linux, который похож на администратора на Windows.
Он может выполнить все виды административных операций, поэтому никому не предоставляйте root-права, поскольку они могут повредить вашу систему, если они не знакомы с Linux.
Отключение root является безопасным подходом, в UBUNTU как правило это реализовано и предоставляется пользователь sudo вместо root-доступа.
Чтобы справиться с этой ситуацией, вы можете позволить обычному пользователю выполнять административные задачи с помощью команды sudo.
Если вы не знаете, как настроить доступ sudo в Linux, обратитесь к следующей статье.
Вы можете точно отслеживать активность пользователя, когда включаете ему доступ sudo.
Система записывает все в журнал сообщений (/var/log/message).
1) Как стать пользователем root на Linux с помощью команды su
Команда su (сокращение от «substitute» или « switch user» или «super user») позволяет вам запускать команды с привилегиями другого пользователя, по умолчанию пользователь root.
su – самый простой способ переключиться на учетную запись root в Linux, но для использования команды su в Linux вы должны знать пароль root.
Это позволит вам получить домашний каталог пользователя root и его оболочку.
Вы можете задаться вопросом, почему я должен использовать «-» при использовании команды su, и в чем разница.
Команда sudo (сокращение от super user do) позволяет временно запускать другие команды от имени пользователя root.
Это лучший способ выполнять команды от пользователя root, потому что система записывает все, что вы делаете с помощью команды sudo.
Пользователю не нужно знать пароль пользователя root, чтобы стать пользователем root.
Вместо этого пользователи будут вводить свой собственный пароль, чтобы получить временный root-доступ.
Система предоставит вам интерактивную рут оболочку, и вы попадете в домашний каталог рута (/root).
Кроме того, вы можете запустить команду прямо из сеанса, добавив sudo перед каждой выполняемой командой.
Система даст вам root-доступ, но защищает вашу текущую среду, включая специфические для оболочки настройки и домашний каталог.
Что такое «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 только тогда, когда вам действительно нужно.
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 пользователя, можете даже выбрать другой интерпретатор и домашний каталог.
Чтобы управлять группами – нужно воспользоваться кнопкой « Управление группами ».
Вы увидите список групп и кнопки « Добавить » (ну понятно же, что эта кнопка добавляет новую группу), « Удалить » (удаляет группу) и « Свойства » (с помощью этой кнопки Вы легко добавите/исключите членов группы). Все очень просто и интуитивно понятно.
На этом мы закончим нашу очередную лекцию :). Надеюсь, что я Вас не утомил? Согласитесь, что в принципе не так уж и страшна эта система, как о ней говорят. Если есть что дополнить (добавить), милости прошу, добавляйте в своих комментариях.
Послесловие
Вот такая вот получилась полутеоретическая и немножко практическая, но таки важная статья для тех, кто постигает линукс и кому он интересен.
Мало-помалу будем двигаться дальше. Оставайтесь на связи, читайте статьи в этой рубрике, комментируйте, предлагайте темы и всё такое прочее.
Права суперпользователя Linux
Как вы знаете, Linux очень серьезно относится к управлению пользователями и предоставлению им прав на работу с системой. Обычный пользователь может записывать файлы только в свой каталог и каталог /tmp/. Также есть возможность читать некоторые файлы в корневой файловой системе. Но вы не можете устанавливать программы, ведь для этого нужно право на запись, не можете изменять атрибуты файлов, не можете запускать сервисы, не можете читать некоторые файлы логов и еще много чего не можете.
В Linux управлять корневой файловой системой и создавать там файлы имеет право только пользователь root.
В этой статье мы рассмотрим какие программы нужны для того, чтобы получить права root пользователя linux, как они работают, как выполнять программу с правами root от обычного пользователя и как запускать графические программы с правами root. А также выясним что такое sudo в чем разница su или sudo.
Права суперпользователя в Linux
Очень долго перечислять чего не может обычный пользователь Linux, проще сказать на что у него есть право, а именно при стандартной настройке полномочий для файлов в Linux, обычный пользователь может:
Если же нужно сделать что-то большее нам понадобятся права root пользователя linux. У root есть право делать все в вашей файловой системе независимо от того какие права установлены на файл.
Вход под суперпользователем
Чтобы войти под пользователем root можно переключиться в одну из виртуальных консолей, например, с помощью сочетания клавиш Ctrl+Alt+F1 и затем ввести логин root и пароль root пользователя.
Вы получите полноценное окружение root с возможностью выполнять все действия, но такой способ очень непрактичный, так как вы теряете все преимущества использования графического интерфейса.
Можно поступить полностью противоположным путем, ввести логин root и его пароль в графическом менеджере входа, чтобы окружение рабочего стола работало от имени root, и мы получаем все права root linux, но такой вариант крайне не рекомендованный, и очень опасный, вы можете случайно повредить всю систему. Поэтому этот способ был отключен во многих менеджерах входа.
Переключение на суперпользователя в терминале
Теперь мы подошли к более интересному и практичному. С помощью специальных утилит вы можете переключить текущий эмулятор терминала в окружения суперпользователя и выполнять все следующие команды не от своего имени, а от его, таким образом, дав программе права root linux. Для этого существует утилита su. Вообще говоря, эта утилита позволяет не только переключаться на пользователя root но и на любого другого пользователя, но по умолчанию используется именно root. Рассмотрим ее подробнее. Команда su linux имеет следующий синтаксис:
$ su опции пользователь
Вот ее основные опции:
Теперь немного поэкспериментируем, чтобы понять как работает команда su linux.
Сначала выполним su без параметров, но для начала создадим переменную окружения, чтобы проверить как с ними обходится эта команда:
Теперь смотрим что получилось:
Из этих команд мы видим, что теперь мы пользователь root, но домашней директорией считается директория нашего предыдущего пользователя и наша переменная не сохранилась также изменилась переменная PATH, теперь там добавлен путь /sbin.
Теперь используем вход в режиме логина:
И повторим ту же комбинацию:
Как видите, наша переменная осталась. Вы также можете переключится на любого другого пользователя. Например:
Более подробно о команде su вы можете почитать в отдельной статье. Получение прав суперпользователя таким способом используется во многих дистрибутивах, например, Debian, OpenSUSE, ArchLInux, Gentoo и т д. Но в Ubuntu, как дистрибутиве для начинающих вход под пользователем root отключен. Это сделано потому, что это тоже не очень безопасно, вы можете забыть что выполняете команду от root и что-то натворить в системе. Поэтому переходим к следующей программе.
Получение прав root без переключения
Чтобы реализовать максимально безопасный интерфейс для работы с правами суперпользователя в Linux была разработана команда sudo. Давайте рассмотрим что такое sudo. Эта команда пишется перед каждой командой, которую нужно выполнить от имени суперпользователя, и для ее выполнения нужно ввести пароль уже не root, а всего лишь вашего пользователя. Так же, как и в предыдущей, в этой утилиты есть свои опции. Сначала рассмотрим синтаксис:
$ sudo опции команда
Вы можете выполнить те же эксперименты, только для этой команды, чтобы понять как использовать команду sudo. Например:
Графически приложения от имени суперпользователя
Для запуска графических приложений от имени суперпользователя существуют специальные утилиты. Они сохраняют все необходимые переменные окружения и полномочия. В KDE это команда kdesu, а в Gnome команда gksu.
Просто наберите gksu или kdesu, а затем нужную команду:
Эта команда запустит файловый менеджер KDE с правами суперпользователя. В Gnome это будет выглядеть вот так:
Программа запросит пароль, уже в графическом окне, а потом откроется файловый менеджер.
Выводы
Вот и все. Теперь вы знаете как получить права суперпользователя в Linux, знаете как использовать команду sudo и в чем разница sudo или su. Теперь программы, требующие дополнительных привилегий в системе, не вызовут у вас проблем. Если остались вопросы, пишите в комментариях!