1 votes

Administration d'un cluster d'ordinateurs : comment limiter l'exécution de programmes par les utilisateurs mais autoriser le transfert de fichiers ?

Je gère un petit cluster d'ordinateurs avec slurm sur CentOS 7. Je veux décourager les utilisateurs d'exécuter des programmes sur le nœud de connexion. Ceci peut être réalisé en ajoutant user hard cpu 1 au dossier /etc/security/limits.conf . Cependant, je ne veux pas que les fichiers soient transférés d'un autre cluster par l'intermédiaire de l'application sshd à être perturbé. Existe-t-il un moyen de concilier ces objectifs apparemment contradictoires ?

1voto

user10489 Points 408

Les limites du processeur semblent être la réponse évidente, mais une réponse efficace consiste à utiliser des limites de mémoire à la place. Des outils comme ssh ont tendance à avoir un profil de mémoire constant, il est donc possible de trouver une limite de mémoire appropriée qui ne les affectera pas, alors que la plupart des applications informatiques réelles ont de gros besoins en mémoire qui dépasseront rapidement la limite.

De plus, le système d'exploitation a tendance à bien équilibrer l'utilisation du processeur entre les processus lorsqu'il y a une forte utilisation du processeur. Un ulimit du nombre total de processus par utilisateur peut également être nécessaire.

Si vous tenez absolument à limiter l'utilisation du processeur, au lieu d'une limite stricte, il est possible de renier les processus à forte utilisation de processeur, ou d'utiliser des cgroups pour les limiter.

Si vous voulez être draconien, utilisez un script dans cron qui utilise ps -o et filtre par pcpu, utilisation totale du cpu, et liste blanche certaines commandes comme ssh, screen, tmux, et les utilisateurs du système, et tue les processus suspects restants automatiquement. (Je recommande d'imprimer les candidats et de les examiner manuellement pendant quelques mois avant d'actionner l'interrupteur d'arrêt).

Cependant, l'essentiel est d'apprendre aux utilisateurs à utiliser slurm. Des choses comme celles décrites ci-dessus peuvent être une forme de persuasion difficile pour y parvenir.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X