Сообщения без ответов | Активные темы Текущее время: 22 ноя 2024, 11:43




Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 44 ]  На страницу Пред.  1, 2, 3  След.
Cтарт, стоп, рестарт [Linux] [Локальный сервер] [Решено] 
Автор Сообщение
Участник

Зарегистрирован:
09 фев 2014, 18:49
Сообщения: 36
Поблагодарили: 0 раз.
Да вы были правы... в дерективе user указан ngnix...
Добавил в sudoers... Не полегчало...
Так я не пойму одного почему когда я ставлю галочку втоподьём cron. он запускается ? оО


14 апр 2014, 16:22
Профиль
V.I.P.
Аватара пользователя

Зарегистрирован:
10 ноя 2011, 19:05
Сообщения: 1945
Поблагодарили: 13 раз.
Откуда: СПб
fianlls писал(а):
Так я не пойму одного почему когда я ставлю галочку втоподьём cron. он запускается ? оО


Потому что cron скрипт запускается от суперпользователя и проблем с привилегиями не возникает.

_________________
Изображение
Half-Life FAQ - ответы на многие вопросы
Все о Half-Life
Интересное о Half-Life
Статистика серверов
Правила HLDM.org


14 апр 2014, 16:33
Профиль ICQ WWW
Специалист
Аватара пользователя

Зарегистрирован:
26 апр 2012, 16:48
Сообщения: 383
Поблагодарили: 4 раз.
Потому что крон запускает сервер от имени пользователя, которым вы редактировали crontab.
Не нужно добавлять ngnix в sudoers, нужно в директиве user указать пользователя, от имени которого нужно работать с сервером.


14 апр 2014, 16:33
Профиль
Участник

Зарегистрирован:
09 фев 2014, 18:49
Сообщения: 36
Поблагодарили: 0 раз.
kissbb писал(а):
Потому что крон запускает сервер от имени пользователя, которым вы редактировали crontab.
Не нужно добавлять ngnix в sudoers, нужно в директиве user указать пользователя, от имени которого нужно работать с сервером.

Ок, поменял временно на рута рестарнул сервисы... не помогает (


14 апр 2014, 16:38
Профиль
Специалист
Аватара пользователя

Зарегистрирован:
26 апр 2012, 16:48
Сообщения: 383
Поблагодарили: 4 раз.
fianlls писал(а):
Ок, поменял временно на рута рестарнул сервисы... не помогает (

А сервер у вас запускается от рута? Или вы, все же, добавили отдельного пользователя?
Если добавили, то укажите его в ngnix.conf. От рута работать и не должно.


14 апр 2014, 16:44
Профиль
Участник

Зарегистрирован:
09 фев 2014, 18:49
Сообщения: 36
Поблагодарили: 0 раз.
kissbb писал(а):
fianlls писал(а):
Ок, поменял временно на рута рестарнул сервисы... не помогает (

А сервер у вас запускается от рута? Или вы, все же, добавили отдельного пользователя?
Если добавили, то укажите его в ngnix.conf. От рута работать и не должно.

Фуф впринцепе понятно в чем причина, но не ка кне могу заставить Centos запускать этот скрипт sh без пароля..
1) Создал нового пользователя steam
2) Прописал в конфиг ngnix в дерективу user его
3) в sudoers добавил правило (перепробывал кучу)
вот что в sudoers
steam ALL=(ALL) ALL
steam ALL=(steam) NOPASSWD:/home/servers/*
steam ALL=(steam) NOPASSWD:/home/servers/server.sh
steam ALL = NOPASSWD: /home/servers/server.sh
steam ALL = NOPASSWD: /home/servers/steamcmd.sh

Вот вывод sudo -l от пользователя steam
[steam@gameap ~]$ sudo -l
Matching Defaults entries for steam on this host:
env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR LS_COLORS MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION
LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY VESTA", !syslog

User steam may run the following commands on this host:
(ALL) ALL
(steam) NOPASSWD: /home/servers/*
(steam) NOPASSWD: /home/servers/server
(root) NOPASSWD: /home/servers/server.sh
(root) NOPASSWD: /home/servers/steamcmd.sh

Но при попытке запустить сервер с консоли один фиг просит пароль...
[steam@gameap servers]$ su steam -c ./server.sh start /home/servers/test-server cstrike_Cl91Dj_27015 "./hlds_run -console -game cstrike +ip 10.0.0.29 +port 27015 +map de_dust2"
Пароль:

Может кто нибудь сталкивался подскажите куда копать.... не пойму... (((


15 апр 2014, 08:46
Профиль
Специалист
Аватара пользователя

Зарегистрирован:
26 апр 2012, 16:48
Сообщения: 383
Поблагодарили: 4 раз.
fianlls писал(а):
Но при попытке запустить сервер с консоли один фиг просит пароль...
[steam@gameap servers]$ su steam -c ./server.sh start /home/servers/test-server cstrike_Cl91Dj_27015 "./hlds_run -console -game cstrike +ip 10.0.0.29 +port 27015 +map de_dust2"
Пароль:

Может кто нибудь сталкивался подскажите куда копать.... не пойму... (((

А если из консоли использовать не su, а sudo?
P.S. Можете просто выполнить su steam и посмотреть результат.


15 апр 2014, 10:29
Профиль
Участник

Зарегистрирован:
09 фев 2014, 18:49
Сообщения: 36
Поблагодарили: 0 раз.
так через sudo получается запускать без пароля тобиш
sudo -u steam ./server.sh работает....
а дальше я так понимаю надо править скрипт server.sh ???
чтобы вместо su $user -c он подставлял sudo -u $user ????
Т.к после того как скрмливаеш ему полную строку запска
sudo -u steam ./server.sh start /home/servers/test-server cstrike_Cl91Dj_27015 "./hlds_run -console -game cstrike +ip 10.0.0.29 +port 27015 +map de_dust2"
Он опять начинает просить пароль...


15 апр 2014, 10:48
Профиль
Участник

Зарегистрирован:
09 фев 2014, 18:49
Сообщения: 36
Поблагодарили: 0 раз.
Елси исправляю скрипт на
Код:
case "$1" in
 start)
    if [[ `sudo -u $USER "screen -ls |grep $NAME"` ]]
<------><------>then
<------><------>echo "Server is already running"
    else
<------><------>sudo -u $USER "cd $DIR; screen -m -d -S $NAME $COMMAND"
<------><------>sleep 4
<------><------>
<------><------>if [[ `sudo -u $USER "screen -ls |grep $NAME"` ]]
<------><------><------>then
<------><------><------>echo "Server started"
<------><------>else
<------><------>   echo -e "Server not started \nStart command:"
<------><------>   echo sudo -u $USER "cd $DIR; screen -m -d -S $NAME $COMMAND"
<------><------>fi
    fi
    ;;


То получаю в ответ вот такую штукенцию...

Код:
[root@gameap servers]# sudo -u steam ./server.sh start /home/servers/test-server cstrike_Cl91Dj_27015 "./hlds_run -console -game cstrike +ip 10.0.0.29 +port 27015 +map de_dust2"
sudo: screen -ls |grep cstrike_Cl91Dj_27015: command not found
sudo: cd /home/servers/test-server; screen -m -d -S cstrike_Cl91Dj_27015 : command not found
sudo: screen -ls |grep cstrike_Cl91Dj_27015: command not found
Server not started
Start command:
sudo -u steam cd /home/servers/test-server; screen -m -d -S cstrike_Cl91Dj_27015
[root@gameap servers]#



15 апр 2014, 10:53
Профиль
Специалист
Аватара пользователя

Зарегистрирован:
26 апр 2012, 16:48
Сообщения: 383
Поблагодарили: 4 раз.
1. Зачем вы выполняете скрипт от рута?
2. Если не ошибаюсь (этой частью занимается Никита), то в скрипте менять ничего не надо. И из консоли запускать не надо. Через админпанель работает?


15 апр 2014, 11:01
Профиль
Участник

Зарегистрирован:
09 фев 2014, 18:49
Сообщения: 36
Поблагодарили: 0 раз.
kissbb писал(а):
1. Зачем вы выполняете скрипт от рута?
2. Если не ошибаюсь (этой частью занимается Никита), то в скрипте менять ничего не надо. И из консоли запускать не надо. Через админпанель работает?


1) так запустил то я от пользователя steam.....
И зайди под steam олучаю тоже самое...
Код:
[root@gameap servers]# su steam
[steam@gameap servers]$ sudo -u steam ./server.sh start /home/servers/test-server cstrike_Cl91Dj_27015 "./hlds_run -console -game cstrike +ip 10.0.0.29 +port 27015 +map de_dust2"
sudo: screen -ls |grep cstrike_Cl91Dj_27015: command not found
sudo: cd /home/servers/test-server; screen -m -d -S cstrike_Cl91Dj_27015 : command not found
sudo: screen -ls |grep cstrike_Cl91Dj_27015: command not found
Server not started
Start command:
sudo -u steam cd /home/servers/test-server; screen -m -d -S cstrike_Cl91Dj_27015
[steam@gameap servers]$


А если не праивть скрипт то просит пароль при первой же команде su

Оригинальный код скрипта
Код:
[root@gameap servers]# su steam
[steam@gameap servers]$ sudo -u steam ./server.sh start /home/servers/test-server cstrike_Cl91Dj_27015 "./hlds_run -console -game cstrike +ip 10.0.0.29 +port 27015 +map de_dust2"
Пароль:



Вот попытка запуска просто скрипта
Код:
[steam@gameap servers]$ sudo -u steam ./server.sh
Usage all parameters
[steam@gameap servers]$

если запускаю ./server.sh start то сразу же просит пароль !


15 апр 2014, 11:08
Профиль
Участник

Зарегистрирован:
09 фев 2014, 18:49
Сообщения: 36
Поблагодарили: 0 раз.
Из панели тоже не работает...


15 апр 2014, 11:18
Профиль
V.I.P.
Аватара пользователя

Зарегистрирован:
10 ноя 2011, 19:05
Сообщения: 1945
Поблагодарили: 13 раз.
Откуда: СПб
Из панели скрипт запускается по шаблону:
Код:
cd /путь/к/скрипту && sudo ./скрипт.sh


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

Не нужно ничего менять, просто найдите причину, почему из панели не хочет запускаться.
Мне что-то подсказывает, что вы сделали что-то лишнее.
Удалите из /etc/sudoers все ваши
Код:
www-data ALL = NOPASSWD: /home/servers/*

Укажите лишь определенные скрипты
Код:
www-data ALL = NOPASSWD: /home/servers/server.sh

_________________
Изображение
Half-Life FAQ - ответы на многие вопросы
Все о Half-Life
Интересное о Half-Life
Статистика серверов
Правила HLDM.org


15 апр 2014, 13:00
Профиль ICQ WWW
Участник

Зарегистрирован:
09 фев 2014, 18:49
Сообщения: 36
Поблагодарили: 0 раз.
# Allows members of the users group to shutdown this system
# %users localhost=/sbin/shutdown -h now
admin ALL=NOPASSWD:/usr/local/vesta/bin/*
#admin ALL=NOPASSWD:/home/servers/SteamCMD/*
#finalls ALL=NOPASSWD:/home/servers/*
#steam ALL=(steam) NOPASSWD:/home/servers/*
#steam ALL=(steam) NOPASSWD:/home/servers/server.sh
#steam ALL=(steam) NOPASSWD: /bin/sh /home/servers/server.sh
steam ALL=(ALL) NOPASSWD: /home/servers/server.sh
www-data ALL = NOPASSWD: /home/servers/server.sh
steam ALL = NOPASSWD: /home/servers/server.sh

Счас выглядит так.... не работает ((((


15 апр 2014, 13:46
Профиль
Участник

Зарегистрирован:
09 фев 2014, 18:49
Сообщения: 36
Поблагодарили: 0 раз.
уже даже httpd запустил от пользователя steam...
А в самой панели пользователь только в настройках игрового сервера выставляется ???? и всё ??


15 апр 2014, 14:00
Профиль
Показать сообщения за:  Поле сортировки  
Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.   [ Сообщений: 44 ]  На страницу Пред.  1, 2, 3  След.

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron


HLDM.ORG 2011-2013