Erreur «Ce compte n'est actuellement pas disponible» lors d'une tentative de ssh


46

Une erreur se produit lorsque j'essaie d'établir une connexion SSH:

$ ssh -p 22 www-data@x.x.x.x 
This account is currently not available

Réponses:


59

Vous obtenez l' This account is currently not available.erreur parce que le shell de l'utilisateur www-dataest défini sur /usr/sbin/nologin, et ce pour une très bonne raison. Vous ne devez pas vous connecter en tant que www-data, c'est un utilisateur / groupe spécial utilisé par le serveur Web, non destiné à une utilisation normale du shell.

EDIT : C’est une très mauvaise idée de donner des sudodroits à www-data. Si Apache devait être exécuté avec des autorisations root, il n'aurait pas son propre groupe. En faisant cela, vous créez d’énormes failles de sécurité. Tu étais prévenu.


5
Ce n'est pas très constructif. Quelles informations pensez-vous que je devrais ajouter pour améliorer cette réponse?
kraxor

4
@kraxor est correct, mais si vous devez vous connecter en tant que root et modifier / usr / sbin / nologin dans / etc / passwd en / bin / bash, il accordera à cet utilisateur un accès shell. Je fais cela lorsque je lance un snap binaire en tant que serveur Web. www-data est généralement réservé à nginx / apache sur ubuntu, d'où le statut d'absence de connexion.
engineerDave

4
@RyanNerd C'est votre choix de ne pas "donner un dollar à un rat pour de la merde de sécurité". Tout exécuter en tant que root n’est pas recommandé, même dans Docker. Vous pouvez bien sûr configurer Apache pour fonctionner en tant que root, ou ajouter un shell de connexion à www-data, mais c'est comme ouvrir une bouteille de vin en cassant la bouteille parce que vous êtes trop paresseux et insouciant pour utiliser un tire-bouchon.
kraxor

@ kraxor votre lien vers docker est obsolète. TOUT appartient toujours à root dans Docker et le problème persiste .
RyanNerd

J'ai un cas similaire. Je veux exécuter LibreOffice en mode sans tête de manière à ce qu’il puisse être appelé par un script PHP pour convertir des documents et qu’il puisse écrire des fichiers sur le disque en tant que www-data, car ces fichiers doivent ensuite être supprimés par www-data un script PHP) pour les nettoyer. Cela (lancer un LibreOffice sans tête en tant qu'utilisateur www-data) fonctionnait dans les versions précédentes d'Ubuntu, et je comprends qu'il s'agit d'une amélioration de la sécurité par rapport à ces versions antérieures.
ywarnier

58

Bien que je sois d’accord avec les autres intervenants, il est généralement mauvais d’autoriser la connexion via SSH via l’utilisateur www-data. Une fois que vous vous êtes connecté avec un utilisateur normal, il peut être utile d’exécuter plusieurs commandes simultanément avec le jeu d’autorisations du site www-. utilisateur de données. Dans ce cas, on peut courir

sudo su -l www-data -s /bin/bash

et vous pourrez accéder à vos fichiers en tant qu'utilisateur de www-data.


3
Très utile pour le débogage des autorisations pour un démon / utilisateur de service
jmng

tu viens de sauver ma journée merci! J'ai eu du mal à démarrer le service perl-fcgi parce que le script de démarrage n'utilisait pas-s /bin/bash
Couitchy

-1

La première question que je devrais poser est la suivante: que tentez-vous d'accomplir en faisant cela?

kraxor est correct à 100%, vous ne devriez jamais pouvoir vous connecter à votre serveur en utilisant votre utilisateur Apache / Nginx. Cela invite chaque pirate informatique avec une demi-cellule cérébrale dans votre serveur.

Si vous avez besoin d'exécuter un script ou un programme en tant qu'utilisateur, vous pouvez essayer le fichier sudo -u www-data yourscriptou le transférer temporairement chownà un utilisateur disposant de privilèges de connexion. C'est simplement une mauvaise idée de permettre à ce compte ce type d'accès.


6
Vous devriez savoir que su -cela ne fonctionne pas pour les comptes avec désactiver la connexion.
sorin

Quel compte est désactivé? Il ne dit rien sur le compte étant désactivé
TheStarvingGeek

1
Bien avoir nologin dans passwd signifie que la connexion est désactivée :)
sorin

1
C'est un compte de service et non un compte désactivé, vous pouvez y exécuter des commandes
TheStarvingGeek,

Mon serveur ne semble pas connaître cette distinction @TheStarvingGeek
LovesTha
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.