User Tools

Site Tools


использование_библиотеки_pam

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
использование_библиотеки_pam [2016/09/27 17:34]
val
использование_библиотеки_pam [2023/06/20 07:34] (current)
val [Использование библиотеки PAM]
Line 2: Line 2:
  
   * [[http://​www.freebsd.org/​doc/​ru/​articles/​pam/​index.html|FreeBSD Handbook: Подключаемые Модули Аутентификации (PAM)]]   * [[http://​www.freebsd.org/​doc/​ru/​articles/​pam/​index.html|FreeBSD Handbook: Подключаемые Модули Аутентификации (PAM)]]
-  * [[http://www.ibm.com/developerworks/ru/library/l-pam/index.html|IBM: Основы и настройка ​PAM]]+  * [[https://redos.red-soft.ru/base/manual/admin-manual/safe-redos/pam/|Pluggable Authentication Modules (PAM) - настройки системы ​аутентификации]]
  
 ===== Терминология PAM ===== ===== Терминология PAM =====
Line 56: Line 56:
 ==== Приостановка регистрации пользователей ==== ==== Приостановка регистрации пользователей ====
  
-=== FreeBSD ​=== +=== Debian/​Ubuntu ​===
 <​code>​ <​code>​
-[gate:~# grep nologin /​etc/​pam.d/​sshd+root@gate:~# grep nologin /​etc/​pam.d/​sshd
 </​code><​code>​ </​code><​code>​
-account ​        ​required ​       pam_nologin.so+# Disallow non-root logins when /​etc/​nologin exists. 
 +account ​   required ​    ​pam_nologin.so
 </​code><​code>​ </​code><​code>​
-[gate:~# cat > /var/run/nologin+root@gate:~# cat > /etc/nologin
 </​code><​code>​ </​code><​code>​
 Please do not login now Please do not login now
Line 69: Line 69:
 </​code>​ </​code>​
  
-=== Ubuntu ​===+=== FreeBSD ​=== 
 <​code>​ <​code>​
-root@gate:~# grep nologin /​etc/​pam.d/​sshd+[gate:~# grep nologin /​etc/​pam.d/​sshd
 </​code><​code>​ </​code><​code>​
-# Disallow non-root logins when /​etc/​nologin exists. +account ​        ​required ​       pam_nologin.so
-account ​   required ​    ​pam_nologin.so+
 </​code><​code>​ </​code><​code>​
-root@gate:~# cat > /etc/nologin+[gate:~# cat > /var/run/nologin
 </​code><​code>​ </​code><​code>​
 Please do not login now Please do not login now
 <​Ctrl-D>​ <​Ctrl-D>​
 </​code>​ </​code>​
 +
 ==== Аутентификация сервиса login через pam radius ==== ==== Аутентификация сервиса login через pam radius ====
  
Line 99: 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 119: Line 120:
 ==== Автоматическое создание домашних каталогов ==== ==== Автоматическое создание домашних каталогов ====
  
-  * Уже установлено +=== Debian/Ubuntu ===
- +
-=== Ubuntu ===+
 <​code>​ <​code>​
 root@gate:​~#​ apt install libpam-modules root@gate:​~#​ apt install libpam-modules
  
-root@gate:​~# ​cat /etc/pam.d/sshd+root@gate:​~# ​pam-auth-update --enable mkhomedir 
 + 
 +root@gate:​~#​ less /etc/pam.d/common-session
 </​code><​code>​ </​code><​code>​
 ... ...
Line 145: 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 162: Line 175:
 </​code>​ </​code>​
  
-=== Ubuntu ​ === 
  
-Все само пропишется,​ пароль ДОЛЖЕН совпадать с UNIX паролем 
- 
-<​code>​ 
-root@client1:​~#​ apt install libpam-ssh 
-</​code>​ 
  
 ==== Использование pam_krb5 для сервиса login/xdm ==== ==== Использование pam_krb5 для сервиса login/xdm ====
  
-=== Ubuntu/Debian ===+=== Debian/​Ubuntu ​===
 <​code>​ <​code>​
 root@client1:​~#​ apt install libpam-krb5 root@client1:​~#​ apt install libpam-krb5
Line 199: 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>​
использование_библиотеки_pam.1474986880.txt.gz · Last modified: 2016/09/27 17:34 by val