su: must be run from a terminal

Вечер добрый уважаемые.
Меня попросили поднять игровой сервер - я согласился (безвозмездно)
Как бы все сделал и все под рутом работает но это меня не устаривает. Создал пользователя командой

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

krigstask написал(а):
app-admin/sudo

поставил результат тотже

Установил sudo, а su всё

Установил sudo, а su всё равно просит терминал? Ну тогда я не знаю (-%Е

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Неправильно ставишь сервер,

Неправильно ставишь сервер, нужно ставить games-server/halflife-steam, дальше по инструкции.

Не грусти, товарищ! Всё хорошо, beautiful good!

winterheart

winterheart написал(а):
Неправильно ставишь сервер, нужно ставить games-server/halflife-steam, дальше по инструкции.

Не соглашусь.
2 года назад я ставил сервер аналогичным образом. Накатил генту выкачал через стим сервер игры и как бы все работало. Потом я выкачанные сервера просто забекапил. А недавно пришлось переставлять ось на железке. Думал ну че там, переставлю да и все. Распаковал забекапленное а оно с пользователями что-то не дружит. Хотя с той поры конечно могло многое поменятся я хз. Я вот точно помню что у меня пользователь 2 года назад мог многое. А сейчас из под добавленного пользователя я даже shutdown -r now не могу сделать - пишет команда не найдена может быть в этом дело ?

Ну если не хочется

Ну если не хочется использовать нормальный init.d-файл с conf.d-файлом, а хочется помучиться, то пожалуйста.

Не грусти, товарищ! Всё хорошо, beautiful good!

winterheart написал(а): Ну

winterheart написал(а):
Ну если не хочется использовать нормальный init.d-файл с conf.d-файлом, а хочется помучиться, то пожалуйста.

Ну подскажите хоть немного решение вопроса

"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 выдай.

/

xSav написал(а):
winterheart написал(а):
Ну если не хочется использовать нормальный init.d-файл с conf.d-файлом, а хочется помучиться, то пожалуйста.

Ну подскажите хоть немного решение вопроса

Я бы рекомендовал почитать стартовые скрипты из дерева (вслух и обязательно с выражением).
От начала и до встречи с просветлением.

:wq
--
Live free or die

xSav написал(а): Хотя с той

xSav написал(а):
Хотя с той поры конечно могло многое поменятся я хз. Я вот точно помню что у меня пользователь 2 года назад мог многое. А сейчас из под добавленного пользователя я даже shutdown -r now не могу сделать - пишет команда не найдена может быть в этом дело ?

Изменилась base-system как минимум(в которую входит su), так что некоторые вещи, которые раньше были возможны(неправильно возможны), теперь надо отдельно разрешать

Нейтральность - высшее достижение сознания!

grep wheel /etc/group

grep wheel /etc/group

wi написал(а): grep wheel

wi написал(а):
grep wheel /etc/group

wheel:x:10:root

Попробовуйте su - sav -c

Попробовуйте su - sav -c
а вообще лучше написать правильный init.d скипт

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".