PDA

View Full Version : script in startup


red_ka.it
02-11-2006, 13:50
Ciao raga sto provando ad installare qmail,
in realtà avrei finito ma c'è una cosa che proprio non riesco a fare,
ho creato uno script x avviare smtp e pop3 in startup ma proprio non va,
ho inserito un file in /etc/init.d con questo codice:
#!/bin/bash
csh -cf'/var/qmail/rc &'
QMAILUID='id -u qmaild'
NOFILESGID='id -g qmaild'
/usr/local/bin/tcpserver -H -R -l sangkavr.it -x /etc/tcp.smtp.cdb -u$QMAILUID -g$NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd & >/dev/null2>/dev/null
tcpserver -v -H -l sangkavr.it -R 0 pop3 /var/qmail/bin/qmail-popup sangkavr.it /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d &#!/bin/bash

csh -cf'/var/qmail/rc &'
QMAILUID='id -u qmaild'
NOFILESGID='id -g qmaild'
/usr/local/bin/tcpserver -H -R -l sangkavr.it -x /etc/tcp.smtp.cdb -u$QMAILUID -g$NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd & >/dev/null2>/dev/null
tcpserver -v -H -l sangkavr.it -R 0 pop3 /var/qmail/bin/qmail-popup sangkavr.it /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d &

se avvio il servizio da shell è tutto ok, ma in startup non mi va, pensavo bastasse inserirlo in init.d x ottenere questo ma evidentemente mi sbaglio,
mi aiutereste a capire come fare??
Ho anche spulciato il codice di altri servizi, secondo sarebbe possibile fare in modo di impostarlo in startup con chkconfig?? Ho visto che bastano tre funzioni e un case, sogno o si potrebbe fare??
ciao grz.
ps. scusate se ho detto qualche sciocchezza ma so niubbo.

Devil!
02-11-2006, 17:46
io in debian uso il comando

#update-rc.d nome_script defaults

e questo fa si che lo script sia posto nei runlevel di default

per rimuoverlo

#update-rc.d nome_script remove

red_ka.it
02-11-2006, 18:12
provo subito se va,
grazie.

red_ka.it
02-11-2006, 18:38
Non va, quel comando è solo per debian, mentre io ho fedora,
chkconfig mi dice non è disponibile per quel servizio,
ma pensavo una cosa se in debian aggiungendo a rc.d i files vanno in startup allora dovrebbe essere così anche per fedora, e di fatti in rc.d ci sono i collegamenti a tutte le altre directory rc più init.d dove si trova quello script, quindi è tra i files in startup ma non si avvia cmq, proprio non so.

Ora poi un'altra cosa strana, tutti gli utenti del sistema da shell hanno dopo "@192", mi sembra il suffisso di un centro assistenza :D

Pardo
02-11-2006, 22:15
No allora gli script in /etc/init.d/ seguono un loro standard. Se vuoi usare quel sistema devi fare uno script che funziona in quel modo cioe` in pratica prendendosi le direttive start|stop|restart|status (guarda come sn fatti gli altri..).
Se lo fai cosi`, dopo c'e` un parametro di chkconfig che lo aggiunge alla lista e te lo fa gestire.

Ma evidentemente fai molto prima a mettere il tuo script da un'altra parte (suggerisco /usr/local/sbin) , ed a richiamarlo da /etc/rc.d/rc.local , altro script che va al boot ed e` messo li` proprio apposta x infilarci comandi custom.

red_ka.it
02-11-2006, 23:23
Io in pratica ho seguito un tutorial e all'inizio c'era sto comando che avviava l'smtp e il tcp, diceva di inserirlo in uno script di startup oppure creare un nuovo file in init.d, così ho pensato fosse come ti ho detto; tralaltro inserendo il comando in uno script già fatto non mi trovava il comando tcpserver che invece da bash funzionava alla perfezione. Cmq sia alla fine del tutorial c'era del codice per fare in modo che il servizio si potesse avviare stile "service start" e di fatti funziona con /etc/init.d/nome-file on, quindi direi c'è tutto in quello script, ma forse manca proprio chkconfig, dopo vedo un pò se riesco a fare qualcosa senza rovinare nulla :D
Ora sono preso da una cosa che mi sta facendo dannare, e visto che siamo in tema:
ho installato vsftpd, da un sistema win siccome da root non mi fa entrare, provo con l'altro utente ma non vedo le cartelle in /var dove dovrei mandarci i files prova direttamente da dreamweaver (esattamente www/html), ho provato anche a cambiare i permessi di var/www e a scendere nell'albero prima a 777 e poi cambiando anche proprietario e gruppo ma niente, insomma sai quale sarebbe la prassi?? proprio non capisco.

Pardo
03-11-2006, 12:07
Secondo me non va perche` la roba di init.d cambia un po' in tutte le distribuzioni, in fedora gli script pigliano start|stop|restart e non on|off (che e` la direttiva del comando service semmai), ma comunque se fosse solo per questo ci metti un attimo a cambiarlo. Ad ogni modo e` chkconfig --add x aggiungerlo al listone.


Per l'ftp il default e` che gli utenti sono rinchiusi nella loro home per questo non puoi vedere niente.

Io nel tuo caso creerei un nuovo utente ad hoc che abbia shell nulla (/sbin/nologin) e home /var/www , cosi` quando logghi e` gia` li`... questa e` la cosa piu` semplice e sicura.

In alternativa puoi collegare /var/www alla home del tuo utente preesistente: facendo un mount --bind di /var/www su una directory nella tua home (si fa cosi` xke` i normali link non sono attraversabili dalla 'gabbia' di ftp a fuori di essa).

E non disabilitare invece l'ingabbiamento dell'ftp, perche` e` una cosa estremamente sconsigliabile x sicurezza visto che in quel modo tutti quelli che loggano in ftp possono vedere tutto il disco..

red_ka.it
03-11-2006, 14:53
Vabbè è stato un mio errore, mi sbaglio smp tra on e start, ma cmq sia non ho capito la storia del chkconfig, devo aggiungerlo nello script?? xkè da shell mi dice che non è disponibile per quel servizio.

Per quanto riguarda l'ftp credo sia un bug a sto punto, il ch_root list (mi sembra sia questo il comando per le jails o sbaglio?) mi pare non ci sia di default(almeno così dice nel config), ma anche se mi sbagliassi (probabilissimo) ho fatto un altra prova, ho concesso a root il permesso di loggarsi giusto per una prova, ed ho lo stesso problema, non vede nessuna directory in /var, eppure dovrebbe o sbaglio??
La distro è Fedora RC5 e il demone vsftpd installato con yum, cambia qualcosa in questo pacchetto oppure mi conviene prenderlo da qualche altra parte??
ciao grz.

red_ka.it
03-11-2006, 15:28
Appunto per l'ftp ho fatto come dicevi,
con un account gli ho dato i permessi su /var/www/html e settato la sua home in questo path, non mi fa proprio entrare, mentre se setto la sua home solo su /var allora entra ma non vedo niente, e questo me lo fa dicevo anche con root, che accedendo come superutente può modificare via ftp persino i file di sistema ma non vedere il contenuto di /var,
proprio strana sta cosa, boh.