Graphical sudo
You should never use normal sudo to start graphical applications as root. Using sudo with graphical apps has the potential to corrupt your environment by allowing root to take ownership of and/or change permissions on critical files that you must own. The forums frequently see panicked requests for help from users who can no longer log in after running graphical applications under sudo.
Please note that many websites and old threads advise the use of gksu. However, such search results are obsolete. gksudo has not been updated for years and is not even available in Bionic (18.04) and higher. gksu has been replaced by pkexec, but even pkexec is being deprecated by the mainline Ubuntu developers. They have taken the position that file manipulation and editing under root should be restricted to the command line.
We can only surmise what the motives were behind this decision: perhaps there are just too many users who run into problems running graphical apps as root. In any case, running graphical apps as root now requires workarounds and additional steps.
Flavour-specific workarounds
There are a number of flavour-specific options for running graphical applications as root:
-
You can use pkexec on those flavours that support this option. As of 18.04, only Xubuntu supports this option by default, as shown in the following examples:
pkexec thunar
pkexec mousepad /etc/fstab -
By default, Kubuntu allows easy access to a root file manager: KDE Launcher → Computer → Root-Dolphin
From there: (→ edit file) will open up a root instance of Kate.
-
Mainline Ubuntu and Gnome use Nautilus as their file manager. Any flavour running Nautilus will allow you to install the package nautilus-admin which will add two python extensions to Nautilus. These extensions add options that allow root access: Open as Administrator and Edit as Administrator
It is also possible to install the missing Policykit files for both Nautilus and Gedit. See this site for instructions and links. A knowledgeable user could build further Policykit files for alternate file managers and editors by using the linked files as templates. They are simple XML files that can be edited with a standard text editor.
General workarounds
The following methods will work on all flavours:
- Use the command line. Simple text editors like nano are quite easy to learn. If you prefer a quasi-graphical file manager, install Midnight Commander. Both of these apps run under sudo with no problems. Examples:
sudo mc
sudo nano /etc/fstab -
Notwithstanding the earlier warning, it is possible to use sudo with graphical apps provided you add the -H flag. This flag is critical: it properly sets root to its own environment instead of improperly inheriting the user’s environment. Use of the -H flag is mandatory. Failing to use this flag may corrupt critical system files and prevent you from logging in.
With sudo -H almost any graphical app can be launched under root within any ‘buntu flavour. This includes each flavour’s default graphical editor and file manager.
An appreciable danger with sudo -H is that the -H flag is easy to forget. And all it takes is one omission for the damage to be done.
Как зайти в папку root Debian
Для выполнения операций, требующих рут-прав, необходимо зайти в папку root в Debian. Для этого, можно воспользоваться терминалом и командой su, после чего ввести пароль рут-пользователя.
Если необходимо выполнить операцию в графическом интерфейсе, то можно воспользоваться файловым менеджером Thunar. Для этого, откройте файловый менеджер в качестве администратора, нажав правой кнопкой мыши на иконке менеджера и выбрав соответствующий пункт в меню.
Также можно воспользоваться командой sudo, чтобы временно получить рут-права. Например, для открытия папки root в файловом менеджере с помощью sudo, необходимо ввести в терминале команду sudo thunar /root.
Важно помнить, что зайти в папку root Debian необходимо только в том случае, когда это необходимо для выполнения определенных задач. Выполнение операций с рут-правами может быть опасно для системы и потребовать специальных знаний
Переключение на суперпользователя в терминале
Теперь мы подошли к более интересному и практичному. С помощью специальных утилит вы можете переключить текущий эмулятор терминала в окружения суперпользователя и выполнять все следующие команды не от своего имени, а от его, таким образом, дав программе права 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 без параметров, но для начала создадим переменную окружения, чтобы проверить как с ними обходится эта команда:
Теперь выполняем:
Теперь смотрим что получилось:
Из этих команд мы видим, что теперь мы пользователь root, но домашней директорией считается директория нашего предыдущего пользователя и наша переменная не сохранилась также изменилась переменная PATH, теперь там добавлен путь /sbin.
Теперь используем вход в режиме логина:
И повторим ту же комбинацию:
Та же ситуация, только на этот раз изменена ко всему еще и домашняя директория на директорию root. Но мы можем сохранить наши переменные окружения, если это нужно, для этого есть опция -p:
Как видите, наша переменная осталась. Вы также можете переключится на любого другого пользователя. Например:
Более подробно о команде su вы можете почитать в отдельной статье. Получение прав суперпользователя таким способом используется во многих дистрибутивах, например, Debian, OpenSUSE, ArchLInux, Gentoo и т д. Но в Ubuntu, как дистрибутиве для начинающих вход под пользователем root отключен. Это сделано потому, что это тоже не очень безопасно, вы можете забыть что выполняете команду от root и что-то натворить в системе. Поэтому переходим к следующей программе.
Как выполнить команду без использования sudo?
Когда нам необходимо выполнить какую-то команду с правами администратора, мы часто используем sudo. Однако, есть случаи, когда использование sudo может быть неудобным или нежелательным. Рассмотрим несколько способов выполнения команд без использования sudo.
1. Использование прав владельца файла
Если у нас есть права владельца файла, то мы можем выполнить команду от его имени. Для этого необходимо добавить перед командой префикс ./ (точка и слеш) и убедиться, что у нас есть права на запуск файла:
- chmod +x file.sh — установить права на запуск файла.
- ./file.sh — выполнить команду.
2. Использование группы sudo
Если нам нужно выполнить команду из группы sudo, но мы не хотим использовать саму команду sudo, то мы можем добавить себя в эту группу. Для этого необходимо выполнить следующие действия:
- Открываем файл /etc/group с помощью любого текстового редактора.
- Добавляем своё имя в строке sudo, например: sudo:x:27:user.
- Выходим из системы и заново входим в неё.
- Теперь мы можем выполнить команду из группы sudo без использования sudo.
3. Использование setuid и setgid
Setuid и setgid — это два бита, которые могут быть установлены для исполняемого файла. Если установлен бит setuid, то при выполнении команды, пользователь получает права владельца файла и может выполнить команду от его имени. Если установлен бит setgid, то при выполнении команды пользователь получает права группы файла. Для установки этих битов используется команда chmod:
- chmod u+s file.sh — установить бит setuid.
- chmod g+s file.sh — установить бит setgid.
Таким образом, мы рассмотрели несколько способов выполнения команд без использования sudo. Каждый из них имеет свои преимущества и недостатки, и мы можем выбрать наиболее подходящий способ в зависимости от наших потребностей.
Шаг 5 — Активация внешнего доступа для стандартного пользователя
Теперь, когда у нас есть стандартный пользователь для повседневного использования, необходимо убедиться, что мы можем ввести SSH непосредственно в учетную запись.
Примечание. Пока вы не убедитесь, что вы можете войти в систему и использовать с новым пользователем, мы рекомендуем не выходить из учетной записи root. Таким образом, если у вас есть проблемы, вы можете устранить их и внести необходимые изменения в качестве root. Если вы используете DigitalOcean Droplet и сталкиваетесь с проблемами при использовании подключения SSH в учетной записи root, вы можете войти в Droplet, используя консоль DigitalOcean.
Процесс настройки доступа SSH для нового пользователя зависит от того, использует ли учетная запись с правами root на сервере пароль или ключи SSH для аутентификации.
Если вы выполнили вход в учетную запись root с помощью пароля, тогда для SSH активирована аутентификация по паролю. Вы можете использовать SSH для новой учетной записи пользователя, запустив новый сеанс терминала и используя SSH с новым именем:
После ввода пароля для обычного пользователя вы сможете выполнить вход. Если вам нужно запустить команду с правами администратора, введите перед командой следующим образом:
Вам будет предложено использовать пароль обычного пользователя при использовании в первый раз для каждого сеанса (и периодически после этого).
Чтобы повысить уровень безопасности вашего сервера, мы настоятельно рекомендуем настроить ключи SSH вместо использования аутентификации по паролю. Следуйте указаниям по настройке ключей SSH в Ubuntu 20.04 из нашего руководства, чтобы узнать, как настроить аутентификацию на основе ключей.
Если вы выполнили вход в учетную запись root с помощью ключей SSH, тогда аутентификация по паролю для SSH отключена. Вам потребуется добавить копию локального открытого ключа в файл нового пользователя для успешного входа.
Поскольку ваш открытый ключ уже включен в файл учетной записи root на сервере, мы можем скопировать структуру этого файла и директории для нашей новой учетной записи в существующем сеансе.
Самый простой способ копирования файлов с правильным правами владения и разрешениями — воспользоваться командой . Она будет копировать директорию пользователя root user, сохранит разрешения и изменит владельцев файлов, все в одной команде. Обязательно измените выделенные ниже части согласно имени вашего стандартного пользователя:
Примечание. Команда использует источники и пункты назначения, оканчивающиеся на завершающий слеш, иначе, чем те, которые этот завершающий слеш не имеют. При использовании ниже убедитесь, что директория источника () не включает завершающий слеш (убедитесь, что вы не используете ).
Если вы случайно добавите в команду завершающий слеш, будет копировать содержимое директории учетной записи root в домашнюю директорию пользователя вместо копирования всей структуры директории . Файлы будут находиться в неправильном месте, и SSH не сможет найти и использовать их.
Теперь откройте новый сеанс терминала на локальном компьютере и используйте SSH с вашим новым именем пользователя:
Вы должны выполнить вход в новую учетную запись без использования пароля. Если вам нужно запустить команду с правами администратора, введите перед командой следующим образом:
Вам будет предложено использовать пароль обычного пользователя при использовании в первый раз для каждого сеанса (и периодически после этого).
What is root user? Why is it locked in Ubuntu?
In Linux, there is always a super user called root. This is the super admin account that can do anything and everything with the system. It can access any file and run any command on your Linux system.
With great power comes great responsibility. Root user gives you complete power over the system and hence it should be used with great cautious. Root user can access system files and run commands to make changes to the system configuration. And hence, an incorrect command may destroy the system.
This is why Ubuntu and other Ubuntu-based distributions lock the root user by default to save you from accidental disasters.
You don’t need to have root privilege for your daily tasks like moving file in your home directory, downloading files from internet, creating documents etc.
Take this analogy for understanding it better. If you have to cut a fruit, you use a kitchen knife. If you have to cut down a tree, you have to use a saw. Now, you may use the saw to cut fruits but that’s not wise, is it?
Does this mean that you cannot be root in Ubuntu or use the system with root privileges? No, you can still have root access with the help of ‘sudo’ (explained in the next section).
Bottom line:Root user is too powerful to be used for regular tasks. This is why it is not recommended to use root all the time. You can still run specific commands with root.
Benefits of using sudo
There are a number of benefits to Ubuntu leaving root logins disabled by default, including:
- The installer has fewer questions to ask.
- Users don’t have to remember an extra password for occasional use (i.e. the root password). If they did, they’d be likely to forget it (or record it unsafely, allowing anyone to easily crack into their system).
-
It avoids the «I can do anything» interactive login by default. You will be prompted for a password before major changes can happen, which should make you think about the consequences of what you are doing.
-
sudo adds a log entry of the command(s) run (in /var/log/auth.log). If you mess up, you can go back and see what commands were run.
-
On a server, every cracker trying to brute-force their way in will know it has an account named root and will try that first. What they don’t know is what the usernames of your other users are. Since the root account password is locked, this attack becomes essentially meaningless, since there is no password to crack or guess in the first place.
- Allows easy transfer for admin rights by adding and removing users from groups. When you use a single root password, the only way to de-authorize users is to change the root password.
- sudo can be setup with a much more fine-grained security policy.
- The root account password does not need to be shared with everybody who needs to perform some type of administrative task(s) on the system (see the previous bullet).
- The authentication automatically expires after a short time (which can be set to as little as desired or 0); so if you walk away from the terminal after running commands as root using sudo, you will not be leaving a root terminal open indefinitely.
sudo не спрашивает пароль
sudo без пароля — чудовищная дыра в безопасности, кому попало разрешено делать что угодно. Если вы разрешили это намеренно — срочно верните обратно как было.
Однако, в некоторых случаях sudo внезапно перестаёт требовать пароль само по себе. Если сделать visudo , то можно увидеть примерно такую строку, которую пользователь вроде бы не добавлял:
ALL ALL=(ALL) NOPASSWD:ALL
Скорее всего, эта катастрофичная строка была добавлена при установке программы типа Connect Manager от МТС или Мегафона. В таком случае, её нужно поменять на строку, разрешающую с правами root запускать только этот Connect Manager, примерно так:
Юзернейм ALL= NOPASSWD: /путь/к/программе
Есть и другие варианты решения проблемы, небольшое обсуждение .
Пользователь root и sudo
Пользователь root в системах GNU/Linux — это пользователь, имеющий административный доступ к вашей системе. Обычные пользователи не имеют этого доступа по соображениям безвасности. Тем не менее в Kubuntu нет пользователя root. Вместо этого, административный доступ предоставляется отдельным пользователям, которые могут использовать приложение «sudo» для выполнения административных задач. Первая учетная запись, созданная при установке системы по умолчанию будет иметь доступ к приложению sudo. Вы можете запретить доступ к sudo или предоставить его с помощью приложения Пользователи и Группы
(см. «Пользователи и Группы»).
Если Вы запустите программу, требующую прав суперпользователя, sudo потребует ввести ваш обычный пользовательский пароль
Это гарантирует, что вредоносные приложения не смогут повредить вашу систему, а также напомнит Вам, что Вы собираетесь выполнить административные действия, которые требуют особой осторожности!. Чтобы использовать sudo в командной строке, просто наберите «sudo» перед командой, которую Вы хотите запустить
После этого sudo попросит ввести ваш пароль
Чтобы использовать sudo в командной строке, просто наберите «sudo» перед командой, которую Вы хотите запустить. После этого sudo попросит ввести ваш пароль.
Sudo будет помнить ваш пароль установленное время (по умолчанию 15 минут). Эта возможность позволяет пользователям выполнять большое количество административных задач без необходимости каждый раз вводить пароль.
Внимание
Будьте осторожны при выполнении административных задач — вы можете испортить вашу систему!
Некоторые советы по использованию sudo:
Чтобы использовать терминал пользователя root, наберите «sudo -i» в командной строке
Вся группа графических утилит конфигурации в Kubuntu уже использует sudo, так что при необходимости у вас попросят пароль с помощью приложения kdesu
, которое является графической оболочкой sudo
.
За дальнейшей информацией по программе sudo
и отсутствию пользователя root в Kubuntu обращайтесь к странице sudo на сайте Ubuntu wiki.
Внимание
Пожалуйста, будьте осторожны, выполняя приложения с привилегиями root, так как это может испортить вашу систему. За дополнительной информацией см. «Пользователь root и sudo» .
Откройте диалог Выполнить команду
, нажав Alt
—F2
Введите название программы, которую вы хотите выполнить, с префиксом
kdesu
и нажмите Enter
. Например, чтобы запустить файловый менеджер Konqueror
с привилегиями root, наберите
Как стать пользователем root?
Откройте терминал Ubuntu и введите следующую команду:
Эта команда попросит систему зарегистрировать вас как суперпользователя.
Система попросит вас ввести пароль для root. Введите пароль и нажмите Enter.
В идеале вы должны увидеть знак «#» перед командной строкой. Это означает, что вы вошли в систему под именем root.
Если при вводе пароля для root вы получите следующее сообщение о сбое аутентификации, это означает, что учетная запись root в данный момент заблокирована.
О том, как заблокировать/разблокировать учетную запись root, вы можете прочитать далее в статье.
Чтобы стать пользователем root из непривилегированной учетной записи (учетной записи обычного пользователя), когда пароль root не установлен, используйте эту команду:
Введите пароль вашего пользователя Ubuntu, когда он будет запрошен. Только пользователи Ubuntu, входящие в группу sudo, могут стать пользователем root таким образом. Пользователь, который создается во время установки Ubuntu, по умолчанию является членом группы sudo.
Теперь, когда вы вошли в систему как root, вы можете выполнять все административные операции в Ubuntu.
Поясним это на примере.
Файл adduser.conf, расположенный в каталоге /etc/, требует прав root, чтобы вы могли вносить в него какие-либо изменения. Если открыть его от имени обычного пользователя, то в конце файла вы увидите следующие строки:
Системный файл упоминается как недоступный для записи, потому что неавторизованный пользователь не может вносить какие-либо изменения в его конфигурацию.
Вы можете редактировать его, только если вы вошли в систему под именем root или если вы используете команду sudo для временного получения привилегий root.
Поскольку сейчас мы вошли в систему под именем root, мы сможем увидеть этот файл следующим образом:
Мы можем внести любые изменения в файл и сохранить их, нажав Ctrl+X.
Примечание: Очень важно сохранять осторожность при внесении любых важных изменений в системные файлы при входе в систему от имени root. Любое излишнее изменение системных файлов может испортить все настройки системы
Вы можете выйти из командной строки root и снова стать обычным пользователем, используя команду exit следующим образом:
Вход в систему как Root
Рассмотрите возможность использования других методов для получения временного корневого доступа. Вход в систему как root не рекомендуется для регулярного использования.
На это есть несколько причин. Во-первых, так очень легко выполнять команды, которые приведут вашу систему в неработоспособное состояние. Во-вторых, представляет угрозу безопасности, особенно если вы используете SSH-сервер на своей машине.
Войдите в систему как пользователь root при выполнении аварийного ремонта, например, при сбое диска или восстановлении заблокированных учетных записей.
Использование sudo или su вместо входа в систему как root поможет предотвратить непреднамеренный ущерб при входе в систему как root.
Использование этих команд дает пользователю возможность подумать о команде до нанесения серьезного ущерба.
Некоторые дистрибутивы, такие как Ubuntu, оставляют корневую учетную запись заблокированной, пока вы не разблокируете ее вручную.
Во-первых, это не позволяет пользователям неосознанно наносить слишком большой ущерб, используя корневую учетную запись. Во-вторых, защищает систему от потенциальных хакеров. С заблокированной учетной записью root хакеры не могут получить к ней доступ.
Введите . root как пользователь при входе в Linux.
Если корневая учетная запись разблокирована и вы знаете пароль, вы можете войти в систему как пользователь root, когда вам будет предложено войти в систему с учетной записью пользователя
Введите пароль пользователя root в качестве пароля пользователя.
Избегайте запуска сложных программ при входе в систему как root.
Существует вероятность того, что программа, которую вы намереваетесь запустить, окажет негативное влияние на вашу систему, когда у нее есть root-доступ. Настоятельно рекомендуется использовать sudo или su запускать программы, а не входить в систему как пользователь root.
Как получить Root-права для android устройства
На самом деле способов получения рут прав сейчас насчитывается огромное количество, для разных андроид смартфонов они свои. Здесь приведены 5 самых универсальных способов, подходящих для большинства телефонов на android:
- Framaroot
— приложение, имеющее самый большой список поддерживаемых смартфонов; - Kingo Android ROOT
— универсальная утилита; - z4root
— приложение, процесс получения прост и насчитывает всего два клика, возможность получения как постоянных так и временных прав; - SuperOneClick
— программа для ПК, позволяет через USB установить root-права; - Universal AndRoot
— простое приложение, работающее на многих устройств.
Сброс пароля root или администратора
Сбросьте пароль root, если он был забыт.
Если вы забыли пароль , корневой и пароль пользователя, вам необходимо загрузиться в режиме восстановления, чтобы изменить их. Если вы знаете свой пароль пользователя и вам необходима смена пароля пользователя root, просто введите sudo passwd root , введите пароль пользователя, а затем создайте новый пароль пользователя root.
Перезагрузите компьютер и удерживайте левую кнопку . после экрана BIOS.
Это откроет меню GRUB. Возможно, придется попробовать данную процедуру несколько раз.
Выберите режим восстановления .
Это загрузит режим восстановления для вашего текущего дистрибутива.
Выберите вариант из меню.
Это запустит терминал, когда вы вошли в систему как пользователь root.
Диск с разрешениями на запись.
Когда вы загружаетесь в режиме восстановления, вы, как правило, имеете только права на чтение. Введите следующую команду, чтобы включить доступ для записи:
Создайте новый пароль для любых учетных записей, из которых вы заблокированы.
После того как вы вошли в систему как пользователь root и изменили права доступа, вы можете создать новый пароль для любой учетной записи:
- Введите и нажмите . Если вам нужно изменить пароль root, введите .passwdaccountName passwd root
- Введите новый пароль дважды при появлении запроса.
Перезагрузите компьютер после сброса паролей.
После завершения сброса паролей вы можете перезагрузить компьютер и использовать его в обычном режиме. Ваши новые пароли вступят в силу немедленно.
sudo -i
Разница на первый взгляд небольшая но между командами и лежит огромная пропасть.
При помощи команды пользователь получает возможность перейти из сессии обычного пользователя в сессию суперюзера — рута
Вход с правами суперюзера сразу после логина в консоль выглядит примерно так:
login as: nick nick@192.168.1.100's password: ************* Linux ubuntu1 2.6.24-19-server #1 SMP Wed Aug 20 23:54:28 UTC 2008 i686 The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. To access official Ubuntu documentation, please visit: http://help.ubuntu.com/ Last login: Tue Mar 3 21:42:06 2009 from 192.168.1.2 nick@ubuntu1:~$ sudo -i password for nick: ************* root@ubuntu1:~# ...
Что именно дают права Root на Android:
- Возможность замораживать и восстанавливать прошивку на Android устройстве
- Удалять рекламу с приложений
- Удалять встроенные приложения и мелодии
- Встраивать приложения и мелодии
- Изменять внешний вид Android до не узнаваемости (изменять иконки, менять фон), всячески редактировать apk , системных приложений
- Продлить срок работы от одного заряда (если заряда хватало вам на 1 день, то с получением root прав можно увеличить срок автономности на 1,5 — 2 дня)
- Увеличить быстродействие и отзывчивость Android
- Разгонять или понижать скорость процессора
и много других полезных функций и возможностей…
Root не встраивают
только потому, что многие не знают что они редактируют системные файлы
, можно по не опытности сильно поднять частоту процессора
и устройство сгорит
и будет в будущем выполнять только функции кирпича или молотка, а также потому что в бесплатных приложениях находится реклама с помощью которой Google зарабатывает себе деньги
, а получив root права ее можно удалить!
Минусы при получение Root прав
Помимо выше изложенных минусов, можно также отнести также:
- Официальные обновления прошивок (можно выполнить все в вручную)
- Отключение фирменных фишек производителя
Также получив Root Вы автоматически теряете гарантийный ремонт!
Но не отчаивайтесь, получив Root его можно и также не заметно удалить, тогда не один сервисный центр не сможет отказать вам в ремонте.