найти всех пользователей с личными веб-страницами на сервере

263
Luke

по домашнему заданию для класса мне было поручено найти всех учеников старших курсов, которые имеют веб-страницу на школьном сервере.

Где-то должен быть список, но я не могу понять, где что-то подобное будет.

он настроен довольно стандартно. Чтобы перечислить всех выпускников / старшекурсников с учетной записью, я могу просто зайти в / home / старшекурсник или / home / выпускник, но я не знаю, как узнать, у кого есть веб-страница.

Я бы использовал locate, чтобы найти все каталоги www, но это работает только для всемирно читаемых каталогов. Кто-нибудь знает, по крайней мере, какое имя файла я должен искать?

0

1 ответ на вопрос

0
Loki123

Персональные веб-страницы обычно находятся в каталоге public_html в / home. Это было бы мое предположение по крайней мере.

Вы можете использовать find, чтобы найти их в / home

find /home 2>/dev/null -type d -name public_html 
  • / home - каталог для поиска
  • 2> / dev / null скрывает все сообщения об ошибках
  • -type d говорит найти для поиска каталогов
  • -name - это имя каталога для поиска.

Это даст вам список всех каталогов с именем public_html. Вы также можете искать индексные файлы вместо

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

это должно дать вам список всех индексных файлов с любым расширением, поскольку мы используем подстановочный знак.

Если это работает, но вам нужен только список имен, вы можете передать результаты команды find в awk следующим образом:

find /home 2>/dev/null -type f -name index.* | awk -F/ '' 
  • -F / говорит awk разделить строку на части после /.
  • - это то, что предшествует первому /
  • - это то, что предшествует второму /
  • - это то, что предшествует третьему /

Таким образом, приведенная выше команда выдаст результаты только внутри / home /. Названия домашних каталогов.

Похожие вопросы