Я подключаюсь от клиента Linux с одним пользователем (1000) к серверу.
Имя пользователя одинаково на обеих машинах, но имеет разные UID.
Когда я подключаюсь, файлы отображаются как принадлежащие 1001
, а не как USER
, как я ожидал. Я ожидал бы, что cifs переведет оригинального пользователя к тому, который я использую на клиенте. Но это не так. Кажется, у меня должны быть одинаковые пользователи на клиенте и на сервере, а также им назначен один и тот же UID на обоих. Но я не могу представить, что это единственное решение.
Клиент имеет версию mount.cifs 6.4.
Мой fstab -
//192.168.111.190/hgst /home/ben/hgst cifs vers=1.0,noauto,users,uid=1001,username=USER,password=PASSWORD
.
Я уже изменил его, чтобы включить vers=1.0
и uid=1001
.
Руководство гласит, что я мог бы использовать forceuid
на клиенте, чтобы заставить определенного пользователя. Если я включу эту опцию в свой fstab, я получу invalid argument
для mount
, как с 1000, так и с 1001. Я не использую forceuid
на сервере.
Мой сервер работает под управлением openmediavault 3, а мой клиент - Lubuntu 16.04 LTS.
UID на сервере и клиенте не должен соответствовать. Это - целая причина, Вы использовали бы сервер самбы.
Это - вид отчасти как монтирование раздела NTFS. Без uid спецификации смонтированная доля принадлежала бы корню. uid=1001 отсылает к uid пользователя на клиенте не сервер, если у клиента есть пользователь с этим uid.
К СЕРВЕРУ: Все, что Вы делаете, сделано как пользователь, с которым Вы вошли в систему в username=USER / password=PASSWORD, комбинация в Вашем cifs монтируют выражение независимо от того, как Вы смонтировали его в клиенте.
КЛИЕНТУ: Если клиентом будет Linux, то он смонтируется с однако, Вы определили его в своем выражении монтирования.
И нет никакой потребности в forceuid параметре.
Таким образом, это - каково это должно было быть:
//192.168.100.90/hgst /home/ben/Benshare/hgst cifs vers=1.0,noauto,users,uid=1000,username=USER,password=PASSWORD
Править
uid параметр в CIFS монтирует владение изменений выражения смонтированной доли от корня до того, указанного uid. В Вашем исходном монтировании Вы устанавливаете uid на 1 001, который является для пользователя, который не существует на клиенте. Необходимо было установить uid на 1 000, потому что это - uid пользователя клиента. forceuid не должен требоваться.
Почему делают UID на сервере и клиенте должен соответствовать при использовании cifs?
Без понятия. Не должен иметь место все же. Это должно взять имя пользователя на 1 конце и имя пользователя на другом конце, если это - то же. Следите за этим:
uid=arg
устанавливает uid, который будет владеть всеми файлами или каталогами в смонтированной файловой системе, когда сервер не предоставит информацию о владении. Это может быть указано или как имя пользователя или как числовой uid. При отсутствии определения значение по умолчанию является uid 0. mount.cifs помощник должен быть в версии 1.10 или выше поддерживать определение uid в нечисловой форме. Посмотрите раздел по ФАЙЛУ И ВЛАДЕНИЮ КАТАЛОГА И ПОЛНОМОЧИЯМ ниже для получения дополнительной информации.
...
Имя пользователя является тем же на обеих машинах, но имеет другой UID.
Если это - то же, почему бы не использовать имя пользователя? uid
принимает и имя и идентификатор пользователя.
Ручной Саис, что я мог бы использовать forceuid на клиенте для принуждения определенного пользователя.
Вы использовали бы user=
или uid=
с именем пользователя или credentials=
с именем файла, которое имеет имя пользователя и пароль прежде forceuid
Моя проблема была, который я использовал forceuid
неправильный путь.
Опция должна быть включена как это:
uid=1000,forceuid
При значении я должен был установить a uid
сначала и затем помещенный опция forceuid
без аргумента для проверки используется UID от другой опции.
Я перепроверил это с владением на сервере. Файлы теперь отображены на клиенте с UID 1000, но записаны в сервер с UID 1001, exacly, как это должно быть. Имя пользователя является тем же, которое также корректно.
Моя другая ошибка состояла в том, чтобы указать UID как тот с сервера (1001). Но это должно быть наоборот, UID должен сказать клиенту, какой локальный пользователь должен владеть файлами в моем случае uid=1000
.
Так, с той опцией, forceuid
вероятно, не необходимо.
Полезная страница справочника была: http://manpages.ubuntu.com/manpages/xenial/man8/mount.cifs.8.html