web-dev-qa-db-fra.com

Autoriser la commande chown à l'utilisateur www-data

Existe-t-il un moyen d'autoriser l'exécution de la commande chown par www-data, mais en le limitant de manière à ce que le propriétaire des fichiers ne puisse être modifié qu'en un utilisateur plus grand que celui de l'utilisateur www-data?

J'ai déjà beaucoup étudié et le seul moyen de permettre à chown d'être exécuté par un autre utilisateur que root requiert l'octroi de privilèges à Sudo à cet utilisateur, mais cette option ne me convient pas tant que je ne peux pas m'assurer que le propriétaire n'est défini sur aucun utilisateur. avec uid plus petit que www-data.

Pour donner le contexte, je crée une application où je tente de simuler l'hébergement en créant un nouvel utilisateur Linux pour chaque utilisateur inscrit. L'utilisateur peut ensuite télécharger des fichiers mais je dois changer le propriétaire de ces fichiers en utilisateur Linux correspondant.

2
ksb

Êtes-vous sûr que www-data doit faire chown? S'il vous plaît expliquer pourquoi. Il n'y a aucun moyen d'obtenir que /bin/chown limite les UID. Vous devrez écrire un wrapper autour de /bin/chown qui effectue la validation d'entrée, puis appelle le réel /bin/chown, puis n'autorisez l'accès www-data qu'au wrapper.

1
waltinator