1 votes

Comment activer la connexion ssh pour l'utilisateur _www ?

Afin de déployer des fichiers sur le serveur apache fonctionnant sur l'hôte OS X, je veux y accéder par ssh/scp en utilisant l'option de configuration suivante _www utilisateur.

Je ne veux pas utiliser Root parce que je veux être sûr que je place toujours les fichiers avec les permissions correctes.

Le problème est que je ne suis pas en mesure de me connecter avec _www . J'ai changé le mot de passe du compte mais la connexion ssh échoue toujours après m'avoir demandé le mot de passe deux fois.

5voto

Oskar Points 1242

Le site _www est conçu pour ne jamais avoir de shell et de nombreux attributs d'utilisateur nécessaires au fonctionnement de ssh sont manquants. Une fois que vous vous connectez en tant que n'importe quel autre utilisateur administrateur, vous pouvez facilement effectuer un sudo sur l'utilisateur _www pour que les permissions des fichiers soient correctes.

mac:~ me$ dscl . -read /Users/_www
AppleMetaNodeLocation: /Local/Default
GeneratedUID: FFFFEEEE-DDDD-CCCC-BBBB-AAAA00000046
NFSHomeDirectory: /Library/WebServer
Password: *
PrimaryGroupID: 70
RealName:
 World Wide Web Server
RecordName: _www www
RecordType: dsRecTypeStandard:Users
UniqueID: 70
UserShell: /usr/bin/false

mac:~ me$ sudo -u _www -s
Password:
bash-3.2$ id
uid=70(_www) gid=70(_www) groups=70(_www),61(localaccounts),12(everyone)

Vous pouvez comparer avec un utilisateur réel pour voir les attributs manquants. Si vous voulez faire du hacking, vous pouvez essayer de rendre le NFSHomeDirectory accessible en écriture et de modifier le shell - mais cela laisserait toutes sortes de fichiers utilisateur dans /Library/Webserver - et vos mods personnalisés pourraient être effacés à chaque mise à jour ou causer des effets non désirés sur la route.

Y a-t-il une raison pour laquelle vous ne créez pas simplement un utilisateur apache admin avec un UID inférieur à 500 pour que le système de gestion de l'information puisse être mis à jour ? il n'apparaîtra pas dans l'écran de connexion en tant qu'utilisateur normal. ?

(ou simplement utiliser un utilisateur normal pour se connecter avant d'utiliser sudo pour obtenir le droit d'accès à l'information). _www ) ?

C'est beaucoup moins de travail et plus sûr. _www est intentionnellement placé dans un bac à sable pour réduire le risque que la navigation sur le Web fasse des dégâts sur un Mac en marche.

0 votes

Merci pour cette réponse détaillée. Le problème est que j'utilise d'autres outils pour le déploiement et que ces outils ne sont pas en mesure de chown . Connaissez-vous une solution de contournement qui ne risque pas de casser le serveur web à cause des autorisations de fichiers ?

0 votes

Vous devriez pouvoir faire en sorte que l'utilisateur que vous utilisez soit dans un groupe approprié pour les fichiers existants - dans quels répertoires vous déployez-vous ? _www n'a aucun problème pour lire les fichiers appartenant à Root (ou à n'importe quel autre utilisateur), c'est plutôt un problème d'utilisation. umask / chmod que la propriété.

0 votes

Le logiciel de déploiement, qui est incapable de chown ? Vraiment ? Je pense que vous devez trouver un meilleur logiciel, personnellement.

1voto

Simon Hughes Points 2297

Comme nous l'avons mentionné, vous ne pouvez pas vous connecter directement en tant que _www parce que le mot de passe peut ne pas être défini et que le shell peut être défini comme suit /usr/bin/false .

Vous pouvez également vous connecter en tant qu'utilisateur normal, et si votre utilisateur a des privilèges d'administrateur, vous pouvez le faire :

(me@local)$ ssh me@myserver
(me@myserver)$ sudo -u _www -s
Password: (type it in)
(_www@myserver)$ whoami
_www

Je viens de le faire sur Mac OS X Snow Leopard et Lion. C'est idéal pour vérifier que les autorisations sont correctement configurées.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X