В Gentoo исполняемым программам с setuid (установленным для запуска с разрешениями их владельца, а не их инициатора) отказано в доступе для чтения (режим 4711). Это сделано для того, чтобы добавить уровень защиты от использования ошибок, чтобы помочь в повышении привилегий.
Если непривилегированный злоумышленник может прочитать файл setuid и знает об ошибке, которая допускает атаку в стиле возврата к libc , он может использовать содержимое файла, чтобы предсказать, где некоторые полезные функции или библиотеки могут быть помещены в память при вызове программы.
Современные системы часто включают более эффективные дополнительные средства защиты, такие как ASLR , но ограничения, существующие в 32-битных платформах, могут сделать их более уязвимыми.
Вы можете использовать это для создания списка mv
команд:
paste /path/to/new_names <(ls /path/to/files | grep -v new_names) | awk '$2 !~ /^$/ {print "mv " $2,$1}'
Если все выглядит хорошо, то вы можете выполнить его с :
cd /path/to/files
$( paste /path/to/new_names <(ls /path/to/files | grep -v new_names) | awk '$2 !~ /^$/ {print "mv " $2,$1}' )