Eu instalei um host virtual (KVM) com o Ubuntu Server 14.04.3 LTS. Agora passo a última semana configurando o apache, o módulo owncloud e outras coisas.
No entanto, tudo funcionou muito bem até que eu segui a recomendação do Owncloud https://doc.owncloud.org/server/8.0/admin_manual/installation/installation_wizard.html#setting-strong-directory-permissions
Eles escreveram que a maneira mais fácil seria criar o script com o seguinte conteúdo
#!/bin/bash
ocpath='/var/www/owncloud'
htuser='www-data'
htgroup='www-data'
rootuser='root' # On QNAP this is admin
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750
chown -R ${rootuser}:${htgroup} ${ocpath}/
chown -R ${htuser}:${htgroup} ${ocpath}/apps/
chown -R ${htuser}:${htgroup} ${ocpath}/config/
chown -R ${htuser}:${htgroup} ${ocpath}/data/
chown -R ${htuser}:${htgroup} ${ocpath}/themes/
chown ${rootuser}:${htgroup} ${ocpath}/.htaccess
chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess
chmod 0644 ${ocpath}/.htaccess
chmod 0644 ${ocpath}/data/.htaccess
Bem, eu não vi nenhum conteúdo crítico, apenas chmods regulares para root e www-data. Então eu criei um script.sh com o conteúdo acima na minha pasta www e execute-o pelo sudo ./script.sh
Então, isso demorou muito e, do contrário, apareceram erros de privilégios perdidos enquanto o script ainda estava em execução (o que foi muito engraçado, já que o sudo fez bem com a senha correta).
Depois que o script terminou suas tarefas, tentei mudar o sudo su para o modo raiz e vi o que aconteceu: Meu usuário principal do Ubuntu perdeu o direito de executar o sudo su e nem mesmo o sudo era possível.
Bem, depois tentei reiniciar o host virtual para iniciar o shell de root no modo de recuperação, mas ele pára entre a inicialização com o kernel panic.
Alguma ideia do que aconteceu? Este script pode seguir um link simbólico para o meu diretório raiz? Você vê alguma chance de consertar meu servidor. Caso contrário, perco uma semana de trabalho :(
find
no debian não retorna ou segue links simbólicos a menos que-L
seja usado.find ${ocpath}/ -type f -ls
2) Não tenho certeza por que eles usamfind ${ocpath}/ -type f -print0 | xargs -0 chmod 0640
. Por que não simplesmentefind ${ocpath}/ -type f -exec hmod 0640 +
(mais curto e mais eficiente). 3) Verifique Ocpath. ocpath = '/ var / www / owncloud'. Certifique-se de que não haja espaço acidental. Por exemplo, ocpath = '/ var / www / owncloud' ou similar.chown -R ${rootuser}:${htgroup} "${ocpath}/"
chroot
.