Bash : This account is currently not available.
![]()
Quand on administre une machine Linux, on est parfois confronté au message d'erreur "This account is currently not available", lorsque l'on essaye de changer d'identité à travers un terminal.
Exemple :
$ su - apache
This account is currently not available.
Pour contourner cette restriction, il existe deux méthodes. La première, qui est sans aucun doute la moins propre, consiste à changer directement le shell de l'utilisateur dans le fichier /etc/passwd. Souvent, celui-ci est positionné à /sbin/nologin :
apache:x:48:48:Apache:/var/www:/sbin/nologin
On peut donc remplacer la ligne par celle-ci :
apache:x:48:48:Apache:/var/www:/sbin/bash
La seconde méthode, celle que je préfère, consiste à forcer le shell de façon temporaire en utilisant la commande suivante :
su -l apache -s /bin/bash
Ce qui permettra ensuite de faire des tests sous cette identité, sans rien modifier sur le système.



Créé en 2005, Tux-planet est un site qui a pour ambition de regrouper des articles sur Linux et le monde des logiciels libres. 





8 Commentaires pour "Bash : This account is currently not available."
Flux des commentaires de cet article Ajouter un commentaireOn peut aussi si nous avons qu'une commande à lancer faire ceci :
----------------------
su - apache -s /bin/bash -c "/etc/init.d/httpd restart"
----------------------
Il est toujours mieux de forcer l'utilisateur à utiliser un terminal bash dans la commande que de le modifier directement dans le /etc/passwd
On préféra utiliser la commande chsh pour modifier le shell associé à un utilisateur (c'est moins bourrin que d'éditer à la main /etc/passwd). Le plussoie mon vdd mais /bin/bash devient /bin/sh de mon coté.
Le /bin/bash reste l'ancêtre du BASH, le /bin/sh revient presque à la même chose.
Sa reste transparent quand on l'utilise pour nous
Mon /bin/dash (chez Debian, /bin/sh est un lien symbolique vers /bin/dash) est un binaire 10x moins lourd que /bin/bash. Et comme je banni bash en terme d'utilisation (script en /bin/sh, /bin/zsh en interactif), je n'ai pas envie de passer par bash. Évidement, c'est totalement personnel, mais charger une tank pour tuer une mouche, non merci ^^
@Simon : je ne connaissais pas la commande chsh. On en découvre tous les jours avec Linux.
Sinon, je constate également une différence de taille entre dash et bash sous Fedora :
D'après le man, ce sont deux terminaux complètement différents, d'après ce que je comprends.
Dash et un sh+=.5 ^^
@Simon : En faite on préférera usermod -s /bin/shell , qui est reconnu sur linux et unix (solaris, etc.). Enfin, JDCJDR
Je ne suis pas nécessairement root sur un environnement linux ^^