Перечислите только файлы в каталоге и покажите inode число

Для CentOS/RedHat и SuSE там одна общая черта: они все используют об/мин в качестве формата пакета. Таким образом, одной вещью сделать является a rpm -Va - сохраните результат как базовую линию и сравните его позже (если Вы хотите проверить на нежелательные изменения).

Это - вполне интенсивный файл, поскольку каждый файл каждого об/мин проверяется.

Просто перечислять, что установлено - использование rpm -qa или сделайте соответствующий snmp-bulkwalk на ресурсах часа установленное на программном обеспечении дерево (должен даже работать над Mac, если snmp включен там).

Другая Идея состоит в том, чтобы использовать HIDS (основанная на хосте система обнаружения проникновения) - примеры aide, fam, samhain, ...

Что касается выполнения процессов - вывод netstat -tulnp интересно. Можно проанализировать, какие процессы связаны.

Вручную установленную часть ("из источника") трудно покрыть. Лучший подход здесь, по моему скромному мнению, должен настроить политику, которая запрещает такие вещи (по крайней мере, в производстве). Кроме того, это должно быть осуществлено, что эти программы должны быть зарегистрированы вручную в дб материально-технических ресурсов.

1
06.07.2013, 17:35
4 ответа

Существует несколько решений. Принятие Вас не имеет имени файла, запускающегося с -

ls -li | grep " -"
ls -li | awk '/ -/'

Если каталог содержит -, это может быть зафиксировано

ls -li | grep "[0-9][0-9]* -"
ls -li | awk '$2 ~ "-.{9}"'
4
27.01.2020, 23:12

Вы могли использовать find:

find . -maxdepth 1 -type f -exec ls -li '{}' \;

или, для получения ls- как вывод:

find . -maxdepth 1 -type f  -printf '%i %M %n %u %g %kK %Tc %p\n'

Парсинг ls плохая идея, так как она может часто вести для беспокойства.

Если Вы действительно хотите использовать ls непосредственно, Вы могли сделать это:

ls -li | gawk '$2!~/d/'
2
27.01.2020, 23:12
  • 1
    Вы могли бы хотеть использовать + вместо \; в Вашем первом примере (если Ваша версия find поддержки), чтобы не разветвиться слишком много на ls. Мог бы также хотеть добавить \! -name '.*' чтобы не перечислить скрытые файлы. –  gniourf_gniourf 06.07.2013, 17:36
  • 2
    О, и если Вы хотите проанализировать вывод ls, и если Ваш ls поддержка версии -p опция, Вы можете ls -lip | grep -v '/$' –  gniourf_gniourf 06.07.2013, 17:49
  • 3
    @gniourf_gniourf начиная с + не всегда доступно, и мы только работаем ls который не также плохо обращается с машиной, я не думаю, что это стоит того. Что касается скрытых файлов, я считаю список их функцией не ошибка :). –  terdon♦ 06.07.2013, 17:49

Другие находят альтернативу:

find -maxdepth 1 -type f -printf "%i %p\n"

Или еще один:

find -maxdepth 1 -type f -ls
1
27.01.2020, 23:12
  • 1
    Вы могли бы хотеть использовать maxdepth 1 подражать ls. Иначе это найдет все файлы во всех подпапках рекурсивно. –  terdon♦ 06.07.2013, 17:31

Вот альтернативный способ использования команд tree и grep . Grep используется для фильтрации записей каталогов:

$ tree --inodes -f -F|grep -v "/$"

Пример

$ tree --inodes -f -F|grep -v "/$"|less
.
|-- [10370679]  ./a
|-- [10359494]  ./a.bash*
|   |-- [10359495]  ./alsa/alsa-info.sh*
|   `-- [10370145]  ./alsa/alsa-info.txt.v8hSmCT2Rf
|   |   |   |-- [11147371]  ./apps/apache-maven-2.0.9/bin/m2*
|   |   |   |-- [11147367]  ./apps/apache-maven-2.0.9/bin/m2.bat
|   |   |   |-- [11147368]  ./apps/apache-maven-2.0.9/bin/m2.conf
|   |   |   |-- [11147372]  ./apps/apache-maven-2.0.9/bin/mvn*
|   |   |   |-- [11147369]  ./apps/apache-maven-2.0.9/bin/mvn.bat
|   |   |   |-- [11147373]  ./apps/apache-maven-2.0.9/bin/mvnDebug*
|   |   |   `-- [11147370]  ./apps/apache-maven-2.0.9/bin/mvnDebug.bat
|   |   |   `-- [11147378]  ./apps/apache-maven-2.0.9/boot/classworlds-1.1.jar
|   |   |   `-- [11147374]  ./apps/apache-maven-2.0.9/conf/settings.xml
|   |   |   `-- [11147376]  ./apps/apache-maven-2.0.9/lib/maven-2.0.9-uber.jar
|   |   |-- [11147363]  ./apps/apache-maven-2.0.9/LICENSE.txt
|   |   |-- [11147364]  ./apps/apache-maven-2.0.9/NOTICE.txt
|   |   `-- [11147365]  ./apps/apache-maven-2.0.9/README.txt

Вышеупомянутое включает иерархию каталогов в строки для каждого файла, а также использует переключатель -F , так что дерево добавляет завершающие / до каждой строки каталога. Используя эту функцию, мы можем захватить любые строки, которые теперь имеют этот завершающий / , и опустить их.

Ссылки

1
27.01.2020, 23:12

Теги

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