Você está certo em se preocupar, e muitos fornecedores de aplicativos recorrem a dizer que você precisa conceder permissões completas a todos os usuários para evitar problemas. Eles fazem isso para minimizar as chamadas de suporte, em vez de maximizar a segurança.
Faz sentido que a conta do servidor da Web precise de acesso de gravação a determinados diretórios para armazenar uploads ou arquivos gerados. E o acesso de execução nos diretórios é necessário no Unix para que o conteúdo do diretório seja enumerado por um usuário, de modo que também será necessário.
Por fim, o que você deseja é que a conta de usuário que está executando o processo do servidor Web (provavelmente www-data
se você estiver usando um servidor da Web no Ubuntu) possua as pastas em questão e as permissões padrão de 755 (rwxr-xr-x) são suficientes, ou se você estiver em um sistema compartilhado com outros usuários não confiáveis, você deseja 700 (rwx ------).
Então, no seu primeiro exemplo, supondo que esses diretórios já existam, você precisaria fazer isso:
$ sudo chown -R www-data:www-data dokeos/main/inc/conf/ dokeos/main/upload/users/ dokeos/main/default_course_document/ dokeos/archive/ dokeos/courses/ dokeos/home/
$ sudo chmod 755 dokeos/main/inc/conf/ dokeos/main/upload/users/ dokeos/main/default_course_document/ dokeos/archive/ dokeos/courses/ dokeos/home/
Novamente, se você estiver em um sistema compartilhado, poderá substituir "755" por "700" na segunda linha. Se você souber que www-data
não é o usuário que está executando seu servidor da web, substitua esse item pelo valor correto. Você pode executar os mesmos dois comandos nos diretórios do segundo sistema também. Em ambos os casos, o acesso de gravação provavelmente é necessário, mas apenas para o usuário único executando o servidor da Web, não para todos .
Boa sorte.