Я понимаю, что нехорошо хранить принадлежащие себе файлы в своей домашней области, которые являются исполняемыми, поэтому мне нужен скрипт / инструмент, который рекурсивно проверяет данный каталог (в данном случае мой домашний каталог) и все его подкаталоги и т. д. (следует, очевидно, также проверять скрытые файлы и папки) и выводить имя и расположение любых исполняемых файлов, а также указывать владельца файла. Я использую Ubuntu GNOME 15.10 с GNOME 3.18, возможно ли что-то подобное?
find
команда наиболее подходит для этой задачи, в сочетании со статистикой, Вы видите владельца файла
find $HOME -type f -executable -printf "FILE:%p OWNER: " -exec stat -c "%U" {} \;
Или просто с find
printf:
find $HOME -executable -printf "FILE:%p OWNER:%u\n "
И если Вы достаточно предприимчивы, вот pythonic решение:
import os
for root, dirs, files in os.walk( os.getcwd() ):
for name in files:
file=os.path.join(root,name)
owner_uid=os.stat(file).st_uid
if os.access(file,os.X_OK):
print(file,owner_uid)
find ~ -type f -executable
должен работать. Возможно, добавьте -exec ls -l {} \;
для получения пользователя и группы.