Домашние каталоги для доменных пользователей через pam_mount в xrdp

kola_

New member
Сообщения
2
#1
Добрый день!
Столкнулся со следующей проблемой:

Настройка RDS, работы проводились на SE И CE. Приведены настройки для стенда на CE
Установлено:
  • xrdp xorgxrdp
  • astra-ad-sssd-client
  • cifs-utils libpam-mount
И соответствующие зависимости

Сервер введен в домен помощью astra-ad-sssd-client

[sssd]
domains = hq.loc
config_file_version = 2
services = nss, pam, ifp
[ifp]
allowed_uids = 0, 33, 114, 999
[pam]
pam_pwd_expiration_warning = 7

[domain/hq.loc]
ad_gpo_map_interactive = +fly-dm
ad_update_samba_machine_account_password = True
krb5_renew_interval = 600s
krb5_renewable_lifetime = 7d
krb5_ccname_template = FILE:%d/krb5cc_%U
ad_gpo_access_control = disabled
ad_domain = hq.loc
krb5_realm = HQ.LOC
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = False
fallback_homedir = /home/%u/%f
access_provider = ad


До настройки использования автоматического монтирования домашних каталогов при входе доменного пользователя с помощью pam_mount все работает корректно.
После включения монтирования домашний каталог монтируется корректно, права выставляются верно, возможность создавать файлы есть. Но начинаются проблемы с запуском приложений.
Например, для Chromium «не удается открыть профиль, некоторые функции могут быть недоступны»:
rdstest@astraRDS:~$ chromium
/home/rdstest/rdstest@hq.loc/.config/chromium/Default/Preferences
Fontconfig warning: "/etc/fonts/fonts.conf", line 100: unknown element "blank"

(chromium:15064): Gtk-WARNING **: Theme parsing error: gtk.css:3693:13: Not using units is deprecated. Assuming 'px'.
[15064:15127:1116/132958.761620:ERROR:login_database.cc(939)] Unable to commit a transaction.
[15064:15123:1116/132958.762931:ERROR:login_database.cc(939)] Unable to commit a transaction.
[15064:15088:1116/132958.825555:ERROR:top_sites_backend.cc(79)] Failed to initialize database.
[15064:15127:1116/132958.834373:ERROR:login_database_async_helper.cc(54)] Could not create/open login database.
[15064:15123:1116/132958.834919:ERROR:login_database_async_helper.cc(54)] Could not create/open login database.
[15104:15104:1116/132958.883760:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[15171:15171:1116/132959.046335:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[15186:15186:1116/132959.076749:ERROR:gpu_memory_buffer_support_x11.cc(49)] dri3 extension not supported.
[15139:8:1116/132959.079429:ERROR:command_buffer_proxy_impl.cc(128)] ContextResult::kTransientFailure: Failed to send GpuControl.CreateCommandBuffer.
[15064:15088:1116/133001.138000:ERROR:nss_util.cc(239)] Error initializing NSS with a persistent database (sql:/home/rdstest/rdstest@hq.loc/.pki/nssdb): NSS error code: -8025
[15064:15090:1116/133002.263724:ERROR:quota_database.cc(894)] Could not open the quota database, resetting.
[15064:15090:1116/133002.742089:ERROR:quota_database.cc(894)] Could not open the quota database, resetting.
[15064:15090:1116/133002.864103:ERROR:quota_database.cc(896)] Failed to reset the quota database.
[15064:15090:1116/133002.864136:ERROR:quota_database.cc(896)] Failed to reset the quota database.


<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
<!--
See pam_mount.conf(5) for a description.
-->

<pam_mount>

<!-- debug should come before everything else,
since this file is still processed in a single pass
from top-to-bottom -->

<debug enable="0" />

<!-- Volume definitions -->
<cifsmount>mount.cifs //%(SERVER)/%(VOLUME) %(MNTPT) -o %(OPTIONS) </cifsmount>
<!-- pam_mount parameters: General tunables -->
<volume
fstype="cifs"
noroot="0"
server="msdc.hq.loc"
path="profiles"
mountpoint="/home/%(USER)"
options="user=%(USER),cruid=%(USER),sec=krb5i,uid=%(USERUID),gid=%(USERGID),file_mode=0640,dir_mode=0775,vers=3.0,soft,rsize=8192,wsize=8192,mfsymlinks,iocharset=utf8"
/>

<!--
<luserconf name=".pam_mount.conf.xml" />
-->

<!-- Note that commenting out mntoptions will give you the defaults.
You will need to explicitly initialize it with the empty string
to reset the defaults to nothing. -->
<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />
<!--
<mntoptions deny="suid,dev" />
<mntoptions allow="*" />
<mntoptions deny="*" />
-->
<mntoptions require="nosuid,nodev" />

<logout wait="50000" hup="1" term="1" kill="1" />


<!-- pam_mount parameters: Volume-related -->

<mkmountpoint enable="1" remove="true" />


</pam_mount>

auth [success=ignore default=2] pam_localuser.so
auth [success=1 default=ignore] pam_succeed_if.so quiet user ingroup astra-admin
auth [success=ignore default=die] pam_tally.so per_user deny=8
auth [success=2 default=ignore] pam_unix.so nullok_secure try_first_pass
auth [success=1 default=ignore] pam_sss.so use_first_pass
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_mount.so
auth optional pam_ecryptfs.so unwrap

Конфигурация /etc/pam.d/common-session
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session required pam_mkhomedir.so umask=0077 skel=/etc/skel
session required pam_unix.so
session optional pam_sss.so
session optional pam_mount.so
session optional pam_systemd.so
session optional pam_ecryptfs.so unwrap

drwxrwxr-x 2 rdstest пользователи домена 8192 ноя 16 12:50 .
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 08:41 ..
-rw-r----- 1 rdstest пользователи домена 20 ноя 16 12:51 .bash_history
-rw-r----- 1 rdstest пользователи домена 220 ноя 16 08:41 .bash_logout
-rw-r----- 1 rdstest пользователи домена 3526 ноя 16 08:41 .bashrc
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 12:50 .cache
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 11:48 .config
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:05 .dbus
lrwxrwxrwx 1 rdstest пользователи домена 17 ноя 16 12:50 Desktop -> Desktops/Desktop1
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:05 Desktops
-rw-r----- 1 rdstest пользователи домена 107 ноя 16 09:05 .directory
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 12:50 .fly
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:05 .gnupg
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:05 .local
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 12:50 .mozilla
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:06 .pki
-rw-r----- 1 rdstest пользователи домена 675 ноя 16 08:41 .profile
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 12:50 .rcc
lrwxrwxrwx 1 rdstest пользователи домена 21 ноя 16 09:05 SystemWallpapers -> /usr/share/wallpapers
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:05 thinclient_drives
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:39 .thunderbird
-rw-r----- 1 rdstest пользователи домена 61 ноя 16 12:50 .Xauthority
-rw-r----- 1 rdstest пользователи домена 16380 ноя 16 12:51 .xorgxrdp.10.log
-rw-r----- 1 rdstest пользователи домена 22056 ноя 16 12:31 .xorgxrdp.10.log.old
-rw-r----- 1 rdstest пользователи домена 117867 ноя 16 12:50 .xsession-errors
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:05 Видео
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:05 Документы
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:05 Загрузки
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:05 Изображения
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:05 Музыка
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:05 Общедоступные
drwxrwxr-x 2 rdstest пользователи домена 0 ноя 16 09:05 Шаблоны

Догадываюсь, что надо крутить настройки pam_mount и sssd, но не понимаю куда.
 

kola_

New member
Сообщения
2
#2
Проблему решил добавлением опции nobrl для подключения шары в /etc/security/pam_mount.conf.xml:
Код:
options="user=%(USER),cruid=%(USER),sec=krb5i,uid=%(USERUID),gid=%(USERGID),file_mode=0770,dir_mode=0770,soft,mfsymlinks,nobrl"
nobrl
Do not send byte range lock requests to the server.
This is necessary for certain applications that break
with cifs style mandatory byte range locks (and most
cifs servers do not yet support requesting advisory
byte range locks).