Як запустити програми як root?


13

У мене виникають якісь дивні проблеми з Кейт і Квірте. Коли я натискаю на Відкрити файл , він виходить з ладу з сегментацією.

Я є новачком в Linux, і я думаю, що проблема полягає в тому, що я не запускаю програму як root.

Як запустити програми як root в Ubuntu? Чи погано це робити? Яка мета всієї кореневої речі, коли, хоча нам і так часто потрібно користуватися, він не використовується як за замовчуванням?


Ви можете зробити дуже шкідливі речі при використанні root для відкриття редактора, тому, будь ласка, не йдіть таким шляхом;) 2 інші рішення, які не потребують root: спробуйте виправити segmentation faultабо використовувати інший редактор (gedit - редактор gnome). kate en kwrite - це програма KDE (тому не Gnome).
Rinzwind

1
які згубні речі можна зробити за допомогою текстового редактора. Звучить божевільно
l - '' '''--------- '' '' '' '' '' '29

1
@ АртёмЦарионов По-перше, ви можете редагувати файли, які ваш комп'ютер використовує для запуску операційної системи або завантаження графічного середовища, ефективно порушуючи ваш комп'ютер.
Аманда

Відповіді:


15

Запустити програму як root, досить просто.

Для використання консольної програми

sudo <program name>

Якщо це використання програми GUI

gksudo <program name>

13

UNIX-подібні операційні системи (включаючи Linux) використовують концепцію, яка називається розділенням привілеїв, щоб забезпечити безпеку системи. UNIX був розроблений як багатокористувацька система з нуля - тобто він був розроблений так, що багато людей могли одночасно використовувати один комп'ютер під управлінням UNIX. Оскільки більшості користувачів не потрібно змінювати основну систему, лише адміністратор повинен мати такий привілей. Цей привілейований користувач традиційно називається root . (Корінь дуже схожий на адміністратора в Windows.)

Це має сенс на кількох рівнях. Зазвичай веб-сервер чи інший процес, який відкриває порт для інших (можливо, шкідливих) комп'ютерів, буде працювати як власний користувач (Apache працює як користувач nobody), так що навіть якщо програма веб-сервера зламана, зловмисник не може викинути сміття вся машина досить легко. Це навіть має сенс для машин, що користуються переважно одним користувачем, таких як настільні: якщо інші члени вашої родини, наприклад, якимось чином вдається запустити rm -rf /( НЕ запускати це ), вони не матимуть дозволу на видалення кожного файлу в системі , наприклад вони б, якби не існувало такого поняття, як розмежування привілеїв.

Існує кілька команд, якими ви можете скористатися, щоб підвищити свої привілеї. sudoКоманда існує , щоб тимчасово дати вам привілей кореневого рівня , коли це необхідно для адміністрування системи. Ви також можете використовувати команди gksudoабо su. Останній може бути використаний, лише якщо ви знаєте пароль root і є хорошим варіантом, якщо ваш обліковий запис не має дозволу на використання sudo.

Користувач root може робити все, що завгодно в системі, майже без винятку. Тож навіть якщо ви щось запитаєте випадково, це буде здійснено з невеликим або відсутнім попередженням, навіть якщо це шкодить здоров’ю вашої системи. Ось чому добра практика здійснювати більшу частину своєї діяльності як звичайний користувач, а використовувати root тільки в разі потреби, наприклад, коли ви встановлюєте програму.

Вам не потрібно використовувати root, щоб позбутися від помилки сегментації. Якщо root є єдиним, що фіксує segfault, то програма має помилку. Програми не повинні так провалюватися лише тому, що вони не мають root.


У мене виникла така помилка, і зазвичай це стосується дозволу на файл. Використовувати root- це як взяти кувалду, щоб зламати арахіс. Краще визначити файл і вирішити, чи змінюєте ви власник або дозвіл на потреби. Наприклад, у мене є adminгрупа файлів, до яких іншим не потрібно оновлювати чи отримувати доступ.
буде

5

На додаток до попередньої відповіді, яка говорить про судо і gksudo, так, безумовно, погана практика запускати програму як root, якщо вона не є адміністративною.

Будь ласка, спробуйте знайти, чому програми виходять з ладу. Будь ласка, зверніться за допомогою до інших, якщо вам потрібно.


2

Ви також можете зайти /usr/share/applicationsв ubuntu і відредагувати файл запуску програми, яку ви намагаєтеся запустити.
Як я редагував файл github atom, зазвичай я використовую підстановку, щоб знайти такі файли

sudo nano atom*

Це відкриє atom.desktopфайл, знайдіть команду Exec і додайте gksudo.Для напр.,

До цього

Exec=/usr/share/atom/atom %U  

Після

Exec=gksudo -k -u root /usr/share/atom/atom %U

Тепер, коли програма буде запущена, вона запитуватиме пароль root.


добре, я не бачу такого файлу на сервері Tomcat. Я маю запускати додаток GUI таким чином: "sudo ./manager-linux-x64.run" щодня, що мені відомо, це не дуже добре. Але pkexec не працює над цим додатком.
Prabesh bhattarai
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.