Sunucu üzerinde farklı kullanıcılar ile dosya çalıştırmak

Başlatan lestioni, 31 Mart 2010 - 13:08:52

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

lestioni

Öncelikle herkese selamlar.

Linux hakkında çok az bilgiye sahibim. Daha önce Pardus, Ubuntu, Kubuntu, Mephis, Suse, Mandrake, Fedora, Arch kurmuş ve kullanmış olmama rağmen, komutlarla pek aram yoktur :)

Şu an üzerinde Ubuntu 9.10 Karmic Minimal 32bit kurulu bir oyun sunucusuna sahibim. Counter Strike tarzı bir oyun olan UrbanTerror oyununu çalıştırıyorum sunucu üzerinden. Her bir farklı oyun türü için farklı kullanıcılar oluşturup, oyunu o kullanıcı dizinine taşıyıp, o kullanıcıya geçiş yapıp, o şekilde çalıştırıyorum. Kullanıcıları da adduser kullanici komutu ile oluşturuyor, sonrasında da şifre giriyorum kullanıcıya. Bir de isim, oda numarası falan soruyor. İsim olarak kullanıcı adını, diğer şeyler için de sırasıyla 1, 2, 3, 4 yazıp Y ye basıp, kullanıcı oluşturuyorum.

Yapmak istediğim şey ise, her hangi bir sebepten dolayı sunucuyu yeniden başlattığımda, bir betik dosyası ile kullanıcılar arası geçiş yapıp, oyunları tek tek yine o kullanı adı ile çalıştırmasını sağlamak. Şu an 4 farklı kullanıcı ve 4 farklı oyun moduna sahibim. Ancak oyun modu o kullanıcıya ait olan ayar dosyasında saklı, o kısım pek ilgilendirmiyor bizi yani :) Oyunları çalıştırmak için de start.sh adında bir bash dosyamız var, o da şöyle:


#!/bin/bash
while true
do
/home/urtu-ctf/urbanterror/ioUrTded.i386 +set fs_game q3ut4 +set dedicated 2 +set net_port 27960 +set com_hunkmegs 128 +exec server.cfg +exec uzl.cfg
echo "server crashed on `date`" > last_crash.txt
done


Bu dosyayı da kullanıcıya geçiş yaptıktan sonra şu şekilde çalıştırıyorum:


screen -AmdS ctfserver sh start.sh


Bu komutu verdikten sonra, oyun arka planda çalışmaya başlıyor. Daha sonra diğer kullanıcıya geçip, o kullanıcıya ait olan start.sh dosyasını yine aynı şekilde çalıştırıyorum.

Direkt root altına koyabileceğim, nasıl bir sh dosyası yaratmalıyım ki, kullanıcı geçişlerini de kendisi yapıp, o kullanıcı altındaki start.sh dosyasını screen ile çalıştırsın? Ya da böyle bir şey mümkün müdür?

hitokiri

Alıntı YapDirekt root altına koyabileceğim, nasıl bir sh dosyası yaratmalıyım ki, kullanıcı geçişlerini de kendisi yapıp, o kullanıcı altındaki start.sh dosyasını screen ile çalıştırsın? Ya da böyle bir şey mümkün müdür?
sudo -u kullanıcı1 screen -AmdS ctfserver sh start.sh
sudo -u kullanıcı2 screen -AmdS ctfserver sh start.sh
Olabilir belki ?