Как запускать приложения как root?

ИМХО, лучшим решением для автономного режима является сборка Chromium под себя, «намеренно» только для вашей Ubuntu . Общее руководство для Linux здесь:

Chromium: инструкции по сборке Linux

Хотя этот способ содержит некоторое Предупреждение! , потому что вам требуется множество Необходимые условия для установки Chromium build.

13
задан 13.04.2020, 13:07

4 ответа

В дополнение к предыдущему ответу, в котором говорится о sudo и gksudo, да, это определенно плохая практика - запускать программу от имени пользователя root, если она не является административной.

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

4
ответ дан 13.04.2020, 13:07

UNIX-подобные операционные системы (включая Linux) используют концепцию, называемую разделением привилегий , чтобы обеспечить безопасность системы. UNIX с самого начала была спроектирована как многопользовательская система, то есть она была разработана таким образом, чтобы многие люди могли одновременно использовать один компьютер под управлением UNIX. Поскольку большинству пользователей не требуется возможность изменять основную систему, эта привилегия должна иметь только системный администратор. Этот привилегированный пользователь традиционно называется root . (Root очень похож на Administrator в Windows.)

Это имеет смысл на нескольких уровнях. Обычно веб-сервер или другой процесс, который предоставляет порт другим (возможно, злонамеренным) компьютерам, будет работать как его собственный пользователь (Apache работает как пользователь nobody), поэтому даже если программа веб-сервера будет взломана, злоумышленник сможет Разбить всю машину довольно легко. Это даже имеет смысл в основном для однопользовательских компьютеров, таких как настольные компьютеры: если другим членам вашей семьи, например, каким-то образом удастся запустить rm -rf / ( НЕ запускайте этот ), у них не будет разрешения удалить каждый файл в системе , как если бы не было такого понятия, как разделение привилегий.

Есть несколько команд, которые вы можете использовать для повышения своих привилегий. Команда sudo существует для временного предоставления вам привилегий корневого уровня, когда они вам нужны для администрирования системы. Вы также можете использовать команды gksudo или su. Последний может использоваться, только если вы знаете пароль пользователя root и является хорошим вариантом, если ваша учетная запись не имеет разрешения на использование sudo.

Пользователь root может сделать что-нибудь в системе, почти без исключений. Таким образом, даже если вы запросите что-то случайно, это будет выполнено практически без предупреждения, даже если это вредно для здоровья вашей системы. Вот почему хорошей практикой является выполнение большинства ваших действий как обычного пользователя и использование root только при необходимости, например, при установке программы.

Вам не нужно использовать root, чтобы избавиться от ошибки сегментации. Если root - единственное, что исправляет segfault, то в программе есть ошибка. Программы не должны так терпеть неудачу только потому, что у них нет рута.

12
ответ дан 13.04.2020, 13:08
  • 1
    Я испытал этот вид ошибки, и обычно это относилось к разрешению файла. Используя root похож на взятие кувалды для взламывания арахиса. Лучше, чтобы определить файл и решить, изменяете ли Вы владение или разрешение как потребности. Например, я имею admin группа для файлов что другие shouldn' t должен обновить или доступ. – Guffa 13.04.2020, 13:08

Вы также можете перейти на /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.

2
ответ дан 13.04.2020, 13:09

Довольно просто запустить программу от имени пользователя root.

Для консольной программы используйте

sudo <program name>

Если это приложение с графическим интерфейсом, используйте

gksudo <program name>
12
ответ дан 13.04.2020, 13:09

Теги

Похожие вопросы