Script de trabalho
Supondo que o www-data é o grupo correto para o seu servidor web
Digite o seguinte com seu editor favorito em chown_www.sh
#!/bin/bash
for directory in 'find /var/www/html/ -mindepth 1 -maxdepth 1 -type d'
do
user=$(basename $directory)
chown -R $user:www-data $directory
done
torne-o executável
chmod +x /path/to/script/chown_www.sh
e execute como root ou via sudo
sudo /path/to/script/chown_www.sh
Disclaimer: Isto não tem verificação de erros para ver se os nomes dos diretórios são usuários viáveis (e / ou nomes limpos).
Explicação
O find
com uma profundidade mínima / máxima de 1 só encontrará diretórios localizados diretamente em /var/www/html
- que é o que você deseja.
-type d
no caso de haver alguns arquivos em /html
.
Em seguida, obtemos o nome do diretório com basename
e fazemos o recursivo chown
, como você queria.
Disclaimer: Isso é inspirado pelo usuário muclux, mas minha edição foi rejeitada