LinuxForum.Fans
Тема

Как автоматизировать выполнение скрипта от рута?

Автор: inux 7 сообщений 5219 просмотров
#301808

Вся загвоздка в том, что MobileTerminal на айфоне изначально запускается под пользователем - mobile$

Скрипт должен выполняться от рут пользователя.
Для этого в нем стоит проверка:

text
if [ `id -u` != 0 ]; then echo "Пожалуйста, войдите под рутом!
Введите команду su и пароль alpine."; echo; ''exit 0; fi

Запускаю MobileTerminal на айфоне:
mobile$
запускаю скрипт, просит войти под рутом!
приходится каждый раз вводить su и пароль!
как автоматизировать?
можно что бы при запуске скрипта, он сам вводил su и пароль?

#301809

Изменить владельца файла на root

text
chown root:root /ваш/скрипт

Сделает файл исполняемым для всех и включит бит setuid

text
sudo chmod 4755 /ваш/скрипт

После пользователь может запускать скрипт, и он будет выполнятся от root
Сдается мне после этого su и пароль будут не нужны

#301813

IMHO, использование setuid, особенно без веской на то причины — плохой совет.
Правильнее — настроить sudo на беспарольный запуск определённых команд (скрипта в данном случае).

#301814
"Lupo Alberto" написал:
Правильнее — настроить sudo на беспарольный запуск определённых команд (скрипта в данном случае).

где это настраивается?

#301816
"inux" написал:
где это настраивается?

В файле /etc/sudoers, но сначала, хотя бы бегло, просмотрите:

text

man visudo
text

man sudo
text

man sudoers
#301865
"Lupo Alberto" написал:
IMHO, использование setuid, особенно без веской на то причины — плохой совет.

Ну я поэтому и выделил красным

"Lupo Alberto" написал:
Правильнее — настроить sudo на беспарольный запуск определённых команд (скрипта в данном случае).

Вы как всегда правы, :) писал утром,ночью не спал вот и .... :[
Привожу пример своего sudoers, выделил что по теме

Показать

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification
User_Alias STANDART_USERS = user
# Cmnd alias specification
Cmnd_Alias MUSTBE = /usr/sbin/pm-suspend, /usr/bin/apt-get update, /usr/sbin/rtcwake, /usr/bin/wvdial, /sbin/shutdown
# User privilege specification
# Разрешить выполнение команд без ввода пароля
root ALL=(ALL:ALL) ALL

# Allow members of group sudo to execute any command
# (Note that later entries override this, so you might need to move
# it further down)
#%sudo ALL=(ALL:ALL) ALL

#includedir /etc/sudoers.d

# Разрешить пользователям принадлежащим к группе sudo выполнять команды с вводом своего пароля
%sudo ALL=PASSWD: ALL
STANDART_USERS ALL = NOPASSWD: MUSTBE
#301975

Установил один файлик - rootify
запускаю так: rootify мой скрипт
Работает от рута, хотя запускаю с Рабочего стола айфона, где все работает от пользователя "mobile"
Спасибо за ответы и помощь, Ваши советы тоже опробую!

Войдите или зарегистрируйтесь, чтобы ответить.