2015-06-19 3 views
-1

Я хочу написать сценарий, который я хочу запустить от пользователя без полномочий root, скрипт содержит несколько команд.Запустить несколько команд в Linux без регистрации в качестве пользователя root?

For EX: 
sudo -i 
hostname 
df -h 

Я попробовал те же 3 команды в сценарии, но это вход для суперпользователя и не выполняет hostname и df -h команду.

ответ

0

Если вы хотите запустить команду с привилегиями суперпользователя использовать

sudo command, 

команды

sudo -i 

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

command1 & & command2

он работает command2 после command1 будет sucesuflly закончена.

Если вам нужны привилегии root в вашем скрипте, возможно, вы должны использовать sudo при выполнении вашего скрипта, а в вашем скрипте проверьте, есть ли у пользователя необходимые привилегии (http://www.cyberciti.biz/tips/shell-root-user-check-script.html).

+0

Привет, Есть ли какой-либо путь, потому что если он запускает sudo -i, он будет работать с корневым терминалом, поэтому следующие команды в скрипте не будут выполняться до тех пор, пока я не выйду из корневого терминала. Мое намерение состоит в том, чтобы запускать команды в скрипте для запуска под корневым терминалом. –

+0

Используйте 'sudo command' без -i. Вы должны использовать sudo для каждой команды, которую вы хотите запустить как root (или sudo для всего скрипта), но помните, что ** все ** команды будут выполняться как root). – lukaszbob

Смежные вопросы