|
Cтарт, стоп, рестарт [Linux] [Локальный сервер] [Решено]
Автор |
Сообщение |
fianlls
Участник
Зарегистрирован: 09 фев 2014, 18:49 Сообщения: 36 Поблагодарили: 0 раз.
|
Да вы были правы... в дерективе user указан ngnix... Добавил в sudoers... Не полегчало... Так я не пойму одного почему когда я ставлю галочку втоподьём cron. он запускается ? оО
|
14 апр 2014, 16:22 |
|
|
Nikita
V.I.P.
Зарегистрирован: 10 ноя 2011, 19:05 Сообщения: 1945 Поблагодарили: 13 раз. Откуда: СПб
|
fianlls писал(а): Так я не пойму одного почему когда я ставлю галочку втоподьём cron. он запускается ? оО Потому что cron скрипт запускается от суперпользователя и проблем с привилегиями не возникает.
|
14 апр 2014, 16:33 |
|
|
kissbb
Специалист
Зарегистрирован: 26 апр 2012, 16:48 Сообщения: 383 Поблагодарили: 4 раз.
|
Потому что крон запускает сервер от имени пользователя, которым вы редактировали crontab. Не нужно добавлять ngnix в sudoers, нужно в директиве user указать пользователя, от имени которого нужно работать с сервером.
|
14 апр 2014, 16:33 |
|
|
fianlls
Участник
Зарегистрирован: 09 фев 2014, 18:49 Сообщения: 36 Поблагодарили: 0 раз.
|
kissbb писал(а): Потому что крон запускает сервер от имени пользователя, которым вы редактировали crontab. Не нужно добавлять ngnix в sudoers, нужно в директиве user указать пользователя, от имени которого нужно работать с сервером. Ок, поменял временно на рута рестарнул сервисы... не помогает (
|
14 апр 2014, 16:38 |
|
|
kissbb
Специалист
Зарегистрирован: 26 апр 2012, 16:48 Сообщения: 383 Поблагодарили: 4 раз.
|
fianlls писал(а): Ок, поменял временно на рута рестарнул сервисы... не помогает ( А сервер у вас запускается от рута? Или вы, все же, добавили отдельного пользователя? Если добавили, то укажите его в ngnix.conf. От рута работать и не должно.
|
14 апр 2014, 16:44 |
|
|
fianlls
Участник
Зарегистрирован: 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 |
|
|
kissbb
Специалист
Зарегистрирован: 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 |
|
|
fianlls
Участник
Зарегистрирован: 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 |
|
|
fianlls
Участник
Зарегистрирован: 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 |
|
|
kissbb
Специалист
Зарегистрирован: 26 апр 2012, 16:48 Сообщения: 383 Поблагодарили: 4 раз.
|
1. Зачем вы выполняете скрипт от рута? 2. Если не ошибаюсь (этой частью занимается Никита), то в скрипте менять ничего не надо. И из консоли запускать не надо. Через админпанель работает?
|
15 апр 2014, 11:01 |
|
|
fianlls
Участник
Зарегистрирован: 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 |
|
|
fianlls
Участник
Зарегистрирован: 09 фев 2014, 18:49 Сообщения: 36 Поблагодарили: 0 раз.
|
Из панели тоже не работает...
|
15 апр 2014, 11:18 |
|
|
Nikita
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
|
15 апр 2014, 13:00 |
|
|
fianlls
Участник
Зарегистрирован: 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 |
|
|
fianlls
Участник
Зарегистрирован: 09 фев 2014, 18:49 Сообщения: 36 Поблагодарили: 0 раз.
|
уже даже httpd запустил от пользователя steam... А в самой панели пользователь только в настройках игрового сервера выставляется ???? и всё ??
|
15 апр 2014, 14:00 |
|
|
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2 |
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения
|
|
|