J'ai utilisé l' pam-auth-update
outil afin d'activer certains profils de configuration de pam:
PAM configuration
PAM profiles to enable:
[*] encfs encrypted home directories
[*] Unix authentication
[*] Mount volumes for user
[*] GNOME Keyring Daemon - Login keyring management
[*] ConsoleKit Session Management
Toutes les fonctionnalités fonctionnent comme prévu, mais il y a une chose - l' Mount volumes for user
option semble affecter la su
commande.
J'ai ajouté la ligne suivante au /etc/security/pam_mount.conf.xml
fichier:
<volume user="morfik" fstype="fuse" path="encfs#/media/Server/Dropbox.encfs/Dropbox/encrypted" mountpoint="/media/Server/Dropbox" />
et quand je tape dans un terminal su morfik
(en tant que root), il ne devrait pas y avoir d'invite de mot de passe, mais à la place je vois ceci:
# su morfik
reenter password for pam_mount:
Si j'ai décoché l' Mount volumes for user
option dans le menu ci-dessus, tout semble être un fichier et reenter password
disparaît. J'ai essayé de jouer avec des /etc/pam.d/
fichiers, mais je n'ai aucune expérience avec PAM et je n'ai pas pu le faire fonctionner.
Quelqu'un sait-il ce qui doit être changé dans ces fichiers?
MISE À JOUR # 1
Voici le contenu du /etc/pam.d
répertoire:
# ls -al /etc/pam.d/
total 104K
drwxr-xr-x 2 root root 4.0K Mar 21 16:21 ./
drwxr-xr-x 153 root root 12K Mar 21 16:11 ../
-rw-r--r-- 1 root root 197 Sep 8 2013 atd
-rw-r--r-- 1 root root 384 May 25 2012 chfn
-rw-r--r-- 1 root root 92 May 25 2012 chpasswd
-rw-r--r-- 1 root root 581 May 25 2012 chsh
-rw-r--r-- 1 root root 1.2K Mar 20 17:35 common-account
-rw-r--r-- 1 root root 1.3K Mar 20 17:35 common-auth
-rw-r--r-- 1 root root 1.5K Mar 20 17:35 common-password
-rw-r--r-- 1 root root 1.3K Mar 20 17:35 common-session
-rw-r--r-- 1 root root 1.2K Mar 20 17:35 common-session-noninteractive
-rw-r--r-- 1 root root 527 Jul 3 2012 cron
-rw-r--r-- 1 root root 69 Jul 16 2013 cups-daemon
-rw-r--r-- 1 root root 4.8K Mar 5 10:18 login
-rw-r--r-- 1 root root 92 May 25 2012 newusers
-rw-r--r-- 1 root root 520 Jul 22 2008 other
-rw-r--r-- 1 root root 147 Feb 13 07:15 passwd
-rw-r--r-- 1 root root 255 Oct 15 18:40 polkit-1
-rw-r--r-- 1 root root 84 Dec 27 12:40 samba
-rw-r--r-- 1 root root 2.1K Feb 15 03:11 sshd
-rw-r--r-- 1 root root 2.3K May 25 2012 su
-rw-r--r-- 1 root root 95 Jan 15 22:58 sudo
-rw-r--r-- 1 root root 108 Oct 19 23:42 xscreensaver
Il n'y a pas de fichier /etc/pam.d/system-auth
.
J'ai vérifié quels fichiers ont pam_mount
dans leur contenu, et j'ai obtenu ceci:
# egrep -i pam_mount *
common-auth:auth optional pam_mount.so
common-session:session optional pam_mount.so
Le contenu des fichiers:
#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules. See
# pam-auth-update(8) for details.
# here are the per-package modules (the "Primary" block)
auth sufficient pam_encfs.so
auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
auth optional pam_mount.so
# end of pam-auth-update config
et:
#
# /etc/pam.d/common-session - session-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define tasks to be performed
# at the start and end of sessions of *any* kind (both interactive and
# non-interactive).
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules. See
# pam-auth-update(8) for details.
# here are the per-package modules (the "Primary" block)
session [default=1] pam_permit.so
# here's the fallback if no module succeeds
session requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
session required pam_permit.so
# and here are more per-package modules (the "Additional" block)
session required pam_unix.so
session optional pam_mount.so
session optional pam_ck_connector.so nox11
# end of pam-auth-update config
MISE À JOUR # 2
J'utilise les tests Debian. J'ai essayé de changer la position de pam_mount
, mais c'est toujours la même chose. J'ai lu certaines sections du manuel et il y avait quelque chose comme:
When "sufficient" is used in the second column, you must make sure that pam_mount is added before this entry. Otherwise pam_mount will not get executed should a previous PAM module succeed. Also be aware of the "include" statements. These make PAM look into the specified file. If there is a "sufficient" statement, then the pam_mount entry must either be in the included file before the "sufficient" statement or before the "include" statement.
J'ai même ajouté pam_mount
au /etc/pam.d/su
fichier pour vérifier si cela fait une différence, mais cela n'a pas d'importance. Si pam_mount
, comme on dit, au lieu d'une invite de mot de passe, je reçois une pam_mount password
invite lorsque je me connecte à mon système et il me demande toujours un mot de passe lorsque j'essaiesu morfik
/etc/security/pam_mount.conf.xml
fichier, l'invite commence à apparaître.Réponses:
Ran dans le même problème.
Il s'avère que le problème est résolu en ajoutant l'
disable_interactive
option à côtépam_mount.so
dans les fichiers de configuration (/etc/pam.d/common-{auth,session}
).Il vient juste après
pam_mount.so
et les options sont séparées par des espaces (à partir duso
nom du fichier et entre chacune des deux options).Lorsque le
pam_mount.so
code est exécuté lors d'une connexion, il reçoit le mot de passe du haut de la pile et utilise ce mot de passe pour décrypter votre volume.Lorsque vous effectuez
su
une session root, aucun mot de passe n'est requis etpam_mount.so
n'obtiendra donc aucun mot de passe. Ainsi, sans l'disable_interactive
option, il essaiera d'obtenir le mot de passe.Heureusement, comme vous pouvez le voir sur https://sourceforge.net/p/pam-mount/pam-mount/ci/master/tree/src/pam_mount.c , ligne 493,
pam_mount
essaiera de procéder même sans mot de passe, ce qui est bon, car le mot de passe n'est pas nécessaire si le volume est déjà déverrouillé et monté.la source
encfs
plus. Je viens de créer les répertoires et d'installer les modules PAM appropriés. Après avoir ajouté "disable_interactive" aux deux fichiers, il n'a en fait plus affiché l'invite de mot de passe. Je ne sais pas si le message "échec du montage" est dû au mot de passe ou parce qu'il n'y a pas de "répertoire encfs". Quoi qu'il en soit, j'ai réussi à changer d'utilisateur sans mot de passe. J'accepte donc cette réponse.Devinez tout mais regardez vos
/etc/pam.d/*
fichiers et assurez-vous que toutes les configurations PAM liées àpam_mount
sont installées comme suit:Cela semble être confirmé par la
pam_mount.conf
page de manuel:extrait
REMARQUE: L'ordre des
/etc/pam.d/*
fichiers de configuration est également référencé ici dans cette rubrique Wiki ArchLinux intitulée: Pam mount .Références
la source
pam_mount
il y a plusieurs exemples sur la façon de structurer votre commande PAM en utilisant ce module. Pouvez-vous y jeter un œil et le comparer à vos/etc/pam.d/*
fichiers? Je m'attends à ce que vous deviez changer autour des piles PAM. Pouvez-vous exécuter ceci:strace -s 2000 -o su.log su morfik
afin que nous puissions voir quelles règles le déclenchent?