Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/08/2012, à 02:15

metalux

[Résolu]Récupérer <user> par défaut crée à l'installation

Bonsoir,
Après avoir pas mal cherché, je bloque sur une commande toute bête (à priori).
J'ai un script que j'ai placé dans /usr/local/bin et qui se lance de manière répétitive grâce à cron. J'ai crée la règle grâce à gnome-schedule lancé en root et pas de problème de ce côté.
Ou ça bloque, c'est que je souhaite avoir un avertissement sur le bureau en cas d'échec d'une commande précédente. J'utilise la commande suivante pour récupérer l'utilisateur par défaut:

user=$(head -n 1 | (cat /etc/passwd | grep "/home" | grep "/bin/bash" | awk -F: '{print $1}'))
	cp /home/$user/.avert/avertissement /home/$user/Bureau

L'avertissement est simplement un fichier texte présent dans le dossier .avert qui se copie sur le bureau pour m'avertir.
Le souci, le script récupère bien le nom de l'utilisateur mais effectue un retour à la ligne et se met en attente au lieu de passer la variable $user à la commande suivante.
Où est l'erreur?
Pour info, le script va être intégré à un live-cd perso, aussi je ne peux pas modifier le fichier sudoers ne connaissant pas le nom de l'utilisateur par avance.

Dernière modification par metalux (Le 05/08/2012, à 12:44)

Hors ligne

#2 Le 05/08/2012, à 05:24

Kooothor

Re : [Résolu]Récupérer <user> par défaut crée à l'installation

Salut metalux,

user=`cat /etc/passwd | grep "/home" | grep "/bin/bash" | awk -F: '{print $1}' | head -n 1`

fonctionne.

Ton script ne fonctionnera pas si l'utilisateur utilise autre chose que bash ! (zsh > bash). Grep /home suffit imho.
Aussi, est-ce que t'as vraiment besoin que ce soit root qui fasse ça ?
Car si c'est un cron utilisateur, c'est plus simple smile

Si t'as plusieurs utilisateurs avec un home tu fais quoi ??

Pour finir, envoyer un email pour avertir c'est mieux que mettre un fichier sur le bureau (surtout que l'utilisateur peut utiliser un WM qui n'affiche pas les dossiers sur le bureau, ou avoir 1200 fichiers sur le bureau).

@+
~ktr

Dernière modification par Kooothor (Le 05/08/2012, à 05:25)

Hors ligne

#3 Le 05/08/2012, à 11:07

metalux

Re : [Résolu]Récupérer <user> par défaut crée à l'installation

Merci Kooothor, c'était ça, il fallait rediriger le résultat vers head -n 1 et je faisais l'inverse.

Ton script ne fonctionnera pas si l'utilisateur utilise autre chose que bash ! (zsh > bash)

Euh, c'est à dire ? Je ne connais rien d'autre que le bash et c'est ce qui est installé par défaut sur Ubuntu, n'est-ce pas?

Grep /home suffit

Non, le script me renvoie syslog dans ce cas.

Si t'as plusieurs utilisateurs avec un home tu fais quoi ??

Seul le compte par défaut(administrateur) est averti car je filtre la 1ère ligne avec head, ta réponse correspond à mes besoins et tous fonctionne normalement.

Pour finir, envoyer un email pour avertir c'est mieux que mettre un fichier sur le bureau (surtout que l'utilisateur peut utiliser un WM qui n'affiche pas les dossiers sur le bureau, ou avoir 1200 fichiers sur le bureau).

Exact, je n'avais pas pensé à ça pour les WM qui n'affiche pas les dossiers sur le bureau. Par contre je suis également coincé ne connaissant pas l'adresse mail à l'avance.

Hors ligne

#4 Le 05/08/2012, à 12:05

Bousky

Re : [Résolu]Récupérer <user> par défaut crée à l'installation

Une méthode plus propre serait d'écrire un fichier dans un dossier système (/var/log ou /tmp semblent de bons endroits) et éventuellement de faire un script lancé par l'utilisateur qui va le lire.

Dernière modification par Bousky (Le 05/08/2012, à 12:06)


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#5 Le 05/08/2012, à 12:42

metalux

Re : [Résolu]Récupérer <user> par défaut crée à l'installation

Merci Bousky pour ton intervention.
Quand tu dis un script lancé par l'utilisateur, dans ce cas l'avertissement n'est pas automatique, à moins que le script principal peut lancer ce second script en tant qu'utilisateur? A voir peut-être du côté de sudo, je vais me pencher sur la question.
Bon, pour mes besoins, c'est résolu car ça m'étonnerait que les personnes à qui je vais donner le live-cd vont utiliser des WM alternatifs, et le script fonctionne.
Par contre pour ma culture perso, je veux bien des pistes  pour savoir comment mettre en place plus proprement comme tu le suggère.

Hors ligne

#6 Le 05/08/2012, à 14:03

Bousky

Re : [Résolu]Récupérer <user> par défaut crée à l'installation

metalux a écrit :

Quand tu dis un script lancé par l'utilisateur, dans ce cas l'avertissement n'est pas automatique

Tu peux lancer un script au démarrage de la session qui tourne en permanence et qui affiche une fenêtre d'information au besoin.


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne