6 votes

Serveur Mavericks - rien n'est activé, mais les services fonctionnent toujours et enregistrent des messages

J'ai un serveur Mavericks avec TOUS les services désactivés dans Server.app dans le but de découvrir ce qui cause un grand nombre de messages de journal. Lorsque je vérifie quels services sont en cours d'exécution, je vois la sortie à la fin de cette question.

Cela implique que le serveur Wiki (com.apple.collabd), le serveur Xcode (com.apple.xcs* et com.apple.servermgr.xcode.*), le serveur de calendrier (org.calendarserver.*), le Gestionnaire de profils (com.apple.DeviceManagement.*) et d'autres sont tous en cours d'exécution, ou du moins certaines parties d'entre eux sont en cours d'exécution.

La principale préoccupation est le milliers de messages par minute qui ressemblent à ceci :

18 janv. 02:59:25 domain.com collabd[84733]: [CSODService.m:78 f0a3000 +0ms] Impossible de convertir l'ID externe de l'utilisateur servermgr_xcode en uuid_t pour la vérification de l'appartenance
18 janv. 02:59:25 --- dernier message répété 1 fois ---
18 janv. 02:59:25 domain.com serveradmin[44306]: [XcodeRequestHandler+DeviceSupport.m:183 73552310 +0ms] Filtrage de l'appareil car il n'a pas de numéro de série (par ex. appareil mac ou simulateur)
18 janv. 02:59:25 domain.com collabd[84733]: [CSODService.m:78 f0a3000 +0ms] Impossible de convertir l'ID externe de l'utilisateur servermgr_xcode en uuid_t pour la vérification de l'appartenance
18 janv. 02:59:25 --- dernier message répété 1 fois ---
18 janv. 02:59:25 domain.com serveradmin[44306]: [XcodeRequestHandler+DeviceSupport.m:183 73552310 +0ms] Filtrage de l'appareil car il n'a pas de numéro de série (par ex. appareil mac ou simulateur)

Il semble s'agir des services Wiki et Xcode désactivés. Ils sont agaçants et entraînent également une E/S de fichier journal excessive, sans parler des autres effets de l'exécution de services inutiles ou non désirés.

Ma question est triple :

  1. Pourquoi ces services s'exécutent-ils s'ils sont désactivés dans Server.app ?
  2. Existe-t-il une liste complète des processus de serveur et de leurs descriptions, de préférence fournie par Apple ?
  3. Comment les désactiver et lesquels sont essentiels ?

Je regarde spécifiquement des services comme SCEPHelper pour lequel il n'y a pas de page de manuel et qui ne semble avoir aucune description en ligne. Certains, comme apspd, sont utilisés pour les notifications push du serveur et doivent donc rester en cours d'exécution. Je suis principalement préoccupé par ceux qui doivent rester en cours d'exécution pour des choses comme l'administration à distance. J'ai déjà essayé serveradmin stop X pour les services Xcode et de calendrier, et bien que je puisse les arrêter et les redémarrer de cette manière, ces quelques services épars restent tout de même en cours d'exécution.

Aussi, une question bonus : où se trouve la page de manuel ou le document d'aide pour serverctl ?

Services désactivés et activés affichés ici :

$ sudo serverctl list
{
    disabledServices =     (
        "com.apple.AccountsConfigService",
        "com.apple.afctl",
        "com.apple.AssetCache",
        "com.apple.collabd.expire",
        "com.apple.collabd.notifications",
        "com.apple.collabd.preview",
        "com.apple.collabd.quicklook",
        "com.apple.collabd.scm_poller",
        "com.apple.collabd.stats",
        "com.apple.DeviceManagement.dmrunnerd",
        "com.apple.DeviceManagement.php-fpm",
        "com.apple.ftpserver",
        "com.apple.list_server_mgr",
        "com.apple.mail_exclusion",
        "com.apple.mail_status_init",
        "com.apple.mail_status_periodic",
        "com.apple.ppp.l2tp",
        "com.apple.ppp.pptp",
        "com.apple.push_notify",
        "com.apple.Rooms",
        "com.apple.salearn",
        "com.apple.saupdate",
        "com.apple.server.filesharing",
        "com.apple.server.mail.alerts",
        "com.apple.server.netboot",
        "com.apple.server.opendirectory",
        "com.apple.swupdate.host",
        "com.apple.swupdate.sync",
        "com.apple.xcs.stats",
        "com.apple.xcsbuildd",
        "com.apple.xcscgsessiond",
        "org.amavis.amavisd",
        "org.amavis.amavisd_cleanup",
        "org.calendarserver.calendarserver",
        "org.clamav.clamd",
        "org.clamav.freshclam-init",
        "org.clamav.freshclam",
        "org.dovecot.dovecotd",
        "org.dovecot.fts.update",
        "org.freeradius.radiusd",
        "org.isc.named",
        "org.jabber.jabberd",
        "org.jabber.proxy65",
        "org.postgresql.postgres"
    );
    enabledServices =     (
        "com.apple.apspd",
        "com.apple.collabd",
        "com.apple.DeviceManagement.devicemgrd",
        "com.apple.DeviceManagement.postgres",
        "com.apple.DeviceManagement.SCEPHelper",
        "com.apple.opendirectorybackup",
        "com.apple.server.alertsd",
        "com.apple.server.eventsd",
        "com.apple.server.v2.stats",
        "com.apple.ServerEventAgent",
        "com.apple.servermgr_xcode.get_currently_connected_devices",
        "com.apple.servermgr_xcode.sync_adc",
        "com.apple.servermgrd",
        "com.apple.disks.smart.status",
        "com.apple.xcscredd",
        "com.apple.xcscredhandler",
        "com.apple.xcsdevicesnifferd",
        "com.apple.xcsxcodeappwatcher",
        "org.calendarserver.agent",
        "org.calendarserver.relocate"
    );
}

4voto

Oskar Points 1242

Votre liste de services actifs correspond à la mienne sur un serveur où seulement DNS est en cours d'exécution selon l'application du serveur :

enabledServices =     (
    "com.apple.apspd",
    "com.apple.collabd",
    "com.apple.DeviceManagement.devicemgrd",
    "com.apple.DeviceManagement.postgres",
    "com.apple.DeviceManagement.SCEPHelper",
    "com.apple.opendirectorybackup",
    "com.apple.server.alertsd",
    "com.apple.server.eventsd",
    "com.apple.server.v2.stats",
    "com.apple.ServerEventAgent",
    "com.apple.servermgrd",
    "com.apple.disks.smart.status",
    "com.apple.xcscredd",
    "com.apple.xcscredhandler",
    "org.calendarserver.agent",
    "org.calendarserver.relocate",
    "org.isc.named"
);

Dans votre cas, le collabd devrait être en cours d'exécution et il se plaint du numéro de série de la machine. Vérifiez que votre numéro de série matériel est en effet lisible via le logiciel :

system_profiler SPHardwareDataType | grep 'Serial'

La meilleure façon de dépanner un serveur lorsque vous ne faites pas confiance à l'application graphique du serveur (ou que vous voulez plus de détails) est d'utiliser la commande serveradmin au lieu de la commande serverctl. Comme vous l'avez remarqué, serverctl n'est pas documenté, donc vous voudrez utiliser l'interface stable serveradmin si possible.

Voici une commande de boucle courte qui affiche uniquement l'état en cours/arrêté des différents sous-systèmes que serveradmin connaît :

for service in `sudo serveradmin list`
do
  sudo serveradmin status $service | egrep "RUNNING|STOPPED"
done

Vous pourriez facilement changer cette commande grep pour arrêter seulement les services en cours d'exécution...

sudo serveradmin status $service | grep "RUNNING" && sudo serveradmin stop $service

2voto

dmkc Points 518

Je vois la même chose sur mon serveur, c'est ce qui m'a amené ici. Je suis désolé de ne pas pouvoir beaucoup aider, mais de pointer vers ce fil de discussion avec la commande serverctl, par exemple.

sudo serverctl disable service=com.apple.collabd.notifications

0voto

Tony Williams Points 11219

Il existe un petit nombre de démons nécessaires à l'administration à distance et locale.

Il y a aussi un nombre encore plus restreint de processus tellement liés au système d'exploitation qu'il est plus simple de les laisser fonctionner que de les éteindre.

Il est presque impossible de savoir dans lequel des trois cas un démon donné se trouve. Le thread mentionné dans une autre réponse vous donne cependant une liste de processus qui peuvent être chargés en toute sécurité par launchctl pour revenir à un état de fonctionnement plus minimal que ce que propose l'application Server ou l'outil de ligne de commande serveradmin. Il y a quelque temps, j'ai testé et ils peuvent être chargés sans problème.

La vraie question est pourquoi des milliers d'erreurs par minute sont écrites dans le journal. Il doit y avoir un problème avec votre configuration car mon serveur ne fait pas du tout ça.

Voyons si nous pouvons résoudre ce problème.

Avez-vous essayé de configurer ce serveur en tant que maître Open Directory ? Je demande car pour que cela fonctionne, un certain nombre de problèmes de certificat, de DNS et de table d'hôtes doivent être résolus à 100% pour qu'un maître OD puisse être opérationnel. À en juger par la sortie du journal, il semble que la sécurité du serveur soit excessivement compromis. Ma autre question, dans le journal que vous avez fourni, est-ce qu'il mentionne littéralement 'domain.com' ou a-t-il donné votre domaine que vous avez changé pour des raisons de sécurité ?

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