Назад | Перейти на главную страницу

запустить скрипт из ssh как некорневой linux

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

./filename.ext

создается журнал ошибок, в котором говорится, что он не может быть запущен от имени пользователя root. Мне было интересно, как я могу сделать так, чтобы он работал не от имени пользователя root? Я использую дебиан

Спасибо :)

sudo -u <another_user> /path/to/filename.ext

Первый:

ПОЖАЛУЙСТА, НЕ ВОЙДИТЕ КАК ROOT.

ОСОБЕННО НЕ ПО СЕТИ.

Вход в систему как root - это ПЛОХАЯ ИДЕЯ - Однажды вы сделаете опечатку, которая будет довольно безобидной для обычного пользователя, но может быть катастрофической для пользователя root.
Вы должны создать для себя обычного пользователя без полномочий root и войти в систему как этот пользователь. Процедуры для этого варьируются от распространения к распространению. Этот пользователь также должен иметь возможность запускать указанную команду (поскольку он не является пользователем root), что решает проблему в вашем вопросе.

Во-вторых, и частично связанные: как предлагали другие, рассмотрите судо для запуска всего, что вам нужно запустить от имени пользователя root (почти в каждом дистрибутиве Linux он установлен по умолчанию, или вы можете получить его из диспетчера пакетов). Это потребует некоторой настройки (вам нужно будет добавить пользователя в sudoers файл, или в некоторых дистрибутивах Linux просто добавляя их в admin группы хватит.
В качестве альтернативы вы можете просто использовать su команда для переключения на root при необходимости. Этому не хватает гибкости sudo, но не требуется настройка в системах Linux - см. страница руководства для su Больше подробностей.

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

adduser fred
mkdir /home/fred
chown fred:users /home/fred
passwd fred

как только вы это сделаете, вы можете попробовать запустить свою команду с судо

sudo -u fred ./filename.ext

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

Взгляни на судо.

Я бы посоветовал sudo, если бы вы были пользователем и вам нужно было запускать скрипт от имени пользователя root (sudo требует настройки перед его использованием).

И наоборот, будучи root и меняя права на обычного пользователя: используйте "su".

su -c "./filename.ext" $username

или получить оболочку входа с правами пользователя:

su - $username

(изменение $ username на желаемое имя пользователя)