Возможно, релевантная строка ранее в том же документе:
Никаких программ setuid/setgid. Добавлена поддержка возможностей файловой системы в системные файлы Android и удалены все программы setuid/setguid. Это уменьшает поверхность атаки root и вероятность потенциальных уязвимостей безопасности.
Что касается вашего последнего вопроса:
Если системный раздел на устройствах Android смонтирован с nosuid, то как могут исполняемые файлы ядра системы запускаться от имени root, что они должны делать на самых ранних стадиях запуска?
nosuid
не препятствует root
запуску процессов. Это не то же самое, что noexec
. Он просто предотвращает вступление в силу suid
бита на исполняемых файлах, что по определению означает, что пользователь не может запустить приложение, которое будет иметь разрешение на выполнение действий, на которые у него самого нет разрешения.
Здесь также важно понимание того, что такое "зигота"; попробуйте прочитать https://android.stackexchange.com/a/77308
Оговорка: я не эксперт по Android.
Это работает для меня:
find /some/long/path/ -type f -exec basename {} \;| sort
Вы ошиблись двумя способами:
Вы передаете полу-произвольные имена файлов от find
до двух каналов --до xargs
, а затем к sort
. Используйте null -, завершенный -print0
из find
, если можете, или вставьте действия внутрь -exec
, , как продемонстрировано Maulinglawns .
ЕСЛИ у вас были имена файлов, которые никогда не содержали никаких символов из $IFS
, ваша команда все равно не выполнялась бы, потому что вы попросили xargs
выполнить эхо с подстановкой команды; эта подстановка команд просит basename
вывести базовое имя @
, которого, вероятно, не существует. Ближе было бы:
find /long/absolute/path -type f | xargs -L 1 -I @ basename @ | sort
... так как это позволило бы xargs
интерполировать имена файлов в качестве аргументов для basename
.