- Installing ROOT
- Download a pre-compiled binary distribution
- Install via a package manager
- Conda
- Linux package managers
- Fedora
- CentOS
- Arch Linux
- Gentoo
- NixOS/Nix/Nixpkgs
- Ubuntu and Debian-based distributions
- MacOS package managers
- Homebrew
- Macports
- Nix/Nixpkgs
- LCG releases on CVMFS
- Standalone ROOT
- Complete environment
- Gentoo Prefix on CVMFS
- Run in a Docker container
- Run on CERN LXPLUS
- Build from source
- Как зайти под root в Ubuntu
- Как зайти под root в Ubuntu
- Как зайти под суперпользователем в linux
- Содержание
- Что такое sudo
- Где используется sudo
- Запуск графических программ с правами администратора
- Запуск программ с правами администратора в терминале
- Получение прав суперпользователя для выполнения нескольких команд
- Использование традиционного root аккаунта и команды su
- Ubuntu 11.04 и младше
- Ubuntu 11.10 и старше
- Настройка sudo и прав доступа на выполнение различных команд
- Разрешение пользователю выполнять команду без ввода пароля
- Создание синонимов (alias`ов)
- Время действия введённого пароля
- sudo не спрашивает пароль
- Назначение пароля root
- Включение возможности входить под root в MDM
- Всякое-разное о многопользовательской Linux и администраторском аккаунте Root
- Смотрите видео: Как Получит Права Супер Пользователя root. linux ubuntu обзор для начинающих (November 2019).
- Права суперпользователя в Linux
- Вход под суперпользователем
- Переключение на суперпользователя в терминале
- Получение прав root без переключения
- Графически приложения от имени суперпользователя
- Выводы
Installing ROOT
ROOT is available on Linux, Mac, and (as a beta release) on Windows.
The latest stable ROOT release is 6.24/06 (about ROOT versioning scheme).
There are several ways to install ROOT on your computer: they are all listed in the table of content on the right. Which one is best for you depends on your operating system and usage requirements. In all cases, make sure to always use the most recent ROOT release possible to get the latest bug fixes, features and quick user support.
Download a pre-compiled binary distribution
We distribute pre-compiled ROOT for several major Linux distributions as well as MacOS and (as a beta) Windows. The steps to install a pre-compiled binary are simple:
- Install all required dependencies with the system package manager
- Download the release for the desired platform and ROOT version
- Unpack the archive
- Add the ROOT libraries and executables to your environment by sourcing the appropriate thisroot.* script. These setup scripts can be found in the ROOT binary release, in the bin directory.
For example, on Ubuntu 20, a user could execute the following bash commands to install ROOT v6.24/02, after installing all required dependencies:
To avoid having to source thisroot.sh every time one needs to use ROOT, it is typical to add the command to .bashrc , .profile or analogous configuration files. Note, however, that sourcing thisroot.sh might interfere with ROOT versions installed with different methods.
And on Windows, for example, after the installation, open a x86 Native Tools Command Prompt for VS 2019 , cd to your home directory ( cd %USERPROFILE% ) and call thisroot.bat (let’s assume you installed ROOT in C:\root ). Then you can start ROOT:
Install via a package manager
Supported by the community: these packages are not maintained by the ROOT team, but by helpful members of the community. Please go through each package manager’s standard channels to report any related issue. If you package ROOT and would like to be added to the list below, please contact us by clicking the letter icon at the bottom of the page.
Conda
For any Linux distribution and MacOS, ROOT is available as a conda package. To create a new conda environment containing ROOT and activate it, execute
Setting channel_priority to strict is required to avoid conflicts on some platforms, see the relevant conda docs for more information.
The conda package uses C++17.
More instructions about using this package are available in this blog post.
Please report any issues with the conda package here.
On many Linux distributions, ROOT can be installed via Snap. For example, on Ubuntu:
The Snap package uses C++17. See our dedicated blog post for more information, or visit the official ROOT Snap package page.
Linux package managers
ROOT can be directly installed from the operating system’s package manager in the following Linux distributions:
Fedora
Fedora’s ROOT package can be installed with
More typically, however, users will want more than just the base package. The full list of components can be seen at https://src.fedoraproject.org/rpms/root/ by clicking in one of the offered versions. To install ROOT with support for python and notebooks, for example, run
CentOS
ROOT is available on CentOS via EPEL. To install ROOT on CentOS, just run
Arch Linux
Arch’s ROOT package can be installed with
The Arch package uses C++17.
Gentoo
The Gentoo package for ROOT is sci-physics/root. It can be installed with
NixOS/Nix/Nixpkgs
The package name for ROOT in nixpkgs is root . It can be installed into the user environment using
Running in a temporary environment can be achieved with
A root5 package is provided for the legacy software support.
If you encounter any issues, feel free report them to the nixpkgs issue tracker.
Ubuntu and Debian-based distributions
The ROOT team is working on the release of an official .deb package. More news on this topic very soon.
In the meanwhile, ROOT is available on Ubuntu via conda or our pre-compiled binaries.
MacOS package managers
Homebrew
On Mac, ROOT is also available as a homebrew formula. You can install it with
Macports
After installing macports, the ROOT port can be installed with
Nix/Nixpkgs
The same instructions as for Linux apply when running on macOS.
LCG releases on CVMFS
Standalone ROOT
If your platform mounts CVMFS ROOT is directly available via LCG releases.
ROOT installations with minimal external dependencies are available for Fedora, Ubuntu, CentOS7 and MacOS at:
For example, to set up ROOT 6.24/02 on a CentOS7 machine, just run:
Make sure you use your system’s default compiler, just like this ROOT build.
Complete environment
ROOT, Geant4 and many other packages with all their dependencies are available as LCG views:
LCG views are available for CentOS7, CentOS8 and the latest MacOS and Ubuntu releases. For example, on CERN LXPLUS, you can set up a full environment that contains ROOT 6.24/00 with:
To check what ROOT version is contained in an LCG release, you can visit lcginfo.cern.ch.
Gentoo Prefix on CVMFS
ROOT is also experimentally available in a Gentoo Prefix installation inside the contrib area of the SFT CVMFS repository. To use it from there, run
This will drop you into a new shell where all software from the prefix is available.
Run in a Docker container
ROOT Docker containers for several linux flavours are available at ROOT’s official DockerHub.
For example, to try out the latest ROOT release just run docker run -it rootproject/root .
Run on CERN LXPLUS
Users with a CERN computing account can simply connect to lxplus.cern.ch via SSH and start root : the latest stable version is installed as a normal system package.
Note that certain features (e.g. multi-threading capabilities) are not available on lxplus.cern.ch (or, equivalently, lxplus7.cern.ch ) due to incompatible versions of certain ROOT dependencies on CentOS7. You can use lxplus8.cern.ch to get access to CentOS8, where this limitation is not present.
Build from source
In case no other installation method is available, or if you want full control over the options ROOT is built with, it is possible to compile ROOT from source. See Building ROOT from source for detailed instructions.
As a quick summary, after installing all required dependencies, ROOT can be compiled with these commands on most UNIX-like systems:
And similarly, on Windows, inside a x86 Native Tools Command Prompt for VS 2019 , ROOT can be compiled with these commands:
Источник
Как зайти под root в Ubuntu
Политика дистрибутива Ubuntu нацелена на то, что все действия, требующих административных привилегий надо выполнять с помощью команды sudo. Использовать root пользователя как основного для новичков опасно, поскольку они ещё плохо ориентируются в системе и могут забыть, что они вошли как root и удалить что-то важное.
А поскольку восстановить файлы, удалённые с помощью команды rm почти нельзя, то лучше новичков туда не пускать. Но иногда возникает необходимость войти под пользователем root. В этой небольшой статье мы рассмотрим как это сделать.
Как зайти под root в Ubuntu
По причинам, описанным выше для пользователя root пароль в Ubuntu не задан по умолчанию, поэтому вы не можете просто так войти от его имени с помощью в виртуальных консолях доступных по Ctrl+Alt+FN или с помощью утилиты su. Поскольку пароля нет, ввести его верно вы не сможете.
Но это всё очень просто обходится. Для того чтобы войти под пользователем root в терминале достаточно дописать sudo перед командой su:
Также можно использовать опцию -i команды sudo чтобы открыть консоль от имени суперпользователя:
Однако, если вы хотите авторизоваться от имени этого пользователя в виртуальной консоли или по SSH, то вам надо сначала задать для него пароль. Для этого выполните:
sudo passwd root
Затем введите два раза пароль. После этого пользователь root становится почти полноценным пользователем системы. Вы не сможете только войти под ним в графический интерфейс потому что на это действует ограничение самой оболочки Gnome, это очень плохая практика — запускать целую оболочку от имени root.
Но если вам всё же очень хочется, надо немного настроить правила PAM для GDM. Для этого откройте файл /etc/pam.d/gdm-password и закомментируйте там строчку:
sudo vi /etc/pam.d/gdm-password
# auth required pam_succeed_if.so user != root quiet_success
После этого вы сможете авторизоваться от имени root в менеджере входа. Просто кликните по пункту Нет в списке, а затем введите логин root:
Перед вами откроется оболочка, запущенная от имени суперпользователя:
Это очень небезопасно, потому что любая программа может делать с вашим компьютером всё, что захочет и никто её не остановит. Фактически, первые версии Windows тоже работали в таком режиме и поэтому они были очень уязвимы к вирусам.
Источник
Как зайти под суперпользователем в linux
Содержание
В любой 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, примерно так:
Есть и другие варианты решения проблемы, небольшое обсуждение здесь.
Учетная запись суперпользователя в Linux предоставляет полный доступ к системе. Права суперпользователя (администратора) необходимы для выполнения команд в Linux, особенно тех команд, которые затрагивают системные файлы. Так как аккаунт суперпользователя имеет неограниченный доступ к системным файлам, рекомендуется получать права суперпользователя только при необходимости, а не входить в систему в качестве администратора. Это поможет предотвратить случайное повреждение важных системных файлов.
Назначение пароля root
Для того, чтобы можно было зайти под root, надо сначала назначить пароль для него (кстати, в Debian и openSUSE пароль для root назначается в процессе установки). Для этого нужно ввести в командной строке sudo passwd root, а затем ввести свой пароль и два раза — пароль для root. После этого Вы сможете зайти как root в командной строке. Кроме того, если ввести su и ввести пароль root, то Вы получите повышенные привилегии (как от sudo -i).
Включение возможности входить под root в MDM
Итак, назначив пароль root, мы получили возможность входить как root в консоли, но не в графической среде. Дело в том, что по умолчанию в настройках MDM вход как root запрещён. Для того, чтобы его разрешить, нужно зайти в настройки системы, открыть Login Window Preferences, открыть секцию Options и пометить Allow root login. После этого можно будет зайти как root в графическом режиме.
Кстати, Thunar, запущенный из-под рута, показывает жёлтую строку с предупреждением, в то время как в Nemo показывается лишь красная строка с надписью «Повышенные привилегии».
Кстати, в той же Ubuntu вход под root менее ограничен: убунтувский LightDM не запрещает по умолчанию вход под root, а поставляемый с Ubuntu файловый менеджер Nautilus, запущенный с правами рута, не показывает никаких предупреждений (как и Dolphin).
Всякое-разное о многопользовательской Linux и администраторском аккаунте Root
1. Многопользовательская система
Итак, еще раз. Linux является многозадачной многопользовательской (сколько много мног’ов :)) операционной системой. Это означает, что одновременно с системой могут работать несколько пользователей, да и каждый из них может запускать несколько приложений. И при этом, например, Вы можете зайти в систему локально, а другой пользователь – удаленно, воспользовавшись протоколами удаленного доступа ( telnet, ssh, ftp ).
Это очень удобно. Приведем пример, чтобы было понятно, о чем идет речь. Предположим, Вам понадобилось распечатать документ, который есть на рабочем компьютере, а на домашнем его нет. При наличии интернета и компьютера, настроенного соответствующим образом, это не составит особого труда, ибо Вы спокойно зайдете в систему, скопируете нужный Вам файл и распечатаете его там, где вам это удобно. И даже если кто-то в момент Вашего подключения уже работает с системой, то таки Вы не будете мешать друг другу. В Windows такая возможность тоже есть, но только после установки соответствующего программного обеспечения, и при этом Вы не сможете войти в систему, чтобы «не помешать» другому пользователю, который уже в ней находится. Вместе вы работать не сможете, ибо будете мешать друг другу. Всё, что Вы будете делать, будет отражаться на мониторе пользователя (т.е. рабочий стол получится как бы общий), и если не предупредить пользователя, что Вы удаленно зашли в систему, он подумает, что с его компьютером что-то не так (случай, конечно, не 100 %, но в большинстве своём это факт).
Вывод:
В Linux- системах несколько пользователей могут работать с системой и даже не подозревать о существовании друг друга, пока не воспользуются командой (например, who) . Linux изначально разрабатывалась как многопользовательская система с возможностью удаленного подключения как в текстовом, так и в графическом режиме. Windows в основе своей всегда была (и, наверное, долго останется) системой персонального, ни с чем совсем сильно не связанного компьютера, а средства взаимодействия по локальной сети всегда шли в виде своего рода «довеска». Кроме того, Linux всегда опиралась на открытые протоколы, большая часть которых является стандартом в мире Unix -систем. Microsoft , напротив, делает ставку на собственные протоколы, естественно, закрытые и не всегда совместимые со своими предыдущими версиями.
2. Суперпользователь (root)
Вот мы выяснили (точнее говоря, немного прояснили), что представляет из себя многопользовательская система. Теперь поговорим о том, кто же такой в Linux- системах пользователь root .
Условно и «сленгово» говоря – это царь и бог :). Пользователь root обладает ВСЕМИ полномочиями в системе, вплоть до её полного и безвозвратного удаления, т.е. это, так сказать, системный администратор в отдельно взятой операционной системе.
Любая команда, введенная в терминале, таки будет выполнена безоговорочно и бесповоротно. Так что работать под root -ом в любых Linux ( unix )-системах не приветствуется и даже, можно сказать, не принято. Например, кто-то решил «подшутить» и выложил в интернете вредоносную программу, а Вы взяли и скачали её, да еще и начали устанавливать ее на своем компьютере (трудно представить себе таких экстремалов, но все же – а вдруг найдутся такие 🙂 ). Если запуск этой программы будет произведен через суперпользователя, то Ваша система может быть легко уничтожена, а вот запуск этой программы от имени простого пользователя ни к чему не приведет – система просто откажется выполнять ее, сославшись на то, что у Вас не хватает полномочий. Это лишний повод присмотреться, а нужно ли Вам вообще это устанавливать. Вот поэтому в Linux (unix)-системах вход под именем пользователя root запрещен.
В одних дистрибутивах Вы не сможете войти как root в графическом режиме, но сможете зайти через консоль (грубо говоря, терминал) комбинацией клавиш Ctrl + Alt + F2 (как, например, в Fedora ), а в других дистрибутивах Вы вообще не сможете войти как root – ни через графический режим, ни через комбинацию клавиш, ни через консоль (к такому дистрибутиву, например, относится Ubuntu ). Встает вопрос – а как тогда устанавливать нужные программы, минуя этого суперпользователя? Для этого существует «временное разрешение» на выполнение нужных операций в виде команд sudo или su . Чем же отличаются эти команды друг от друга?
Давайте начнем с sudo . Эта команда позволяет запустить любую команду с привилегиями root . Но использовать эту команду могут не все пользователи, а только те, которые внесены в файл / etc/sudoers (в этом файле в доступной форме расписывается – каким пользователям или группам можно выполнять команду sudo , а это значит, что рядовой пользователь, не внесенный в этот файл, даже при сильном своем желании не сможет воспользоваться правами root ).
Отступление
О каталоге /etc мы поговорим в другой раз – потому что это отдельная тема. Но хочется сказать, что в этом каталоге содержатся почти все настройки системы (кроме пользовательских, пользовательские настройки хранятся в домашнем каталоге пользователя /home ), при этом в каталоге /etc находится множество текстовых файлов. А поскольку файлы текстовые, то их можно редактировать любым текстовым редактором, что очень упрощает работу с системными файлами и повышает надежность системы. К слову, даже если удалить один из конфигурационных файлов каталога /etc , система продолжит работу как ни в чем не бывало! Конечно, она будет работать не так, как до удаления этого файла, но все же она, в отличие от Windows , будет работать.
Теория это, конечно, хорошо, но давайте немного попрактикуемся. Например, вам нужно отредактировать файл /etc/sudoers , для чего заходим в терминал и вводим:
Откроется окно программы gedit :
..Где мы производим нужное редактирование, сохраняем и закрываем этот файл. В Linux- системах очень много текстовых редакторов, с помощью которых можно редактировать файлы, – это и вышеупомянутый gedit , и nano , и vi , и много других, – посему Вы можете воспользоваться любым. Вот как будет выглядеть открытие файла через редактор nano :
Если мы введем без sudo ту же команду:
..то файл откроется, но сохранить изменения, внесенные Вами, не получится, поскольку у Вас не будет тех полномочий, которые требуются для редактирования.
Видите, кнопка « Сохранить » неактивна.
Теперь о команде su .
Команда su позволяет получить доступ к консоли (терминалу) root ЛЮБОМУ пользователю (даже если этот пользователь не внесен в список файла /etc/sudoers ), но при условии, что он знает пароль root . Разницу прочувствовали?
Вывод :
Команда su предназначена для администраторов системы, а sudo – для остальных пользователей, которым только иногда нужны права root.
Отступление :
Для многих пользователей команда su – получение прав суперпользователя. Это не совсем верно. Команда su вызывает оболочку другого пользователя в системе, т.е. позволяет получить права ДРУГОГО пользователя, который должен быть указан аргументом к этой команде. Попробуйте ввести команду su root или su [имя_вашего_пользователя] и посмотрите как среагирует эта команда. Я бы рекомендовал использовать один важный параметр «-» (тире), который существенно изменяет её работу. При выполнении команды » su – » вызывается оболочка регистрации в системе. Это часто сбивает с толку новичков: » su » предоставляет Вам только права другого пользователя, » su – » позволяет войти под именем другого пользователя. Второе означает, что вместе с предоставлением прав у вас изменится текущий рабочий каталог, домашний каталог и переменные окружения. Использование команды su без параметра «-» чревато проблемами – запущенная таким образом программа сохраняет свои настройки в каталоге вызывающего, а не вызываемого пользователя (помните, Вам предоставляются только права). Если этот пользователь root – Вы получите в своем домашнем каталоге файлы настроек программы, к которым не будете иметь доступа. Следует ли говорить, что запустив в дальнейшем ту же самую программу из-под своего аккаунта, Вы, в лучшем случае, не сможете сохранить свои настройки, в худшем – программа вообще не запустится. Лучше вообще не использовать команду su для запуска программ со своими переменными окружения, для этого более подходит команда sudo . Не запутал я вас еще ? 🙂
И, тем не менее, заходить в систему под суперпользователем можно всегда, даже если эта учетная запись ограничена или отключена, например, в Ubuntu нужно просто задать пароль для пользователя root командой sudo passwd root . Сначала система запросит ваш пользовательский пароль, затем новый пароль и его подтверждение. Учетную запись root в ubuntu можно потом отключить командой sudo passwd -l root , но.. После закрытия учетной записи могут быть проблемы с входом в систему в режиме восстановления. На мой взгляд, в ubuntu суперпользователя лучше не включать, а пользоваться командой
Немного практики.
Давайте добавим нового пользователя в систему. Для этого нужно от суперпользователя ввести всего 2 команды:
# adduser пользователя> (добавляет пользователя)
# passwd пользователя> (задает/изменяет пароль)
Обратите внимание на знак # перед командой. Таким знаком обозначается, что команду отдает суперпользователь (он же root , он же бог и властелин, если перед командой стоит значок $ – то команда будет выполняться от простого пользователя).
Вот он, наш новый пользователь системы Dron . Мы его создали и завели пароль на эту учетную запись.
Если пароль задан слишком простой, то Вам выдастся предупреждение, что пароль слишком доступный:
И так будет до бесконечности, пока Вы не создадите нормальный и таки взломоустойчивый пароль.
При создании нового пользователя для него в системе создастся каталог / home , куда скопируется содержимое каталога /etc/skel (в нем находится весь «джентльменский» набор, который должен быть в любом пользовательском каталоге).
Помимо этого в файле /etc/passwd создается запись, короче, наш новый пользователь Dron будет полноправным пользователем системы.
Удалить пользователя из системы так же просто, как и завести его. Достаточно набрать команду:
3. Группы пользователей
Иногда, для удобства работы, пользователей объединяют в группы. По умолчанию один пользователь не имеет доступа к домашнему каталогу другого пользователя (например, пользователь galina не будет иметь доступ к домашнему каталогу Dron и наоборот, Dron не будет иметь доступа к домашнему каталогу galina ). Но если нескольких пользователей объединить в одну группу, то у каждого из них будет доступ не только к своему домашнему каталогу, но и к домашним каталогам других пользователей. Полезность таких объединений очевидна. Обычно добавлять/удалять/изменять учетные записи принято через командную строку, но хотелось бы затронуть графические конфигураторы (это маленькие утилиты, которые упрощают жизнь начинающим пользователям или тем, кто любит работать в графическом интерфейсе). С другой стороны, я хочу показать, что работать в linux ( unix )-системах можно разными способами: можно через командную строку, а можно использовать графический интерфейс – кому что больше по душе. В каждом дистрибутиве есть свои конфигураторы, и они могут отличаться. Например, в Fedora для редактирования пользователей и групп служит конфигуратор system-config-users .
Еще раз вернитесь к рисунку, где мы удаляли пользователя Dron из системы. В системе остался один пользователь – galina. Выделите его, нажмите на кнопку « Свойства » и Вы узнаете много интересного :). Например, обратите внимание на вкладку « Группы », где можете включить пользователя в ту или иную группу, просто поставив галочку:
С каждым новым пользователем создаются и новые группы. Если у пользователя galina на вкладке « Группы » поставить галку на группе « Dron », то у galina будет доступ к домашнему каталогу пользователя Dron (а вот у Dron таких полномочий не будет).
Хочу обратить Ваше внимание на один момент – с каждым новым выходом релиза конфигураторы из системы потихоньку пропадают (что, на мой взгляд, печально). Их или заменяют на другие, или вообще убирают из дистрибутива за ненадобностью. Некоторые из них могут быть установлены по умолчанию, некоторые надо устанавливать самим, это зависит от Ваших потребностей. Если при вводе команды запуска конфигуратора система скажет, что такой команды нет, скорей всего этот конфигуратор у Вас не установлен и можно попробовать установить его.
Давайте попробуем потренироваться на другом дистрибутиве (все предыдущие картинки относятся к дистрибутиву Fedora 16 ), например, на ubuntu 12.10 (этот дистрибутив тоже популярен среди населения). Отвлекусь и напомню, что в каком бы дистрибутиве Вы не сидели, смысл работы будет идентичен, отличаться будут только команды. В данном конкретном случае в ubuntu есть конфигуратор gnome – system – tools , и он по умолчанию не установлен в системе. Чтобы воспользоваться всеми прелестями этого конфигуратора, для начала установите его командой:
sudo apt-get install gnome-system-tools.
Пошел процесс установки данной утилиты:
Обратите внимание, что для установки данного пакета требуется разрешить зависимости (о зависимостях мы уже говорили в предыдущей статье, а теперь наглядно это продемонстрируем), т.е. будут установлены дополнительные пакеты для того, чтобы утилита корректно работала.
Потом в поиске можно набрать «группы» или «пользователи» и появится иконка утилиты gnome-system-tools
Или запускаем утилиту командой users – admin из терминала (командной строки):
И нашему взору представляется графический интерфейс настроек пользователей и групп в ubuntu :
Все современные дистрибутивы Linux неплохо русифицированы, а поэтому более подробно останавливаться на рассмотрении этой утилиты мы не будем, но главные моменты осветим.
Понятно, что чтобы добавить нового пользователя, нужно нажать кнопку «Добавить» , чтобы удалить созданного пользователя – нажать кнопку «Удалить» . Чтобы изменить тип учетной записи – нужно щелкнуть по кнопке «Изменить» , напротив поля « Тип учетной записи ». Существует 3 вида учетной записи:
- Администратор ( root ) – пользователь может администрировать систему
- Пользователь – пользователь может работать в системе, но не может администрировать её (использовать команду sudo , устанавливать программы, управлять пользователями и т.д., т.п.)
- Другое – эта учетная запись с особыми параметрами доступа, которые устанавливаются вручную. Для этого нужно воспользоваться вкладкой « Дополнительные параметры ». На вкладке « Привилегии пользователя » можно задать, какие операции может выполнять пользователь, а какие – нет.
На вкладке « Дополнительно » Вы можете отключить учетную запись, изменить группу, ID пользователя, можете даже выбрать другой интерпретатор и домашний каталог.
Если Вам необходимо разрешить пользователю использовать sudo , то в окне « Параметры пользователей » выделите учетную запись пользователя, нажмите кнопку « Дополнительные параметры » и на вкладке « Привилегии пользователя » разрешите « Администрирование системы ».
Чтобы управлять группами – нужно воспользоваться кнопкой « Управление группами ».
Вы увидите список групп и кнопки « Добавить » (ну понятно же, что эта кнопка добавляет новую группу), « Удалить » (удаляет группу) и « Свойства » (с помощью этой кнопки Вы легко добавите/исключите членов группы). Все очень просто и интуитивно понятно.
На этом мы закончим нашу очередную лекцию :). Надеюсь, что я Вас не утомил? Согласитесь, что в принципе не так уж и страшна эта система, как о ней говорят. Если есть что дополнить (добавить), милости прошу, добавляйте в своих комментариях.
Смотрите видео: Как Получит Права Супер Пользователя root. linux ubuntu обзор для начинающих (November 2019).
Как вы знаете, Linux очень серьезно относится к управлению пользователями и предоставлению им прав на работу с системой. Обычный пользователь может записывать файлы только в свой каталог и каталог /tmp/. Также есть возможность читать некоторые файлы в корневой файловой системе. Но вы не можете устанавливать программы, ведь для этого нужно право на запись, не можете изменять атрибуты файлов, не можете запускать сервисы, не можете читать некоторые файлы логов и еще много чего не можете.
В Linux управлять корневой файловой системой и создавать там файлы имеет право только пользователь root.
В этой статье мы рассмотрим какие программы нужны для того, чтобы получить права root пользователя linux, как они работают, как выполнять программу с правами root от обычного пользователя и как запускать графические программы с правами root. А также выясним что такое sudo в чем разница su или sudo.
Права суперпользователя в Linux
Очень долго перечислять чего не может обычный пользователь Linux, проще сказать на что у него есть право, а именно при стандартной настройке полномочий для файлов в Linux, обычный пользователь может:
- Читать, писать и изменять атрибуты файлов в своем каталоге
- Читать, писать, изменять атрибуты файлов в каталоге /tmp
- Выполнять программы там, где это не запрещено с помощью флага noexec
- Читать файлы, для которых установлен флаг чтения для всех пользователей.
Если же нужно сделать что-то большее нам понадобятся права root пользователя linux. У root есть право делать все в вашей файловой системе независимо от того какие права установлены на файл.
Вход под суперпользователем
Чтобы войти под пользователем root можно переключиться в одну из виртуальных консолей, например, с помощью сочетания клавиш Ctrl+Alt+F1 и затем ввести логин root и пароль root пользователя.
Вы получите полноценное окружение root с возможностью выполнять все действия, но такой способ очень непрактичный, так как вы теряете все преимущества использования графического интерфейса.
Можно поступить полностью противоположным путем, ввести логин root и его пароль в графическом менеджере входа, чтобы окружение рабочего стола работало от имени root, и мы получаем все права root linux, но такой вариант крайне не рекомендованный, и очень опасный, вы можете случайно повредить всю систему. Поэтому этот способ был отключен во многих менеджерах входа.
Переключение на суперпользователя в терминале
Теперь мы подошли к более интересному и практичному. С помощью специальных утилит вы можете переключить текущий эмулятор терминала в окружения суперпользователя и выполнять все следующие команды не от своего имени, а от его, таким образом, дав программе права root linux. Для этого существует утилита su. Вообще говоря, эта утилита позволяет не только переключаться на пользователя root но и на любого другого пользователя, но по умолчанию используется именно root. Рассмотрим ее подробнее. Команда su linux имеет следующий синтаксис:
$ su опции пользователь
Вот ее основные опции:
- -c, –command – выполнить команду
- -g, –group – установить основную группу пользователя (только для root)
- -G –supp-group – дополнительные группы пользователя (только для root)
- -, -l, –login – режим входа, будут очищены и инициализированы с учетом нового пользователя все переменные окружения, а также изменен домашний каталог
- -p, –preserve-environment – сохранить переменные окружения
- -s, –shell – задать оболочку для входа
- –version – отобразить версию программы.
Теперь немного поэкспериментируем, чтобы понять как работает команда su linux.
Сначала выполним su без параметров, но для начала создадим переменную окружения, чтобы проверить как с ними обходится эта команда:
Теперь смотрим что получилось:
whoami
$ pwd
$ echo $VAR
$ echo $PATH
$ exit
Из этих команд мы видим, что теперь мы пользователь root, но домашней директорией считается директория нашего предыдущего пользователя и наша переменная не сохранилась также изменилась переменная PATH, теперь там добавлен путь /sbin.
Теперь используем вход в режиме логина:
И повторим ту же комбинацию:
whoami
$ pwd
$ echo $VAR
$ echo $PATH
$ exit
Та же ситуация, только на этот раз изменена ко всему еще и домашняя директория на директорию root. Но мы можем сохранить наши переменные окружения, если это нужно, для этого есть опция -p:
Как видите, наша переменная осталась. Вы также можете переключится на любого другого пользователя. Например:
Получение прав суперпользователя таким способом используется во многих дистрибутивах, например, Debian, OpenSUSE, ArchLInux, Gentoo и т д. Но в Ubuntu, как дистрибутиве для начинающих вход под пользователем root отключен. Это сделано потому, что это тоже не очень безопасно, вы можете забыть что выполняете команду от root и что-то натворить в системе. Поэтому переходим к следующей программе.
Получение прав root без переключения
Чтобы реализовать максимально безопасный интерфейс для работы с правами суперпользователя в Linux была разработана команда sudo. Давайте рассмотрим что такое sudo. Эта команда пишется перед каждой командой, которую нужно выполнить от имени суперпользователя, и для ее выполнения нужно ввести пароль уже не root, а всего лишь вашего пользователя. Так же, как и в предыдущей, в этой утилиты есть свои опции. Сначала рассмотрим синтаксис:
$ sudo опции команда
- -b – выполнять запускаемую утилиту в фоне
- -E – сохранить переменные окружения
- -g – запустить команду от группы
- -H – использовать домашний каталог
- -l – показать список полномочий в sudo для текущего пользователя
- -r – использовать для команды роль SELinux
- -s – использовать оболочку
- -u – запустить команду от имени пользователя, если не задано используется root
- -i – не выполнять команду, а войти в оболочку, эквивалентно su –
Вы можете выполнить те же эксперименты, только для этой команды, чтобы понять как использовать команду sudo. Например:
Использование sudo – это рекомендованный способ выполнять команды от имени суперпользователя в Linux. Так вы не забудете с чем имеете дело и меньше всего рискуете повредить систему. Но остался еще один нерешенный вопрос – как быть с графическими утилитами? Ведь команда sudo их не запускает, а запускать графическую оболочку от имени root небезопасно. Это мы и рассмотрим далее.
Графически приложения от имени суперпользователя
Для запуска графических приложений от имени суперпользователя существуют специальные утилиты. Они сохраняют все необходимые переменные окружения и полномочия. В KDE это команда kdesu, а в Gnome команда gksu.
Просто наберите gksu или kdesu, а затем нужную команду:
Эта команда запустит файловый менеджер KDE с правами суперпользователя. В Gnome это будет выглядеть вот так:
Программа запросит пароль, уже в графическом окне, а потом откроется файловый менеджер.
Выводы
Вот и все. Теперь вы знаете как получить права суперпользователя в Linux, знаете как использовать команду sudo и в чем разница sudo или su. Теперь программы, требующие дополнительных привилегий в системе, не вызовут у вас проблем. Если остались вопросы, пишите в комментариях!
Источник