Ben farklı komut çoğu root yetkileri gerektiren eylemler sahip olarak bir yerel sunucusu administrativa görevleri gerçekleştirmek için çıkış yolu bulmaya çalışıyorum.
Nasıl az güvenlik etkisi ile bu komut yürütebilirsiniz? ¿
Ben bazı örnek komut göndermek:
#!/bin/bash
if [ $1 == '-h' ];
then
echo +-------+-------+-------+-------+-------+-------+-------+-------+-------+
echo + Instrucciones +
echo +-------+-------+-------+-------+-------+-------+-------+-------+-------+
echo Para ejecutar el script hay que hacer cd hasta /var/www/scripts/server ..
echo ejecutar ----> bash crearhosts $dominio $dominio $dominio $status
echo Se pueden poner tantos dominios como se quiera sin extensión salvo el último parámetro que ha de ser el tipo de site con los siguientes valores validos:
echo localzone1
echo localzone2
echo localzone3
echo +------------ejemplo-------------+
echo bash domain domain domain localzone
echo +-------+-------+-------+-------+-------+-------+-------+-------+-------+
echo + fin +
echo +-------+-------+-------+-------+-------+-------+-------+-------+-------+
else
#+-------+-------+-------+-------+-------+-------+-------+-------+-------+
#+ Variables +
#+-------+-------+-------+-------+-------+-------+-------+-------+-------+
params=$*
array=$(echo $params | sed 's/ /;/g')
IFS=";"
set -- $array
sites=($array)
base="/var/www"
#+-------+-------+-------+-------+-------+-------+-------+-------+-------+
#+ funciones +
#+-------+-------+-------+-------+-------+-------+-------+-------+-------+
function hostconf(){
case $status in
aracne)
cp /var/www/vhosts/template.ethings.com.conf /var/www/vhosts/$domain-aracne.ethings.com.conf
grep -Rl -e 'ethings/template' /var/www/vhosts/$domain-aracne.ethings.com.conf | xargs sed -i 's:domain/template:domain/'$domain'-aracne:g'
grep -Rl -e 'template' /var/www/vhosts/$domain-domain.com.conf | xargs sed -i 's/template/'$domain'-aracne/g'
mkdir $base/$status/${directorios[0]}-aracne ; mkdir $base/$status/${directorios[0]}-dominio/${directorios[1]} ; mkdir $base/$status/${directorios[0]}-dominio/${directorios[2]}
echo +---------------------------------------------------------------------------------------------------------------------------------------------+
echo "+----------------------No OLVIDE AÑADIR EL DOMINIO "$domain"-domain.com para la ip xxx.xxx.xxx.xxx en su archivo hosts"
echo +----------------------------------------------------------------!!!!!!!!!!!!!!!!!!!!---------------------------------------------------------+;;
static)
cp /var/www/vhosts/template.ethings.com.conf /var/www/vhosts/$domain.ethings.static.com.conf
grep -Rl -e 'ethings/template' /var/www/vhosts/$domain.ethings.static.com.conf | xargs sed -i 's:ethings/template:ethings/static-webs/'$domain':g'
grep -Rl -e 'template.ethings' /var/www/vhosts/$domain.ethings.static.com.conf | xargs sed -i 's/template.ethings/'$domain'.ethings.static/g'
mkdir $base/ethings/$status-webs/${directorios[0]}; mkdir $base/ethings/$status-webs/${directorios[0]}/${directorios[1]}; mkdir $base/ethings/$status-webs/${directorios[0]}/${directorios[2]}
echo +---------------------------------------------------------------------------------------------------------------------------------------------+
echo "+----------------------No OLVIDE AÑADIR EL DOMINIO "$domain".domain.com para la ip xxx.xxx.xxx.xxx en su archivo hosts"
echo +----------------------------------------------------------------!!!!!!!!!!!!!!!!!!!!---------------------------------------------------------+;;
*)
cp /var/www/vhosts/template.domain.com.conf /var/www/vhosts/$domain.ethings.com.conf
grep -Rl -e 'template' /var/www/vhosts/$domain.domain.com.conf | xargs sed -i 's/template/'$domain'/g'
mkdir $base/ethings/${directorios[0]} ; mkdir $base/ethings/${directorios[0]}/${directorios[1]} ; mkdir $base/ethings/${directorios[0]}/${directorios[2]}
echo +-------------------------------------------------------------------------------------------------+
echo "No OLVIDE AÑADIR EL DOMINIO "$domain".domain.com para la ip xxx.xxx.xxx.xxx en su archivo hosts"
echo +-----------------------------------!!!!!!!!!!!!!!!!!!!!------------------------------------------+;;
esac
}
#echo ${#sites[@]} +-------+ elements of array +--------+
for((count=0; count<$((${#sites[@]}-1)); count++))
do
directorios=("${sites[$count]}" "html" "logs")
domain=${sites[$count]}
status=${sites[$((${#sites[@]}-1))]}
hostconf $status
done
/etc/init.d/apache2 restart
fi
#
Gördüğünüz gibi bu kadar gerektiren birçok eylemler vardır için bu komut root olarak çalıştırılması gerekir
Başka ScriptTM:
echo password | python /var/www/google_appengine/appcfg.py --passin --email=email update localapplicationurl
#
i çalıştırdığınızda i appcfg.py bile 4755 chmoding ve = NOPASSWD tüm tüm visudoing izinleri ile apache hataları alıyorum: urlscript / script
Ve diğer çalışır.
Bu kadar çok soru gönderebilir ama gerçekten benim şirkette insanlar web arayüzü olarak bunu böylece birçok komut çalıştırmak gerekiyor için üzgünüm.
Cevabınız için teşekkür ederim. Peki temelde kendi ihtiyaçlarına göre kişiselleştirilmiş bir plesk türü paneli. Bu vb i biz komut dosyaları var üretimi için dört yerel sunucuları ayarlamak 1000'den fazla etki ile bir şirket olduğunu, samba yapılandırmaları, vhost yapılandırmaları, uzak sunuculara yükleme siteleri ve böylece onları indirebilirsiniz oluşturmaya programcılar ihtiyaçlarına veritabanlarının yüklemesini otomatik, kullanıcı grupları oluşturma içerir google CDN yükleme ve amazon, vb tüm bu bağımsız komut kurmak ama nedense insanlar web arayüzünde bunu elde edebilmek için ihtiyaç var. Bu benden bir sürü iş bırakın (Ben bunu tek değilim) ve webserverların ENİYİLEMESİ ve diğerleri üzerinde yoğunlaşmak mümkün olacaktır. Yani ben bunu yapmak gerekir ve çoğu komut bir kez (ssh bağlantıları ftp vb) en az 30 farklı sunuculara veya indirme-yükleme 100 minisites ssh üzerinde ssh conections içeren, ya da başka ve başka python ve sdk ile google CDN çalışan ve. Onları seçmek için seçenek vermek - - eylemi seçmek - run yükleme-indirme-cleanremotecache-erasespecificfilesfolders-vb komut bu kullanıcıların adına olmak zorunda çoğu bu sunucudan bu etki olsun ihtiyacınız.
Yani şey. Bu konuda iyi bir şey ben çok sunucuları confs iptables veya yerel belirli mac adreslerine göre sunucuya toplam erişimi engelleyebilir, ve olduğunu. Yalnızca yerel çalıştırın ve çoğunlukla kök komutları dahil sripts çalıştırmak mümkün olmalıdır.
Ben sadece google bulunan birçok şey gibi spected veya benzer işe yaramazsa bunu yapmak için en iyi yolu odaklanmak gerekir. I yaklaşımın yol olsun gerisi ona ellerini koyarak bir konudur.
Maalesef kendimi çok uzatmak ama gördüğünüz gibi ben bir yıl önce başlayan bir şeyler yapmak için çok şey bilgisayar ve linux benim deneyime sahip.