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
Last revision Both sides next revision
использование_библиотеки_pam [2017/07/24 11:32]
val [Использование pam_ssh для сервиса login]
использование_библиотеки_pam [2023/06/15 14:27]
val [Использование pam_script]
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 118: Line 119:
  
 ==== Автоматическое создание домашних каталогов ==== ==== Автоматическое создание домашних каталогов ====
- 
-  * Уже установлено 
  
 === Debian/​Ubuntu === === Debian/​Ubuntu ===
Line 125: Line 124:
 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>​
  
-=== Debian/​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.txt · Last modified: 2023/06/20 07:34 by val