localize todos os usuários com páginas pessoais em um servidor

0

para uma pergunta de lição de casa para uma turma, fui encarregado de encontrar todos os alunos de graduação / graduação que tivessem uma página da web no servidor da escola.

Deve haver uma lista em algum lugar, mas não consigo descobrir onde algo assim seria.

ele montou é bastante normal. Para listar todos os graduados / graduandos com uma conta, posso ir para / home / undergrad ou / home / graduate, mas não sei como descobrir quem tem uma página na web.

Eu usaria o locate para encontrar todos os diretórios www, mas isso só funcionaria em diretórios de fácil leitura. Alguém sabe pelo menos qual o nome do arquivo que eu deveria estar procurando?

    
por Luke 27.08.2014 / 02:00

1 resposta

0

As páginas da web pessoais geralmente estão em um diretório chamado public_html em / home. Isso seria meu palpite, pelo menos.

Você pode usar o Localizar para encontrá-los em / home

find /home 2>/dev/null -type d -name public_html
  • / home é o diretório para pesquisar
  • 2 > / dev / null oculta todas as mensagens de erro
  • -type d informa ao find para procurar diretórios
  • -name é o nome do diretório para procurar.

Isso forneceria uma lista de todos os diretórios chamados public_html. Você também pode procurar por arquivos de índice com

find /home 2>/dev/null -type f -name index.*

que deve fornecer uma lista de todos os arquivos de índice com qualquer extensão à medida que usamos o curinga.

Se isso funciona, mas você só precisa de uma lista de nomes, você pode canalizar os resultados do comando find para awk assim:

find /home 2>/dev/null -type f -name index.* | awk -F/ '{print $3}' 
  • -F / diz ao awk para separar a linha em partes depois de /.
  • {print $ 1} é o que vem antes do primeiro /
  • {print $ 2} é o que vem antes do segundo /
  • {print $ 3} é o que vem antes do terceiro /

Portanto, o comando acima só daria resultados dentro de / home /. Os nomes dos diretórios base.

    
por 27.08.2014 / 02:13