Bash : This account is currently not available.


Logout
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.

Pouce tux

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.


8 Commentaires pour "Bash : This account is currently not available."

Flux des commentaires de cet article Ajouter un commentaire
  •  

    On 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 ;)

    RépondreRépondre
    djerfy , le 2 mai 2012 à 09:04
  •  

    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é.

    RépondreRépondre
    Simon , le 2 mai 2012 à 15:27
  •  

    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 ;)

    RépondreRépondre
    djerfy , le 2 mai 2012 à 15:31
  •  

    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 ^^

    RépondreRépondre
    Simon , le 2 mai 2012 à 16:10
  •  

    @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 :

    111K /bin/dash
    945K /bin/bash

    D'après le man, ce sont deux terminaux complètement différents, d'après ce que je comprends.

    RépondreRépondre
    pti-seb , le 2 mai 2012 à 18:26
  •  

    Dash et un sh+=.5 ^^

    RépondreRépondre
    Simon , le 2 mai 2012 à 19:17
  •  

    @Simon : En faite on préférera usermod -s /bin/shell , qui est reconnu sur linux et unix (solaris, etc.). Enfin, JDCJDR

    RépondreRépondre
    Mogui , le 2 mai 2012 à 22:23
  •  

    Je ne suis pas nécessairement root sur un environnement linux ^^

    RépondreRépondre
    Simon , le 4 mai 2012 à 00:37
 

Ajouter un commentaire

actualité android apache apple astuce astuces bash bilboblog blog boot chrome clavier commande commandes conky date debian Desktop développement elementary exploit faille fedora firefox flash gimp gnome google graphique Graphisme hack hacking Hardware humour intel internet iphone jailbreak Jeux Kde kernel libre Linux log logiciels Logiciels Libres lucid lynx maemo mail maquette metasploit microsoft mobile mockup monitoring mozilla multi-touch musique mysql n900 nautilus nokia noyau openoffice open source password photos php Planet publicité redhat red hat rpm réseau screenshot script serveur serveurs shell sql ssh statistiques sysadmin system Sécurité thème tux-planet tv twitter ubuntu unity vidéo vidéos vlc voyage wallpaper windows wordpress yum