web-dev-qa-db-fra.com

Pourquoi exécuter un service en tant qu'utilisateur système?

J'ai une question générale sur le monde UNIX.

J'utilise actuellement Ubuntu à la maison et j'installe Transmission sur un appareil et il fonctionne comme et enregistre les fichiers en tant que transmission-debian utilisateur. Je me demande s'il est logique pour moi de changer cela pour mon propre utilisateur, il est donc plus facile d'interagir avec les fichiers et je n'ai pas besoin de Sudo ? Pourquoi serait-ce une mauvaise idée à faire?

19
ScipioAfricanus

La principale raison de la recommandation d'exécuter Transmission en tant que propre utilisateur système dédié plutôt que votre utilisateur est que, si le logiciel présente une vulnérabilité qui permet des exploits qui exposeront des fichiers en dehors de son répertoire configuré, il ne finira pas par exposer le les fichiers sensibles de votre répertoire personnel, car Linux lui-même empêchera ce type d'accès via les autorisations de base.

Afin de faciliter la gestion des fichiers du répertoire Transmission avec votre utilisateur normal, vous devriez envisager d'ajouter votre utilisateur au debian-transmission group, qui est le groupe propriétaire des fichiers du répertoire Transmission et qui a (ou du moins devrait avoir) un accès en lecture/écriture à ce répertoire et aux fichiers qu'il contient.

buntu howto suggère cette commande (légèrement adaptée pour obtenir votre utilisateur d'une variable d'environnement):

Sudo usermod -a -G debian-transmission "$USER"

(N'oubliez pas de vous déconnecter et de vous reconnecter après avoir exécuté usermod, car cela n'affectera pas les groupes de tout processus existant.)

Espérons que cela vous facilitera la gestion des fichiers téléchargés avec Transmission, tout en le maintenant sous son propre utilisateur système dédié, pour une meilleure sécurité.

40
filbranden