Bug 45125 - PAM_mount
Summary: PAM_mount
Status: CLOSED WORKSFORME
Alias: None
Product: Branch p10
Classification: Unclassified
Component: pam_mount (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 critical
Assignee: qa-team@altlinux.org
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-02-04 16:15 MSK by kessys
Modified: 2023-03-02 16:10 MSK (History)
1 user (show)

See Also:


Attachments
Содержимое архива на клиенте (57.58 KB, image/png)
2023-02-21 17:28 MSK, Evgeny Shesteperov
no flags Details
Содержимое архива на сервере (50.53 KB, image/png)
2023-02-21 17:29 MSK, Evgeny Shesteperov
no flags Details
pam1 (346.75 KB, image/jpeg)
2023-02-21 18:17 MSK, kessys
no flags Details
pam2 (180.04 KB, image/jpeg)
2023-02-21 18:18 MSK, kessys
no flags Details
Архив для воспроизведения ошибки (43.01 KB, application/x-zip-compressed)
2023-02-22 12:57 MSK, kessys
no flags Details
как_исчезает_архив_Том1 (4.00 MB, application/zip)
2023-02-28 18:13 MSK, kessys
no flags Details
как_исчезает_архив_Том2 (1.84 MB, application/octet-stream)
2023-02-28 18:13 MSK, kessys
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description kessys 2023-02-04 16:15:50 MSK
Тут есть 2 способа подключения к сети: smb & pam_mount
и есть между ними такая разница на примере архива:
Что в smb открываем архив из него все удаляем добавляем - итог архив не изменился и не обновился
Что в pam_mount тоже открываем архив из него все удаляем, он думает чутка и пытаясь добавить дальше файлы он пишет:
Либо архив испорчен, либо у вас недостаточно прав к нему.
Закрываешь Ark и всё плакал архив нет нигде.
 
Беда с pam_mount, имеет  влияние  на офисные файлы
Настройка pam_mount согласно странице:
https://www.altlinux.org/index.php?search=pam_mount&title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F%3A%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&wprov=acrw1

Исключение:
1. не передано на откуп systemd
2. (mountpoint="~/share" — путь монтирования в домашней папке пользователя.)
используется отдельная папка в корне /svoy
3. В строке используется значение SMB 3.0
Comment 1 Evgeny Shesteperov 2023-02-09 16:24:40 MSK
Добрый день!

Пожалуйста, дополнительно предоставьте следующую информацию:

1. Операционная система, версия, на которой воспроизвелась ошибка (сервера и клиента).
2. Выводы следующих команд (сервера и клиента):

        $ uname -a
        $ cat /etc/os-release
        $ apt-repo

3. Конфигурация Samba, как подключена share на клиенте.
4. Я правильно понимаю, что вы пытаетесь изменить содержимое архива, который находится на share? Не могли бы Вы подробнее описать шаги воспроизведения данной ошибки с использованием названий программ (например, Caja + Enrgrampa), которые Вы используйте?
Comment 2 kessys 2023-02-09 18:04:43 MSK
(Ответ для Evgeny Shesteperov на комментарий #1)
> Добрый день!
> 
> Пожалуйста, дополнительно предоставьте следующую информацию:
> 
> 1. Операционная система, версия, на которой воспроизвелась ошибка (сервера и
> клиента).
> 2. Выводы следующих команд (сервера и клиента):
> 
>         $ uname -a
>         $ cat /etc/os-release
>         $ apt-repo
> 
> 3. Конфигурация Samba, как подключена share на клиенте.
> 4. Я правильно понимаю, что вы пытаетесь изменить содержимое архива, который
> находится на share? Не могли бы Вы подробнее описать шаги воспроизведения
> данной ошибки с использованием названий программ (например, Caja +
> Enrgrampa), которые Вы используйте?

[root@ASB09 ~]# uname -a
Linux ASB09 5.15.72-un-def-alt1 #1 SMP PREEMPT Mon Oct 10 16:11:20 UTC 2022 x86_64 GNU/Linux
[root@ASB09 ~]# cat /etc/os-release
NAME="ALT"
VERSION="10.1"
ID=altlinux
VERSION_ID=10.1
PRETTY_NAME="ALT Workstation K 10.1  (Sorbaronia Mitschurinii)"
ANSI_COLOR="1;33"
CPE_NAME="cpe:/o:alt:kworkstation:10.1"
BUILD_ID="ALT 10.1"
HOME_URL="https://www.basealt.ru/"
BUG_REPORT_URL="https://bugs.altlinux.org/"
DOCUMENTATION_URL="https://docs.altlinux.org/"
SUPPORT_URL="https://support.basealt.ru/"
[root@ASB09 ~]# apt-repo
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64 classic gostcrypto
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/x86_64-i586 classic
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux p10/branch/noarch classic


1. клиент ALT Workstation K 10.1  
сервер: Windows Server 2012, nas synology 
2. выше
3. 
<volume uid="10000-2000200000" fstype="cifs" server="сервер" path="путь" mountpoint="lan/cons" options="sec=krb5,vers=3.0,cruid=%(USERUID),nounix,uid=%(USERUID),gid=%(USERGID),file_mode=0664,dir_mode=0775"/>
4. У нас в дистрибутиве используется ARK, 
Как происходит - берём абсолютно любой архив с данными, закидываем его на сетевой диск, и затем открываем Ark и удаляем все содержимое из него.
Все нет больше архива.

На компьютере архив остаётся на месте после удаления из него содержимого.
Comment 3 Evgeny Shesteperov 2023-02-21 17:26:40 MSK
Проверялось в P10, не воспроизвелось.

Стенд
=====

- Server: Windows Server 2012R2.
- Client: KWorkstation 10.1, обновленный до P10.

Шаги
====

1. Развернуть Windows AD на Windows Server 2012R2:

    AD Controller Hostname: addc.windowsad.testdomain
    Domain: windowsad.testdomain
    Administrator Domain User: Admin
    Common Domain User: testuser

2. Ввести машину KWorkstation 10.1 в домен:

    # apt-get install -y task-auth-ad-sssd
    # DOMAINNAME="windowsad.testdomain"
    # SERVERIP=<IP сервера Windows AD>
    # hostnamectl set-hostname testcli
    # echo -e "name_servers=$SERVERIP\nsearch_domains=$DOMAINNAME" >> /etc/resolvconf.conf
    # reboot
    # DOMAINNAME="windowsad.testdomain"
    # DOMAINNAME="${DOMAINNAME^^}"
    # WORKGROUP=$(echo "${DOMAINNAME}" | cut -d "." -f 1)
    # system-auth write ad "${DOMAINNAME}" "$(hostname --short)" "${WORKGROUP}" Admin '<Пароль администратора домена>'
    # reboot

3. На клиенте, создать файл /etc/security/pam_mount.conf.xml со следующим содержимым:

    # cat > /etc/security/pam_mount.conf.xml << EOF
    <?xml version="1.0" encoding="utf-8" ?>
    <!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
    <pam_mount>
    <debug enable="0" />
    <volume uid="10000-2000200000" fstype="cifs" server="addc" path="share" mountpoint="/share"
    options="sec=krb5,vers=3.0,cruid=%(USERUID),nounix,uid=%(USERUID),gid=%(USERGID),file_mode=0664,dir_mode=0775" />
    <luserconf name=".pam_mount.conf.xml" />
    <mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other,sec" />
    <mntoptions require="nosuid,nodev" />
    <logout wait="0" hup="no" term="no" kill="no" />
    <mkmountpoint enable="1" remove="true" />
    </pam_mount>
    EOF
 
3. В файл /etc/pam.d/system-auth-sss добавить строки (перед substack system-auth-sss-only):
 
auth optional pam_mount.so
session optional pam_mount.so

в секции auth и session соответственно. В этих секциях также заменить success=4 на success=5. Для этого выполнить команду:
 
    # sed -i -e 's|auth.*.substack.*.system-auth-sss-only|auth optional pam_mount.so\nauth substack system-auth-sss-only|g' -e 's|session.*.substack.*.system-auth-sss-only|session optional pam_mount.so\nsession substack system-auth-sss-only|g' -e '/auth/s/success=4/success=5/' -e '/session/s/success=4/success=5/' /etc/pam.d/system-auth-sss
 
3. Перезагрузить систему:

    # reboot
 
4. Авторизоваться доменным пользователем.

5. Создать файл hi.txt с содержимым:

    hi

6. Создать два архива через программу ARK (kde5-ark-22.08.3-alt1.x86_64) в формате 7z, zip (так как это популярные форматы архивов) и добавить в них файл hi.txt.

7. Добавить их в папку /share (то есть сетевая папка C:\share)

8. Удалить в архивах файл hi.txt с помощью ARK. 

Фактический результат: архивы не исчезают, отображаются и на клиенте (см. client.png), и на сервере (см. server.png).

Дополнительно: проверено и с обычным доменным пользователем, и с администратором.
Comment 4 Evgeny Shesteperov 2023-02-21 17:28:38 MSK
Created attachment 12582 [details]
Содержимое архива на клиенте
Comment 5 Evgeny Shesteperov 2023-02-21 17:29:05 MSK
Created attachment 12583 [details]
Содержимое архива на сервере
Comment 6 kessys 2023-02-21 18:08:55 MSK
3. В файл /etc/pam.d/system-auth-sss добавить строки (перед substack system-auth-sss-only):
 
auth optional pam_mount.so
session optional pam_mount.so

в секции auth и session соответственно. В этих секциях также заменить success=4 на success=5. Для этого выполнить команду:
 
    # sed -i -e 's|auth.*.substack.*.system-auth-sss-only|auth optional pam_mount.so\nauth substack system-auth-sss-only|g' -e 's|session.*.substack.*.system-auth-sss-only|session optional pam_mount.so\nsession substack system-auth-sss-only|g' -e '/auth/s/success=4/success=5/' -e '/session/s/success=4/success=5/' /etc/pam.d/system-auth-sss

1. Откуда эту фигню взяли???
https://www.altlinux.org/index.php?search=pam_mount&title=Служебная%3AПоиск&wprov=acrw1
По этой ссылке такого нет.
2. Второе я работал с этой фигнёй в ней вылезает геморой, точнее при входе уз на клиенте Он Использует не те пароли и не может войти, очень большое кол-во обращений на проблему с паролем.
Также не грузится полноценно анидеск не может соединиться со своим сервером.\
3. создать файл /etc/security/pam_mount.conf.xml - не создаём он уже присутствует.

4. <mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other,sec" />
а вот эта строка отсутствует. Тут поподробнее можно пояснить.

5. apt-get install -y task-auth-ad-sssd Вместо этого при установки системы ставится галочка Активный каталог AD 
- Активный каталог (AD) +
libwbclient
task-auth-ad-sssd
kde5-autofs-shares
krb5-ticket-watcher
task-auth-ldap-sssd
alterator-gpupdate
gpui
admc
admx-basealt

Без неё не работает вход по ssh
Comment 7 kessys 2023-02-21 18:17:57 MSK
Created attachment 12586 [details]
pam1
Comment 8 kessys 2023-02-21 18:18:13 MSK
Created attachment 12587 [details]
pam2
Comment 9 kessys 2023-02-21 18:18:56 MSK
Также прикрепил корректный список пакетов установленных в synaptic
Comment 10 kessys 2023-02-21 18:22:23 MSK
Я очень признателен за отклик, только не могу как так могли ошибиться.
Comment 11 Evgeny Shesteperov 2023-02-21 18:42:13 MSK
(Ответ для kessys на комментарий #6)
> 1. Откуда эту фигню взяли???

https://wiki.archlinux.org/title/pam_mount#Login_manager_configuration, и да, эта ссылка отсюда https://www.altlinux.org/Pam_mount  

Итоговую конфигурацию Вы не указывали, только:

> volume uid="10000-2000200000" fstype="cifs" server="сервер" path="путь" mountpoint="lan/cons" options="sec=krb5,vers=3.0,cruid=%(USERUID),nounix,uid=%(USERUID),gid=%(USERGID),file_mode=0664,dir_mode=0775"/>
> не передано на откуп systemd
> (mountpoint="~/share" — путь монтирования в домашней папке пользователя.)
используется отдельная папка в корне /svoy
> В строке используется значение SMB 3.0

Как видите, эти условия соблюдены.

> 2. Второе я работал с этой фигнёй в ней вылезает геморой, точнее при входе
> уз на клиенте Он Использует не те пароли и не может войти, очень большое
> кол-во обращений на проблему с паролем.
> Также не грузится полноценно анидеск не может соединиться со своим сервером.\

Anydesk - к Anydesk. Давайте не путать себя и других. В ошибке указана другая информация и относится она исключительно к samba + kde5-ark.

> 3. создать файл /etc/security/pam_mount.conf.xml - не создаём он уже
> присутствует.

Учитывая, что мы создаём его заново, то формулировка верная.

> 4. <mntoptions
> allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other,
> sec" />
> а вот эта строка отсутствует. Тут поподробнее можно пояснить.

Присутствует, смотрите внимательнее: https://www.altlinux.org/Pam_mount, шаг 3.

> 5. apt-get install -y task-auth-ad-sssd Вместо этого при установки системы
> ставится галочка Активный каталог AD 
> - Активный каталог (AD) +
> libwbclient
> task-auth-ad-sssd
> kde5-autofs-shares
> krb5-ticket-watcher
> task-auth-ldap-sssd
> alterator-gpupdate
> gpui
> admc
> admx-basealt
> 
> Без неё не работает вход по ssh

Данный момент заводите как отдельную ошибку с указанием дистрибутива и ПРОФИЛЯ. В описании не было сказано, как установлен дистрибутив, с каким профилем, поэтому подразумевается, что система установлена с профилем по умолчанию.

Итог: Вы можете переоткрыть ошибку, но с верным указанием шагов, конфигураций и так далее. Любые приватные данные Вы можете обозначить как XXXXXX, если это необходимо.

Надеюсь, это поможет.
Comment 12 kessys 2023-02-21 19:14:37 MSK
1. Конфигурация pam_mount была указана в "Описании", на неё дана ссылка.
Там не используется 
auth optional pam_mount.so
session optional pam_mount.so
в секции auth и session соответственно. В этих секциях также заменить success=4 на success=5. Для этого выполнить команду:
2. Не переводите стрелки "Anydesk - к Anydesk. Давайте не путать себя и других. В ошибке указана другая информация и относится она исключительно к samba + kde5-ark".
Взято в качестве образца актуальной проблемы при использовании 
auth optional pam_mount.so
session optional pam_mount.so
в секции auth и session соответственно. В этих секциях также заменить success=4 на success=5. Для этого выполнить команду:

Исправлена проблема согласно инструкции pam_mount в описании. Проблема искоренилась.
4. Строку обнаружил.

Итог: Проблему считать незавершённой обновить настройки протокола pam_mount согласно ссылке из описания
https://www.altlinux.org/Pam_mount
Поскольку данные настройки: 
auth optional pam_mount.so
session optional pam_mount.so
в секции auth и session соответственно. В этих секциях также заменить success=4 на success=5. Для этого выполнить команду:
Являются недействительными и противоречат работе доменного пользователя.
Comment 13 Evgeny Shesteperov 2023-02-21 19:55:06 MSK
(Ответ для kessys на комментарий #12)
> Проблема искоренилась.
> Проблему считать незавершённой обновить настройки протокола pam_mount
> согласно ссылке из описания
> https://www.altlinux.org/Pam_mount

Так что, в итоге, это решило Вашу проблему с pam_mount?
Comment 14 kessys 2023-02-21 21:10:23 MSK
(Ответ для Evgeny Shesteperov на комментарий #13)
> (Ответ для kessys на комментарий #12)
> > Проблема искоренилась.
> > Проблему считать незавершённой обновить настройки протокола pam_mount
> > согласно ссылке из описания
> > https://www.altlinux.org/Pam_mount
> 
> Так что, в итоге, это решило Вашу проблему с pam_mount?

Нет, проблема основана на новой настройке.
Все действия рекомендации для вас как найти ошибки
Я не ожидал что вы найдёте какую-то старую настройку и будете её тестировать и тратить время.

Также ещё простой способ протестировать проблему новой настройки.
В LO включить Резервное копирование и при редактировании на сети файла, LO выдаст ошибку.
Comment 15 Evgeny Shesteperov 2023-02-21 21:27:22 MSK
(Ответ для kessys на комментарий #14)
> Нет, проблема основана на новой настройке.

Хорошо, давайте с новыми условиями, максимально согласно https://www.altlinux.org/Pam_mount

После ввода в домен клиент на KWorkstation 10.1 выполнил следующее:

1. Прописал pam_mount в схему аутентификации по умолчанию. В конец файла (/etc/pam.d/system-auth) добавил строки:

        # echo "session         [success=1 default=ignore] pam_succeed_if.so  service = systemd-user quiet" >> /etc/pam.d/system-auth
        # echo "session         optional        pam_mount.so disable_interactive" >> /etc/pam.d/system-auth

2. Добавил volume definition в конфиг по умолчанию:

        # sed -i 's|<!-- Volume definitions -->|<volume uid="10000-2000200000" fstype="cifs" server="addc" path="share" mountpoint="/share" options="sec=krb5,vers=3.0,cruid=%(USERUID),nounix,uid=%(USERUID),gid=%(USERGID),file_mode=0664,dir_mode=0775" />|g' /etc/security/pam_mount.conf.xml

То есть да, добавлен только

        <volume uid="10000-2000200000" fstype="cifs" server="addc" path="share" mountpoint="/share" options="sec=krb5,vers=3.0,cruid=%(USERUID),nounix,uid=%(USERUID),gid=%(USERGID),file_mode=0664,dir_mode=0775" />

Остальное по умолчанию, что предоставляет пакет pam_mount-2.18-alt1.x86_64

3. Залогинился доменным пользователем.
4. Создал архив, как в описании комментарий #3
5. Удалил файл из архива, то есть архив пустой.

Результат: ошибка как в описании не воспроизводится, архивы не исчезают.

> Также ещё простой способ протестировать проблему новой настройки.
> В LO включить Резервное копирование и при редактировании на сети файла, LO
> выдаст ошибку.

Опишите подробнее, пожалуйста.
Comment 16 kessys 2023-02-21 21:41:57 MSK
(Ответ для Evgeny Shesteperov на комментарий #15)
> (Ответ для kessys на комментарий #14)

> 
> > Также ещё простой способ протестировать проблему новой настройки.
> > В LO включить Резервное копирование и при редактировании на сети файла, LO
> > выдаст ошибку.
> 
> Опишите подробнее, пожалуйста.

Сервис-Параметры-Загрузка.сохранение - Всегда создавать резервную копию

Уточняю вернули ли настройки:
auth optional pam_mount.so
session optional pam_mount.so
от этих опций?.

У нас тоже Windows Server 2012R2: где размещена AD
Comment 17 kessys 2023-02-21 21:47:57 MSK
К папке share применены ли параметры безопасности/общего доступа на
группу? пользователя? пользователи домена?
Comment 18 Evgeny Shesteperov 2023-02-22 10:26:08 MSK
(Ответ для kessys на комментарий #16)
> (Ответ для Evgeny Shesteperov на комментарий #15) 
> > > Также ещё простой способ протестировать проблему новой настройки.
> > > В LO включить Резервное копирование и при редактировании на сети файла, LO
> > > выдаст ошибку.
> > 
> > Опишите подробнее, пожалуйста.
> 
> Сервис-Параметры-Загрузка.сохранение - Всегда создавать резервную копию

Подтверждаю наличие проблемы, баг заведу чуть позже.

> Уточняю вернули ли настройки:
> auth optional pam_mount.so
> session optional pam_mount.so
> от этих опций?.

Да, это чистая машина без дополнительных настроек, кроме обновления до текущего репозитория и установки task-auth-ad-sssd для ввода в домен.

> У нас тоже Windows Server 2012R2: где размещена AD

Использована система виртуализации Proxmox Virtual Environment.

(Ответ для kessys на комментарий #17)
> К папке share применены ли параметры безопасности/общего доступа на
> группу? пользователя? пользователи домена?

Доменный пользователь testuser — Полный доступ.
Администратор домена Admin — Полный доступ.
Comment 19 kessys 2023-02-22 11:26:39 MSK
С архивом проблема подтвердилась ли? не понял
Comment 20 Evgeny Shesteperov 2023-02-22 11:27:17 MSK
(Ответ для kessys на комментарий #19)
> С архивом проблема подтвердилась ли? не понял

Нет, только с LO.
Comment 21 kessys 2023-02-22 12:57:57 MSK
Created attachment 12601 [details]
Архив для воспроизведения ошибки

Допустим тогда давайте архив пришедший из вне
Comment 22 kessys 2023-02-22 16:12:56 MSK
> Результат: ошибка как в описании не воспроизводится, архивы не исчезают.

Подтверждаю, на продукты собственного производства проблемы нет, а вот на продукты чужих производств проблема с архивом наблюдается.
Comment 23 Evgeny Shesteperov 2023-02-27 12:59:57 MSK
(Ответ для kessys на комментарий #21)
> Допустим тогда давайте архив пришедший из вне

Ошибка не воспроизвелась согласно описанию, однако воспроизвелось другое, смотри ниже.

В ходе обсуждения данной баги заведены ошибки:

- https://bugzilla.altlinux.org/45394 - kde5-ark: не удаляет файлы в предложенном ZIP-архиве
- https://bugzilla.altlinux.org/45398 - LibreOffice-still: выдаёт ошибку при сохранении файла на share pam_mount для Windows Server 2012R2 при использовании опции Всегда создавать резервную копию

Данную ошибку считаю, что можно закрыть, так как по описанию (исчезание архивов для PAM_MOUNT share) не воспроизводится.
Comment 24 kessys 2023-02-27 17:06:35 MSK
> Данную ошибку считаю, что можно закрыть, так как по описанию (исчезание
> архивов для PAM_MOUNT share) не воспроизводится.

Я попробую сделать ближе к вашей конфигурации на тестировании, но закрывать пожалуйста ещё не надо.
Так как подобная ситуация описывает работу поведения когда офисные файлы исчезают и их просто нет по итогу и тут как раз работа с 2 пользователями.
И это очень критично!
Я не написал про проблему офисных файлов, так как надо объяснить суть механизма.
Это только смог через архив.

Также прошу уточнить пробовали ли архив чужой взять и из него удалить?
Comment 25 Evgeny Shesteperov 2023-02-27 17:09:17 MSK
(Ответ для kessys на комментарий #24)
> Также прошу уточнить пробовали ли архив чужой взять и из него удалить?

Да, и вот результат #45394

В закрепе описания баги Ваш архив из комментарий #21
Comment 26 kessys 2023-02-27 20:09:21 MSK
(Ответ для Evgeny Shesteperov на комментарий #25)
> (Ответ для kessys на комментарий #24)
> > Также прошу уточнить пробовали ли архив чужой взять и из него удалить?
> 
> Да, и вот результат #45394
> 
> В закрепе описания баги Ваш архив из комментарий #21

Это ошибка касательно домашней директории у вас.
Мы же ошибку должны воспроизводить в pam_mount,
Да сниму видео
Comment 27 kessys 2023-02-28 18:13:28 MSK
Created attachment 12641 [details]
как_исчезает_архив_Том1

Вложение видео в архиве разделено на 2 Тома
Comment 28 kessys 2023-02-28 18:13:45 MSK
Created attachment 12642 [details]
как_исчезает_архив_Том2
Comment 29 kessys 2023-03-02 16:10:06 MSK
Я так понимаю что проблема от того что он монтирует диски под root правами, а выдаёт да под пользователем.
Может попробовать - это
не передано на откуп systemd
Только я вот так и не понимаю куда это вписать