- How to run applications as root?
- 4 Answers 4
- How to run a .run file as root?
- 4 Answers 4
- Thread: run «./install.sh» (from folder) as root.
- run «./install.sh» (from folder) as root.
- Re: run «./install.sh» (from folder) as root.
- Re: run «./install.sh» (from folder) as root.
- Re: run «./install.sh» (from folder) as root.
- Re: run «./install.sh» (from folder) as root.
- Re: run «./install.sh» (from folder) as root.
- Re: run «./install.sh» (from folder) as root.
- Re: run «./install.sh» (from folder) as root.
- Re: run «./install.sh» (from folder) as root.
- Re: run «./install.sh» (from folder) as root.
- Права суперпользователя Linux
- Права суперпользователя в Linux
- Вход под суперпользователем
- Переключение на суперпользователя в терминале
- Получение прав root без переключения
- Графически приложения от имени суперпользователя
- Выводы
How to run applications as root?
I am having some strange issue with Kate and Kwrite. When I click on Open File, it crashes with segmentation fault.
I am a complete newbie to Linux, and I think the issue is that I am not running the application as root.
How do I run applications as root in Ubuntu? Is it bad practice to do this? What is the purpose of the whole root thing, where even though we need to use root so frequently, it is not utilized as default?
4 Answers 4
It is pretty simple to run a program as root.
For a console program use
If it is a GUI application use
UNIX-like operating systems (including Linux) use a concept called privilege separation to ensure that the system stays safe. UNIX was designed as a multi-user system from the ground up — that is, it was designed so that many people could use one computer running UNIX at once. Because most users don’t need to be able to modify the core system only the system administrator should have that privilege. That privileged user is traditionally called root. (Root is a lot like Administrator in Windows.)
This makes sense on several levels. Commonly, a web server or other process that exposes a port to other (possibly malicious) computers will run as its own user (Apache runs as the user nobody ), so that even if the web server program is hacked, the attacker can’t trash the entire machine quite so easily. It even makes sense for mostly single-user machines such as desktops: if other members of your family, for example, somehow manage to run rm -rf / (do NOT run that), they won’t have permission to delete every file on the system, like they would if there were no such thing as privilege separation.
There are several commands you can use to elevate your privileges. The sudo command exists to temporarily give you root-level privileges when you need them to administer the system. You can also use the commands gksudo or su . The latter can be used only if you know root’s password and is a good option if your account doesn’t have permission to use sudo .
The root user can do anything on a system, with almost no exceptions. So even if you request something by accident, it will be carried out with little or no warning, even if it’s bad for the health of your system. This is why it’s good practice to do most of your activities as a normal user, and use root only when needed, like when you’re installing a program.
You shouldn’t need to use root to get rid of a segmentation fault. If root is the only thing that fixes a segfault, then the program has a bug. Programs should not fail like that just because they don’t have root.
Источник
How to run a .run file as root?
I downloaded a .run file for a Nvidia driver, but when I run it in the terminal it tells me it must be run as root.
I’m a complete noob and I barely even know what root is. I think it’s somewhere around the equivalent of admin in windows.
Well, I got the file to run but it turns out that the driver will not recognize my card. I’ve heard about other problems with Nvidia cards not working right with 64 bit versions of 12.04.
4 Answers 4
You need to do two things; both from a Terminal prompt:
- Change to the directory where you have the .run file stored.
- Type: chmod 755 filename.run
- Type: sudo ./filename.run
The above commands will make the file executable and will launch the executable with root-level permissions.
Add the command «sudo» before the command. For example: sudo blah.sh
After you enter your password the command will run as root. Be careful to verify the trustworthiness of a package or command before running it with sudo.
root is the master account in Ubuntu; every account has limited privileges but the root account has no limitations. The reason for hiding root is that in most cases you don’t need root access. The analog in Windows would be having to authenticate when you want to install a driver; in Ubuntu you have to be root or have root privileges.
There are two ways for you to get access as root. You can type:
sudo and Ubuntu will ask you for your password and then execute that command as root.
Источник
Thread: run «./install.sh» (from folder) as root.
Thread Tools
Display
run «./install.sh» (from folder) as root.
I am trying to install the divx codec, and this is what the readme says: run «./install.sh» as root.
I am an absolute beginner. please help.
Re: run «./install.sh» (from folder) as root.
it will then ask you for a password. if your the only user on your computer then it will probably be your password. The sudo command is put in front of any command to run it as root.
Re: run «./install.sh» (from folder) as root.
Re: run «./install.sh» (from folder) as root.
Re: run «./install.sh» (from folder) as root.
Re: run «./install.sh» (from folder) as root.
for sudo sh install it says : sh: Can’t open install.sh
and this doesn’t make sense, how do i direct it to the folder?
Re: run «./install.sh» (from folder) as root.
cd to the directory of install.sh
Re: run «./install.sh» (from folder) as root.
hmm, i’m sorry, i’m still not getting anything.
Re: run «./install.sh» (from folder) as root.
let’s say the file install.sh is in the downloads folder of your home directory then first run
Re: run «./install.sh» (from folder) as root.
I am trying to install the divx codec, and this is what the readme says: run «./install.sh» as root.
I am an absolute beginner. please help.
As you are an absolute beginner, I guess that you are trying to do things a lot more complicated than they really are.
To get the divx codec (and a lot of other codecs that are not installed by default), just install the package «libavcodec-extra-52».
Open up synaptic (System—>Administration—>synaptic package manager) and search for it. Or install it from the terminal with this simple command:
There are a bunch of packages (codecs, adobe flash, support for .rar archives, java plugin for firefox etc.) that most people want but that are not installed by default due to their licences, which can be installed by installing the package «ubuntu-restricted-extras».
Источник
Права суперпользователя Linux
Как вы знаете, 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:
Как видите, наша переменная осталась. Вы также можете переключится на любого другого пользователя. Например:
Более подробно о команде su вы можете почитать в отдельной статье. Получение прав суперпользователя таким способом используется во многих дистрибутивах, например, 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 читайте здесь. Но остался еще один нерешенный вопрос — как быть с графическими утилитами? Ведь команда sudo их не запускает, а запускать графическую оболочку от имени root небезопасно. Это мы и рассмотрим далее.
Графически приложения от имени суперпользователя
Для запуска графических приложений от имени суперпользователя существуют специальные утилиты. Они сохраняют все необходимые переменные окружения и полномочия. В KDE это команда kdesu, а в Gnome команда gksu.
Просто наберите gksu или kdesu, а затем нужную команду:
Эта команда запустит файловый менеджер KDE с правами суперпользователя. В Gnome это будет выглядеть вот так:
Программа запросит пароль, уже в графическом окне, а потом откроется файловый менеджер.
Выводы
Вот и все. Теперь вы знаете как получить права суперпользователя в Linux, знаете как использовать команду sudo и в чем разница sudo или su. Теперь программы, требующие дополнительных привилегий в системе, не вызовут у вас проблем. Если остались вопросы, пишите в комментариях!
Источник