Bug 32515

Summary: Невозможность входа локального пользователя с именем, идентичным доменному
Product: Альт Рабочая станция Reporter: Pavel Isopenko <master>
Component: Ошибки работыAssignee: Michael Shigorin <mike>
Status: NEW --- QA Contact: qa-p8 <qa-p8>
Severity: minor    
Priority: P3 CC: boyarsh, cas, ldv, sin
Version: 8.0   
Hardware: all   
OS: Linux   

Description Pavel Isopenko 2016-09-20 15:56:27 MSK
Если, случайно, в ALT-домене обнаружится пользователь с именем, идентичным локальному, после подключения к домену такой пользователь не сможет войти в систему. У пользователя из домена попросту не хватит прав на уже существующий локальный профиль со всей положенной руганью. В Кентаврах такой проблемы не возникало похоже по причине того, что имя сначала примеривалось к локальному профилю.
Да, важность проблемы невелика, достаточно соблюдать уникальность имен в пространстве системы. Даже как бы и не баг вовсе, можно сказать особенность, но мало ли что.
Обнаружено при пробе на подключение к домену Кентавра p7.
Comment 1 Michael Shigorin 2016-09-21 11:06:18 MSK
Это явно на какой-то другой компонент, т.к. недистрибутивоспецифично;
но всяко спасибо.
Comment 2 Pavel Isopenko 2016-09-21 15:52:43 MSK
Представляется мне, что отвечает за происходящее
# rpm -qf system-auth-krb5_ccreds 
pam-config-1.7.0-alt1
С одной стороны, можно бы перевесить на него. А с другой стороны, влияет в основном на связку Альт Сервер - Альт Рабочая станция в режиме аутентификации через домен.
Comment 3 Evgeny Sinelnikov 2017-02-24 14:50:48 MSK
Отображение ("маппинг") глобальных пользователей на локальные - это настройки клиента - NSS (для авторизации) и PAM (для аутентификации). Пакет pam-config содержит шаблоны настроек для аутентификации и за авторизацию (назначение uid/gid/homedir/gecos и т.п.), вообще, не отвечает.

Надо бы зафиксировать ожидаемое поведение. Мне кажется ожидаемым следующее поведение (и это надо бы задокументировать):
- если имена локального и глобального пользователя в связке NSS (по списку модулей для passwd, group и shadow в файле /etc/nsswitch.conf) совпадают, то выбирается локальный пользователь.
- домашние каталоги локального и глобального пользователя на должны совпадать на уровне настроек NSS-модулей (по умолчанию, /home/USERNAME для локальных пользователей, /home/DOMAIN/USERNAME - для глобальных).

Дополнительно, нужно определиться с отображением аутентификационных имён пользователей (или принципалов, в случае с Kerberos) на авторизационные данные. Если используется домен по умолчанию, то коллизий избежать довольно сложно, поскольку локальный vasya = vasya@example.com. Как их отличать-то?

На самом деле, механизм проверяющий, что если vasya локальный имеется и у него задан профиль /home/vasya, то для глобального пользователя применить замену каталога с профилем на /home/vasya.example.com, или /home/example.com/vasya, или /home/EXAMPLE/vasya в Linux, по умолчанию, отсутствует. А в на Windows клиентах имеется.