Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: автомат запуск root через терминал(РЕШЕНО)  (Прочитано 8680 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн 6apakyda

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Решил не много автоматизировать запуск сервера(стоит сервер cs)
Для это мне надо что при загрузки ubuntu запустился терминал с правами рута и выполнил команду screen -r hlds
Прогуглил интерент, понадеялся на скрипты, но ничего так и не получилось, помогите чайнику/ подскажите, заранее спасибо!

Команда screen -r hlds из пользователя не работает, нужен обязательно рут!
ubuntu 8.04
« Последнее редактирование: 06 Октября 2010, 01:48:14 от 6apakyda »

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #1 : 04 Октября 2010, 00:40:47 »
дык а в чем собственно проблема то?
что пробовали, что не получилось?

Оффлайн 6apakyda

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #2 : 04 Октября 2010, 00:49:40 »
Проблема заключается в том что я чайник и не понимаю с чего начать, тольки запускать терминал с определённой командой, толи искать скрипт для запуска терминала с выполнением команды под рутом, но хотелось бы чтобы описанное в шапке было автоматезировано
Пробовал такой скрипт:
if [ $UID -gt 0 ]
then :
    echo "you are not root. Enter root pass:"
    su -с $0
    exit $?
fi
.....
Запихнул в .sh, а потом в автозагрузку/ но толку 0, да и не понимаю что этот скрипт обозначает =(

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #3 : 04 Октября 2010, 00:54:07 »
Проблема заключается в том что я чайник и не понимаю с чего начать, тольки запускать терминал с определённой командой, толи искать скрипт для запуска терминала с выполнением команды под рутом, но хотелось бы чтобы описанное в шапке было автоматезировано
Пробовал такой скрипт:
if [ $UID -gt 0 ]
then :
    echo "you are not root. Enter root pass:"
    su -с $0
    exit $?
fi
.....
Запихнул в .sh, а потом в автозагрузку/ но толку 0, да и не понимаю что этот скрипт обозначает =(
что значит запихнул в автозагрузку? и где вы скрипт такой отрыли?
вы читали о том, как в линуксе правильно в автозагрузку добавлять скрипты?
воспользуйтесь поиском по форуму

Оффлайн 6apakyda

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #4 : 04 Октября 2010, 01:13:55 »
создал файл с расширение .sh, добавил туда код:
if [ $UID -gt 0 ]
then :
    echo "you are not root. Enter root pass:"
    su -с $0
    exit $?
fi
apt-get update && apt-get dist-upgrade
а потом записал в rc.locale
/etc/start.shИ никакой реакции после перезагрузки
Я не помню откуда взял этот скрипт

Оффлайн Charles Malaheenee

  • Активист
  • *
  • Сообщений: 756
  • Учтите, мы можем дать и вредный совет.
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #5 : 04 Октября 2010, 05:28:56 »
М-м-м, во-первых, первой строкой этого файла необходимо указать #!/bin/bash.
Во-вторых, автоматические ввод пароля рута - это бо-о-ольшая дыра в системе.
Все мы где-то, когда-то и в чем-то были новичками.

Оффлайн лесной_зонтик

  • Старожил
  • *
  • Сообщений: 2225
  • Просьба на количество сообщений не смотреть.
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #6 : 04 Октября 2010, 05:36:14 »
Зачем такие сложности?
 почему бы просто не впихнуть команду screen -r hlds  в /etc/rc.local ?
Моя мечта поставить на комп Linux, Unix, *BSD, Mac OS X, OpenSolaris, OS/2, Windows.
Не спрашивайте зачем. Сам не знаю ???

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #7 : 04 Октября 2010, 08:15:19 »
М-м-м, во-первых, первой строкой этого файла необходимо указать #!/bin/bash.
Во-вторых, автоматические ввод пароля рута - это бо-о-ольшая дыра в системе.
во-во
Зачем такие сложности?
 почему бы просто не впихнуть команду screen -r hlds  в /etc/rc.local ?
+1

Оффлайн 6apakyda

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #8 : 04 Октября 2010, 14:36:09 »
М-м-м, во-первых, первой строкой этого файла необходимо указать #!/bin/bash.
Во-вторых, автоматические ввод пароля рута - это бо-о-ольшая дыра в системе.
Исключаю автомат. ввод пароля рута
Зачем такие сложности?
 почему бы просто не впихнуть команду screen -r hlds  в /etc/rc.local ?
Прописывал я эту команду там, и не какой реакции
А самая главная сложность для меня, то что это команда не выполняется под обычным юзером(выдаёт: There is no screen to be resumed matching hlds.), выполняется только под рутом

Оффлайн alecsartania

  • Старожил
  • *
  • Сообщений: 1565
  • УМка.
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #9 : 04 Октября 2010, 14:49:55 »

Зачем такие сложности?
 почему бы просто не впихнуть команду screen -r hlds  в /etc/rc.local ?
Прописывал я эту команду там, и не какой реакции
тебе осталось вывод ошибки этой команды найти в логах и поглядедь почему нет никакой реакции. подумать и решить проблему
p.s. man chdir
p.p.s :
http://sysadmins.ru/topic128289.html
Дома Linux Mint 21.1 / 22.00

Оффлайн 6apakyda

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #10 : 04 Октября 2010, 15:50:22 »

Зачем такие сложности?
 почему бы просто не впихнуть команду screen -r hlds  в /etc/rc.local ?
Прописывал я эту команду там, и не какой реакции
тебе осталось вывод ошибки этой команды найти в логах и поглядедь почему нет никакой реакции. подумать и решить проблему
p.s. man chdir
p.p.s :
http://sysadmins.ru/topic128289.html
Изменил в rc.local строчку
screen -r hlds на
/usr/bin/screen -r hldsи проверил логи через команду
sudo /etc/init.d/rc.local startВсё отлично заработало! Но проблема в том что при загрузке ос, не открывается терминал с выполнением это команды

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #11 : 04 Октября 2010, 16:31:44 »
Скрипт при старте выполняется с правами root.
Никаких паролей не надо.
Все выполняется в фоне.
Это типа autoexec.bat в Windows.
PS. ТС, Вы бы что-нибудь почитали для самообразования. Это очень полезно, мсм.
« Последнее редактирование: 04 Октября 2010, 16:33:17 от alexander.pronin »

Оффлайн truegeek

  • FPGA Designer
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4214
  • аЦкий схемотехник
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #12 : 04 Октября 2010, 16:34:56 »
Но проблема в том что при загрузке ос, не открывается терминал с выполнением это команды
xterm -e /usr/bin/screen -r hlds
не?

Оффлайн 6apakyda

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #13 : 04 Октября 2010, 17:27:49 »
Но проблема в том что при загрузке ос, не открывается терминал с выполнением это команды
xterm -e /usr/bin/screen -r hlds
не?
Вставил код....
Никакой реакции.
Поставил задержку:
sleep 60 && mount -a -t cifsВ чём может быть проблема?
через терминал нормально идёт, без ошибок, только пароль требует(это нормально?)
sleep 10 && mount -a -t cifs
/etc/init.d/hldsm start
xterm -e /usr/bin/screen -r hlds
У меня удалённый доступ вкл. может кто сможет заглянуть на минутку. :'(



Оффлайн фирэфохэ

  • Старожил
  • *
  • Сообщений: 2169
  • straightedge
    • Просмотр профиля
Re: автомат запуск root через терминал
« Ответ #14 : 04 Октября 2010, 18:55:56 »
Понасоветовали не понятно чего.

Я бы сделал так:
1 создаём скрипт:
$ sudo gedit /usr/bin/root_script
2 вписываем туда вот это:
#! /bin/bash
screen -r hlds
и сохраняем;

3 даём права на исполнение:
$ sudo chmod +rx /usr/bin/root_script
4 разрешаем запуск для пользователя(user_name) из группы(group_name) запуск через sudo без пароля:

4.1 открываем sudoers
$ sudo env EDITOR=gedit visudo
4.2 добавляем в конец такую строчку:
user_name group_name=NOPASSWD: /usr/bin/root_script
4.3 сохраняем файл под именем /etc/sudoers (по-умолчанию предлагается sudoers.tmp)

5 в автозапуск (где он в гноме я не знаю) добавляем
xterm -e sudo root_script
Всё.
http://i18.ЗАПРЕЩЁННЫЙ РЕСУРС/big/2011/0325/6d/19eaa72dd24048a6fb0587832c4b096d.gif КДЕ - УГ. Дебиан - недоось.

 

Страница сгенерирована за 0.04 секунд. Запросов: 24.