This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
использование_библиотеки_pam [2021/01/12 08:50] val [Приостановка регистрации пользователей] |
использование_библиотеки_pam [2023/06/15 14:19] val [Использование pam_script] |
||
---|---|---|---|
Line 55: | Line 55: | ||
==== Приостановка регистрации пользователей ==== | ==== Приостановка регистрации пользователей ==== | ||
- | |||
- | === FreeBSD === | ||
=== Debian/Ubuntu === | === Debian/Ubuntu === | ||
Line 70: | Line 68: | ||
<Ctrl-D> | <Ctrl-D> | ||
</code> | </code> | ||
+ | |||
+ | === FreeBSD === | ||
<code> | <code> | ||
Line 100: | Line 100: | ||
</code> | </code> | ||
- | === Ubuntu === | + | === Debian/Ubuntu === |
<code> | <code> | ||
root@gate:~# apt install libpam-radius-auth freeradius-utils | root@gate:~# apt install libpam-radius-auth freeradius-utils | ||
Line 146: | Line 146: | ||
</code> | </code> | ||
==== Использование pam_ssh для сервиса login ==== | ==== Использование pam_ssh для сервиса login ==== | ||
+ | |||
+ | === Debian/Ubuntu === | ||
+ | |||
+ | Все само пропишется, пароль ДОЛЖЕН совпадать с UNIX паролем | ||
+ | |||
+ | <code> | ||
+ | client1:~# apt install libpam-ssh | ||
+ | |||
+ | client1:~# grep -r ssh /etc/pam.* | ||
+ | |||
+ | client1:~# pam-auth-update | ||
+ | </code> | ||
=== FreeBSD === | === FreeBSD === | ||
Line 163: | Line 175: | ||
</code> | </code> | ||
- | === Debian/Ubuntu === | ||
- | Все само пропишется, пароль ДОЛЖЕН совпадать с UNIX паролем | ||
- | |||
- | <code> | ||
- | root@client1:~# apt install libpam-ssh | ||
- | </code> | ||
==== Использование pam_krb5 для сервиса login/xdm ==== | ==== Использование pam_krb5 для сервиса login/xdm ==== | ||
Line 200: | Line 206: | ||
auth sufficient pam_krb5.so no_warn try_first_pass | auth sufficient pam_krb5.so no_warn try_first_pass | ||
... | ... | ||
+ | </code> | ||
+ | |||
+ | ==== Использование pam_script ==== | ||
+ | |||
+ | * [[https://github.com/jeroennijhof/pam_script|jeroennijhof/pam_script]] | ||
+ | * См. рекламный вебинар: [[Зачем вводить системы Linux в домен Microsoft]] | ||
+ | * [[Зачем вводить системы Linux в домен Microsoft#Исправления и альтернативные варианты]] - Можно поручить монтирование домашних каталогов systemd | ||
+ | |||
+ | === Вариант использования для автоматического создания учетных записей после аутентификации через внешний сервис === | ||
+ | <code> | ||
+ | # less /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 | ||
+ | ... | ||
+ | </code><code> | ||
+ | # apt install libpam-script | ||
+ | |||
+ | # cat /etc/pam.d/common-auth | ||
+ | </code><code> | ||
+ | ... | ||
+ | # here are the per-package modules (the "Primary" block) | ||
+ | auth [success=2 default=ignore] pam_krb5.so minimum_uid=1000 | ||
+ | auth [success=2 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 | ||
+ | # and here are more per-package modules (the "Additional" block) | ||
+ | ... | ||
+ | </code><code> | ||
+ | # cat /usr/share/libpam-script/pam_script_auth | ||
+ | </code><code> | ||
+ | #!/bin/bash | ||
+ | |||
+ | id "$PAM_USER" &>/dev/null || useradd -m -s /bin/bash "$PAM_USER" | ||
+ | |||
+ | echo "$PAM_USER:$PAM_AUTHTOK" | /usr/sbin/chpasswd | ||
+ | </code> | ||
+ | |||
+ | === Вариант использования для автоматического монтирования домашнего каталога по протоколу CIFS с GSSAPI/Kerberos аутентификацией === | ||
+ | |||
+ | <code> | ||
+ | # cat /usr/share/libpam-script/pam_script_ses_open | ||
+ | </code><code> | ||
+ | #!/bin/sh | ||
+ | |||
+ | MYUID=`id -u $PAM_USER` | ||
+ | MYGID=`id -g $PAM_USER` | ||
+ | |||
+ | cp /tmp/krb5cc_${MYUID}* /tmp/krb5cc_0 | ||
+ | |||
+ | mount | grep -q /home/$PAM_USER || mount.cifs //gate.corpX.un/$PAM_USER -o rw,user,sec=krb5,vers=3.1.1,uid=$MYUID,gid=$MYGID /home/$PAM_USER/ | ||
+ | |||
+ | ###rm /tmp/krb5cc_0 | ||
</code> | </code> |