su: must be run from a terminal
xSav 4 мая, 2013 - 21:01
Вечер добрый уважаемые.
Меня попросили поднять игровой сервер - я согласился (безвозмездно)
Как бы все сделал и все под рутом работает но это меня не устаривает. Создал пользователя командой
useradd -d /home/sav -G sshd,ntp,apache,ftp,cron -m -r -U sav
закинул в папку созданного пользователя игру
сделал права на выполнение и выставил chown sav:sav -R /home/sav
Игра запускается в командной строке
cd /home/sav/cs ./hlds_run_public -binary ./hlds_i686_public -console -insecure -game cstrike +maxplayers 10 +port 27015 +ip 0.0.0.0 -pingboost 1 +map de_dust2
Все работает.
Нашел в нете скрипт для запуска через крон
#!/bin/bash # for ALFA-STRIKE project # Credit: [A]SECTOR {<a href="http://www.alfa-strike" target="_blank">www.alfa-strike</a>} # email: [/email] # /etc/init.d/hlds_public # # ### BEGIN INIT INFO # Provides: hlds_public # Description: Counter-Strike 1.6 NoSteam linux dedicated server starting service ### END INIT INFO RETVAL=0 #Путь к серверу path="/home/sav/cs" start() { if [ -d $path ]; then cd $path #Строка запуска каждого сервера su sav -c "./hlds_run_public -binary ./hlds_i686_public -console -debug -game cstrike +maxplayers 16 +port 27015 +ip 0.0.0.0 -pingboost 2 +map de_dust2x2 -pidfile hlds_public.pid"& #где xx.xxx.xx.xx ваш айпи адрес и меняем на свой порт. touch ./hlds_public fi } stop() { #if [ -f $path/hlds_public.run ]; then killall hlds_run_public killall hlds_i686_public #kill 'cat hlds_public.pid' cd $path rm -R hlds_public.pid #rm -R cron.log #запись информации в лог файл cron.log можно отключить в самом crontab, соответственно эту строку в скрипте закоментируем. #rm -R ./hlds_public #fi } #Статус >>> старт,рестарт,остановка сервера status() { cd $path; [ -f $path/hlds_public.pid ] } case "$1" in start) start echo "CS Server_public starting" ;; stop) stop echo "CS Server_public stoping" ;; restart) stop
Подставил свои данные.
Кинул его в /etc/init.d/ поставил ему права на выполнение, и chown sav:sav
Вывод под рутом все работает (хотя в кронтаб не срабатывает но тут хотя бы разобраться с пользователями)
Под пользователем sav в терминале получаю ошибку
sav@gentoo ~/cs $ /etc/init.d/hlds_cs start su: must be run from a terminal CS Server_public starting
Хоть оно и пишет что сервер запущен но на самом деле нет
Помогите решением
»
- Для комментирования войдите или зарегистрируйтесь
app-admin/sudo
app-admin/sudo
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
krigstask
поставил результат тотже
Установил sudo, а su всё
Установил sudo, а su всё равно просит терминал? Ну тогда я не знаю (-%Е
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Неправильно ставишь сервер,
Неправильно ставишь сервер, нужно ставить games-server/halflife-steam, дальше по инструкции.
Не грусти, товарищ! Всё хорошо, beautiful good!
winterheart
Не соглашусь.
2 года назад я ставил сервер аналогичным образом. Накатил генту выкачал через стим сервер игры и как бы все работало. Потом я выкачанные сервера просто забекапил. А недавно пришлось переставлять ось на железке. Думал ну че там, переставлю да и все. Распаковал забекапленное а оно с пользователями что-то не дружит. Хотя с той поры конечно могло многое поменятся я хз. Я вот точно помню что у меня пользователь 2 года назад мог многое. А сейчас из под добавленного пользователя я даже shutdown -r now не могу сделать - пишет команда не найдена может быть в этом дело ?
Ну если не хочется
Ну если не хочется использовать нормальный init.d-файл с conf.d-файлом, а хочется помучиться, то пожалуйста.
Не грусти, товарищ! Всё хорошо, beautiful good!
winterheart написал(а): Ну
Ну подскажите хоть немного решение вопроса
"su sav -c "./hlds_run_public
"su sav -c "./hlds_run_public -binary ./hlds_i686_public -console -debug -game cstrike +maxplayers 16 +port 27015 +ip 0.0.0.0 -pingboost 2 +map de_dust2x2 -pidfile hlds_public.pid"&"
Вообще хз, попробуй sudo вместо su.
Ну и прав для юзера в sudousers выдай.
/
Я бы рекомендовал почитать стартовые скрипты из дерева (вслух и обязательно с выражением).
От начала и до встречи с просветлением.
:wq
--
Live free or die
xSav написал(а): Хотя с той
Изменилась base-system как минимум(в которую входит su), так что некоторые вещи, которые раньше были возможны(неправильно возможны), теперь надо отдельно разрешать
Нейтральность - высшее достижение сознания!
grep wheel /etc/group
grep wheel /etc/group
wi написал(а): grep wheel
wheel:x:10:root
Попробовуйте su - sav -c
Попробовуйте su - sav -c
а вообще лучше написать правильный init.d скипт