> для смены shell home и gecos не надо suidАх да, chfn и chsh у нас сейчас поставляются ограниченными только для root'а. Разбивка /etc/passwd помогла бы сделать их снова доступными пользователям, при этом избежав SUID'ов. Но как-то спроса нет. Да и возможность изменения shell и GECOS пользователями - это дополнительный источник untrusted input для многих программ, а значит и дополнительный риск. Что касается home'а, его и традиционно пользователи сами менять не могли, так что привносить такую возможность - еще более опасно. К тому же, потребуется сохранить и какой-либо недоступный пользователю для записи файл или файлы для хранения UID и GID (и, наверное, home - по упомянутой причине). В целом, этот путь выглядит сомнительным и почти не нужным.
Есть еще тема удаленного определения (не)существующих имен пользователей через timing-атаки. Сейчас наш tcb и наши патчи в конкретные сервисы, такие как модификация OpenSSH в Owl, пытаются снизить утечки через время ответа, но не устраняют их полностью. Вычисляется хеш пароля даже если пользователь с таким именем отсутствует (к сожалению, при наличии в системе хешей с разными настройками, эффект от этого подхода получается гораздо меньше). Разбивка shadow здесь может чуть-чуть помогать: время поиска нужной строки не зависит от ее номера, как при традиционном /etc/shadow, но всё еще зависит от особенностей файловой системы.(*) Аналогично чуть-чуть улучшить ситуацию могла бы разбивка /etc/passwd и др., но пока у нас планов бороться с этими утечками более серьезно нет (особенно учитывая упомянутую проблему при разных типах/настройках хешей, а также небольшие утечки в сервисах, длине строк, записываемых в логи, и т.п., что не так просто и не так хорошо "исправлять").
(*) http://blog.wallarm.com/post/69598321538/timing-attacks-agai...
http://2013.zeronights.org/includes/docs/Ivan_Novikov_-_File...