This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
зачем_вводить_системы_linux_в_домен_microsoft [2021/03/03 09:49] val [3.5 Монтирование домашнего каталога ручном режиме] |
зачем_вводить_системы_linux_в_домен_microsoft [2022/10/15 21:33] (current) val [3.5 Монтирование домашнего каталога ручном режиме] |
||
|---|---|---|---|
| Line 6: | Line 6: | ||
| ===== Запись вебинара ===== | ===== Запись вебинара ===== | ||
| + | * [[https://youtu.be/S7QOkcznEVY|Зачем вводить системы Linux в домен Microsoft?]] | ||
| ===== Реклама вебинара ===== | ===== Реклама вебинара ===== | ||
| Line 14: | Line 15: | ||
| ===== Техническое задание ===== | ===== Техническое задание ===== | ||
| - | * Сотрудники должны иметь возможность с любой рабочей станции linux работать в личном окружении (файлы, настройки) а так же, с общими с корпоративными файлами. | + | * На предприятии используется Microsoft Active Directory. Сотрудники должны иметь возможность с любой рабочей станции linux работать в личном окружении (рабочий стол, документы, настройки) а так же, с общими с корпоративными файлами совместно с пользователями систем Windows. |
| ===== Шаг 1. Исходное состояние стенда ===== | ===== Шаг 1. Исходное состояние стенда ===== | ||
| Line 79: | Line 80: | ||
| <code> | <code> | ||
| + | user1$ klist | ||
| + | |||
| user1$ cd / | user1$ cd / | ||
| Line 121: | Line 124: | ||
| if ! id $PAM_USER &>/dev/null; then | if ! id $PAM_USER &>/dev/null; then | ||
| useradd -m -s /bin/bash $PAM_USER | useradd -m -s /bin/bash $PAM_USER | ||
| - | sed -i.bak -e "/\/home\/$PAM_USER/d" /etc/fstab | ||
| echo //gate.corp13.un/corp_share /home/$PAM_USER/Public cifs rw,user,sec=krb5,noauto,vers=3.1.1 0 0 >> /etc/fstab | echo //gate.corp13.un/corp_share /home/$PAM_USER/Public cifs rw,user,sec=krb5,noauto,vers=3.1.1 0 0 >> /etc/fstab | ||
| fi | fi | ||
| Line 130: | Line 132: | ||
| ===== Шаг 4. Клонируем конфигурацию рабочей станции ===== | ===== Шаг 4. Клонируем конфигурацию рабочей станции ===== | ||
| - | * [[Сервис Ansible]] | + | * Задание - использовать [[Сервис Ansible]] |
| <code> | <code> | ||
| Line 150: | Line 152: | ||
| gate# scp -3 $client1:/usr/share/libpam-script/pam_script_ses_open $clientN:/usr/share/libpam-script/ | gate# scp -3 $client1:/usr/share/libpam-script/pam_script_ses_open $clientN:/usr/share/libpam-script/ | ||
| + | </code> | ||
| + | |||
| + | ===== Исправления и альтернативные варианты ===== | ||
| + | |||
| + | ==== 0. Wrong path for pam_script.so ==== | ||
| + | |||
| + | * [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=983183|Debian Bug report logs - #983183 libpam-script: Wrong path for pam_script.so]] | ||
| + | |||
| + | ==== 1. Создание несуществующих в AD учетных записей ==== | ||
| + | |||
| + | * [[Использование библиотеки PAM]] | ||
| + | |||
| + | В вебинаре создание учетной записи происходит до проверки ее подлинности, поэтому лучше расположить модули так: | ||
| + | |||
| + | <code> | ||
| + | # cat /etc/pam.d/common-auth | ||
| + | </code><code> | ||
| + | ... | ||
| + | auth [success=2 default=ignore] pam_krb5.so minimum_uid=1000 | ||
| + | auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass | ||
| + | auth requisite pam_deny.so | ||
| + | auth sufficient pam_script.so | ||
| + | auth required pam_permit.so | ||
| + | ... | ||
| + | </code> | ||
| + | |||
| + | ==== 2. Через 10 часов сессия монтирования домашнего каталога устаревает ==== | ||
| + | |||
| + | Вариант решения - не удалять в скрипте /tmp/krb5cc_0 и обновлять TGT через cron | ||
| + | |||
| + | <code> | ||
| + | client1:~# crontab -l | ||
| + | </code><code> | ||
| + | 0 */8 * * * kinit -R >/dev/null 2>&1 | ||
| + | </code> | ||
| + | |||
| + | Усиливается проблема (уже была) параллельного подключения нескольких пользователей к рабочей станции | ||
| + | |||
| + | ==== 3. Желательно удалять возможные записи для пользователя в /etc/fstab перед его созданием в скрипте ==== | ||
| + | |||
| + | Особенно, если для отладки пользователи постоянно создаются/удаляются | ||
| + | |||
| + | <code> | ||
| + | ... | ||
| + | sed -i.bak -e "/\/home\/$PAM_USER/d" /etc/fstab | ||
| + | ... | ||
| + | </code> | ||
| + | |||
| + | ==== 4. Можно поручить монтирование домашних каталогов systemd ==== | ||
| + | |||
| + | <code> | ||
| + | # cat /usr/share/libpam-script/pam_script_auth | ||
| + | </code><code> | ||
| + | #!/bin/bash | ||
| + | |||
| + | if ! id $PAM_USER &>/dev/null; then | ||
| + | useradd -m -s /bin/bash $PAM_USER | ||
| + | |||
| + | sed -i.bak -e "/\/home\/$PAM_USER/d" /etc/fstab | ||
| + | echo //gate.corp13.un/$PAM_USER /home/$PAM_USER cifs rw,user,sec=krb5,noauto,vers=3.1.1,uid=`id -u $PAM_USER`,gid=`id -g $PAM_USER` 0 0 >> /etc/fstab | ||
| + | echo //gate.corp13.un/corp_share /home/$PAM_USER/Public cifs rw,user,sec=krb5,noauto,vers=3.1.1 0 0 >> /etc/fstab | ||
| + | |||
| + | systemctl daemon-reload | ||
| + | fi | ||
| + | </code><code> | ||
| + | # cat /usr/share/libpam-script/pam_script_ses_open | ||
| + | </code><code> | ||
| + | #!/bin/sh | ||
| + | |||
| + | cp /tmp/krb5cc_`id -u $PAM_USER`* /tmp/krb5cc_0 | ||
| </code> | </code> | ||