У меня есть новая среда chroot openssh (openssh-server-6.1p1-4.fc18.i686) в Fedora Core 18 и помещает пользователей в структуру каталогов chroot с оболочкой (bash). Во время устранения неполадок SELinux находился в разрешительном режиме, чтобы исключить его как причину проблем.
При входе в систему пользователи видят следующее:
Using username "testuser".
Authenticating with public key "rsa-key-xxxxxxx" from agent
id: cannot find name for group ID 1002
id: cannot find name for user ID 1001
id: cannot find name for group ID 1002
id: cannot find name for user ID 1001
[I have no name!@fc18test ~]$
Whoami терпит неудачу подобным образом.
Каковы зависимости для правильной работы команды id в этой среде chroot? Раньше он прекрасно работал в предыдущей версии Fedora, использующей старые версии OpenSSH.
В среде chroot каталог /etc был воссоздан с помощью passwd & passwd-, group & group- и nsswitch.conf. В файле nsswitch.conf есть записи для "passwd" и "group", определенные как "файлы", и в соответствующих файлах есть и идентификатор пользователя, и идентификатор группы. Права доступа к файлам отражают права доступа к тем же файлам в стандартном каталоге /etc. Контексты SELinux также совпадают, хотя в этом нет необходимости, поскольку SELinux находится в разрешающем режиме при устранении неполадок.
Я думаю, что id вызывает либо getuid()
либо geteuid()
. Возможно ли, что мне не хватает библиотеки в каталоге chroot /lib
?
Может кто-нибудь пролить свет на то, что идет не так?