Почему UID на сервере и клиенте должны совпадать при использовании cifs?

Я подключаюсь от клиента 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.

0
задан 1 August 2019 в 16:29

3 ответа

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 не должен требоваться.

1
ответ дан 23 October 2019 в 08:17

Почему делают UID на сервере и клиенте должен соответствовать при использовании cifs?

Без понятия. Не должен иметь место все же. Это должно взять имя пользователя на 1 конце и имя пользователя на другом конце, если это - то же. Следите за этим:

uid=arg

устанавливает uid, который будет владеть всеми файлами или каталогами в смонтированной файловой системе, когда сервер не предоставит информацию о владении. Это может быть указано или как имя пользователя или как числовой uid. При отсутствии определения значение по умолчанию является uid 0. mount.cifs помощник должен быть в версии 1.10 или выше поддерживать определение uid в нечисловой форме. Посмотрите раздел по ФАЙЛУ И ВЛАДЕНИЮ КАТАЛОГА И ПОЛНОМОЧИЯМ ниже для получения дополнительной информации.

...

Имя пользователя является тем же на обеих машинах, но имеет другой UID.

Если это - то же, почему бы не использовать имя пользователя? uid принимает и имя и идентификатор пользователя.

Ручной Саис, что я мог бы использовать forceuid на клиенте для принуждения определенного пользователя.

Вы использовали бы user= или uid= с именем пользователя или credentials= с именем файла, которое имеет имя пользователя и пароль прежде forceuid

1
ответ дан 23 October 2019 в 08:17

Моя проблема была, который я использовал 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

1
ответ дан 23 October 2019 в 08:17

Другие вопросы по тегам:

Похожие вопросы: