Ci-bas, on assume que:

  • user est le nom et le uid d'un user alternc
  • alternc est le user UNIX qui roule le serveur d'appli

Zones critiques qui roulent en root dans le serveur d'appli:

  • creation des mailboxes
  • relancer les demons
  • creer les confs apache (peut appartenir au user alternc)

On peut continuer la technique de scripts perl suid permis seulement au user alternc (qui roule le serveur d'appli).

Les permissions, au final:

  1. chown user:user /var/alternc/html/u/user; chmod 775 du home, mais seulement le o+a est modifiable
  2. brouter et ftp permet le chmod
  3. soit:
    • un vhost de bureau par user pour le serveur d'appli XmlRpc roule en su(exec)php comme le user, le reste roule en wwww-data
    • le brouteur devient un simple interface vers le serveur FTP
  4. le user alternc fait partie de tous les groupes "user" (si on a pam_mysql ou le chown ci-haut est user:alternc)

Benefices:

  1. securite amelioree: les fichiers ne sont plus inscriptibles par le webserver par defaut
  2. brouteur web2ftp:
    • pas de probleme a zigouiller avec des rewriterules ou avec des vhosts bureau par user
    • les users FTP normaux peuvent avoir une interface web
    • peut etre utilise dans d'autres projets, peut etre un projet separe, etc...
  3. permet eventuellement un SshServer