Пользователь идентифицируется в работающей системе и в большинстве файловых систем по числовому идентификатору, а не по имени. Вы не можете заменить числовой идентификатор (uid) именем внутри файловой системы: это делает команда ls
на основе пользовательской базы данных системы, в которой она выполняется.
Современные версии протокола NFS (NFSv4) позволяют переназначать идентификаторы пользователей и групп. На клиенте настройте nfsidmap
для сопоставления пользователя сервера 4016 с любым пользователем, которого вы хотите иметь локально.
Если вы настраиваете это для многих пользователей на многих машинах, обычно гораздо проще настроить сетевые учетные записи с помощью LDAP. Таким образом, пользователь имеет один и тот же идентификатор пользователя на всех машинах.
Если вы настраиваете это только для одного пользователя, обычно гораздо проще использовать другой протокол, чем NFS. Убедитесь, что на сервере работает SSH-сервер с включенным SFTP, и смонтируйте удаленную файловую систему через SSHFS.
Нет, блочное устройство не знает, какой процесс или пользователь вызвал доступ к диску. Фундаментальная причина, по которой он не знает, состоит в том, что это понятие -плохо определено. Прямой связи между доступом к диску и доступом к файлу нет. Например, если несколько процессов читают из одного и того же места в одном и том же файле практически в одно и то же время, то у них обоих может быть ожидающий запрос на чтение, который просачивается на оборудование. Другой пример: буферизованная запись может иметь место после того, как процесс, активность которого вызвала запись, умерла.