Странное сопоставление имени пользователя Samba

Странное сопоставление имени пользователя Samba

У меня очень странная проблема с Samba и картой имени пользователя. Файл сопоставления такой:

username map = /etc/samba/users.map

Содержимое /etc/samba/users.map:

master = johndoe user2 user3
regular = johndoe user5 user6
restricted = johndoe user8 user9

Проблема в том, что Samba всегда сопоставляется johndoeс последним локальным пользователем, указанным в /etc/samba/users.mapфайле. В примере выше johndoeвсегда будет сопоставлено с restricted, поэтому если у меня есть общий ресурс, который разрешает только , masterи другой общий ресурс, который разрешает только restricted, я не смогу получить доступ к обоим, хотя johndoeуказан в обеих записях.

Это нормальное поведение или нет?

решение1

Правильно. Это задумано. Отдокументация:

Файл карты анализируется построчно. Каждая строка должна содержать одно имя пользователя UNIX слева, затем '=', за которым следует список имен пользователей справа. Список имен пользователей справа может содержать имена в форме @group, в этом случае они будут соответствовать любому имени пользователя UNIX в этой группе. Специальное имя клиента '*' является подстановочным знаком и соответствует любому имени. Каждая строка файла карты может содержать до 1023 символов.

Файл обрабатывается на каждой строке, беря предоставленное имя пользователя и сравнивая его с каждым именем пользователя справа от знаков '='. Если предоставленное имя совпадает с любым из имен справа, то оно заменяется на имя слева. Затем обработка продолжается со следующей строки.

В результате, если одна и та же учетная запись пользователя будет отображаться в нескольких строках, она будет включена не в каждую карту, а только в последнюю определенную карту.

Если цель — получить «суперпользователя», то вам, возможно, стоит обратить внимание насписки, специфичные для акцийили сопоставление учетной записигруппыа не пользователи.

Связанный контент