Хорошо, я близок к тому, чтобы отказаться от этого, но вот еще одна попытка. У меня больше вопросов, чем ответов, и я буду благодарен за любую помощь.
Операционная система на сервере - Debian Stretch, на клиенте - Debian Sid. У меня есть NFSv4 с сервером Kerberos (оба сервера находятся на одной физической машине), который экспортирует / home / User1. В /etc/exports
является
/home/User1 gss/krb5(rw,insecure,sync,wdelay,no_subtree_check,no_root_squash)
У меня включен idmap в / etc / default / nfs-common, а idmapd.conf
является
[General]
Verbosity = 5
Pipefs-Directory = /run/rpc_pipefs
Domain = MyDomain
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
Теперь у клиента есть User2, который является тем же лицом, что и User1. Однако строки User1 и User2 должны быть разными по определенным причинам. В idmapd.conf
файл на клиенте точно такой же. Когда я поднимаюсь Server:/home/User1
от клиента как root сервер Kerberos выдает билет службы на основе аутентификации компьютера (/ tmp / krb5ccmachine), и я могу смонтировать / home / User1. Однако, как вы, возможно, уже догадались, право собственности на смонтированный каталог испорчено. Во-первых, параметр no_root_squash полностью игнорируется, поэтому даже root на клиенте не может писать в смонтированный каталог. User2 не может даже войти в него.
Теперь, насколько я понимаю, сервер NFS не знает, что root на клиенте является root (почему? root@MyDomain
перевести как root на сервере?) Из того, что я собрал из аналогичных вопросов на этом сайте, следующие изменения в сервере idmapd.conf
исправить эту проблему:
[Translate]
GSS-Methods = static
[Static]
nfs/client@MYREALM = root #principal used to authenticate client
К сожалению, root теперь имеет полные права доступа к смонтированному каталогу даже после возврата изменений в idmapd.conf и перезапуска сервера nfs. Откуда эта настойчивость?
На мои основные вопросы: как я могу смонтировать / home / User1, чтобы User2 был владельцем смонтированного каталога, и чтобы любые файлы, созданные User2, отображались как принадлежащие User1 на сервере? В NFSv3 это было просто, поскольку право собственности определялось uid: gid. Возможно ли это даже с NFSv4?