script di root e notifica utente

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
stan
Linux 3.x
Linux 3.x
Messaggi: 524
Iscritto il: lun 25 dic 2006, 11:55
Slackware: 12.1
Kernel: 2.6.xx
Desktop: Kde3
Località: Bs

script di root e notifica utente

Messaggio da stan »

Ciao a tutti,
ho uno script eseguito da root con cron.
Se si verificano certe condizioni vorrei che l'utente in quel momento loggato in X ricevesse una notifica grafica tramite kdialog.
Come posso fare?
xhost? Se si, come devo usarlo nello script?
Grazie

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

Non uso kdialog ma ho visto che accetta anche lui l'opzione
--display
quindi facendo

Codice: Seleziona tutto

kdialog --display :0.0
il programma parte direttamente sul server X.

Spina

P.S. prima magari provalo da una console (non sotto X) e vedi se funge.

Avatar utente
stan
Linux 3.x
Linux 3.x
Messaggi: 524
Iscritto il: lun 25 dic 2006, 11:55
Slackware: 12.1
Kernel: 2.6.xx
Desktop: Kde3
Località: Bs

Messaggio da stan »

Ciao spina,
innanzitutto grazie.
Ovviamente da konsole dopo aver fatto 'su' e dato

Codice: Seleziona tutto

 /opt/kde/bin/kdialog --display :0.0
mi ritorna:

Codice: Seleziona tutto

Xlib: connection to ":0.0" refused by server
Xlib: No protocol specified

kdialog: cannot connect to X server :0.0
La situazione è questa:
Il login da kdm lo fà l'utente. Grazie a cron in background gira lo script lanciato da root che esegue comandi che possono essere lanciati solo da root.
Se si verifica una certa condizione deve apparire sul desktop dell'utente un popup che notifica l'utente dell'evento.[/code][/list]

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

sisi, avevo capito. Solo non mi aspettavo che il server X rifiutasse la connessione all'utente root. Il comando che ti ho dato dovrebbe funzionare, solo che ora il problema è:"abilitare l'utente root ad accedere al server X".

Se l'accesso al tuo server X è ben fatto dovresti avere un file nella home directory dell'utente che lancia il server X chiamato .Xauthority. Questo file contiene il cookie di chi è abilitato ad accedere al server X. Copia questo file all'interno della directory home del root e, quando questo cercherà di autenticarsi di nuovo al server X, ci riuscirà :)

Spina

Avatar utente
stan
Linux 3.x
Linux 3.x
Messaggi: 524
Iscritto il: lun 25 dic 2006, 11:55
Slackware: 12.1
Kernel: 2.6.xx
Desktop: Kde3
Località: Bs

Messaggio da stan »

Anche stavolta Spina c'ha azzecato ;)
Ma è un metodo 'pulito' fare così?
Ora root può accedere al server X lanciato dall'utente in ogni momento e non limitatamente all'esecuzione dello script.
Non si può fare limitatamente all'esecuzione dello script? Magari tramite xhost?
Io ho fatto dei tentativi con xhost e ho letto appunti di inf. libera ma non ho ancora capito cosa potrei mettere nello script per limitare l'accesso al server X limitatamente all'esecuzione dello script.
Beh, comunque và già bene così...thanks once again.

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6643
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Messaggio da targzeta »

ti do un link:
http://www.xs4all.nl/~zweije/xauth-6.html

Limitare l'accesso solo ad uno script?mmm a questo punto fà si che lo script venga lanciato con i diritte dell'utente che avvia X :). Tanto crond è root, può fare quello che vuole. La soluzione che mi viene in mente così su due piedi è tramite 'su -c', comunque valuta.
Con linux puoi fare veramente quello che vuoi , basta pensarci su ;).

Spina

Avatar utente
stan
Linux 3.x
Linux 3.x
Messaggi: 524
Iscritto il: lun 25 dic 2006, 11:55
Slackware: 12.1
Kernel: 2.6.xx
Desktop: Kde3
Località: Bs

Messaggio da stan »

ok, approfondisco di più e cerco una soluzione ottimale.
grazie

Rispondi