Eviter fsck au login, montage libpam_mount [Résolu/Fermé]

Signaler
Messages postés
182
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
9 septembre 2017
-
leon91490
Messages postés
182
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
9 septembre 2017
-
Bonjour,

Je viens d'installer un montage au chargement de session via libpam_mount. les montages se montent là où il faut.

mais je me pose des questions sur une analyse disque qui lance à chaque premier montage du disque usb iomega . ca se produit au reboot apres le premier login et lorsque le montage dans le home est fermé. j'ai supprimé le partage /home/patrick/iomega et en revenant sur le compte j'ai les messages de debug :

en invalidant le partage dans /etc/security/pam_mount.conf.xml je n'ai aucun test : j'ai invalidé les montages automatiques au niveau de gnome ainsi qu'au niveau de la gestion des disques via la barre unity.

j'aimerais bien invalider ce auto check à reboot... je pourrais mettre une balise <fsck>none</fsck> dans la config /etc/security/pam_mount.conf.xml mais je considère ca comme du bricolage qui solutionne pas grand chose.

merci de vos réponses.

les messages de debug.

carmen@patrick-win7:~$

carmen@patrick-win7:~$ su patrick
Mot de passe : 
(pam_mount.c:365): pam_mount 2.13: entering auth stage
(pam_mount.c:554): pam_mount 2.13: entering session stage
(misc.c:39): Session open: (ruid/rgid=1001/1000, e=0/1000)
(mount.c:267): Mount info: globalconf, user=patrick <volume fstype="vfat" server="(null)" path="/dev/sdb1" mountpoint="/home/patrick/iomega" cipher="(null)" fskeypath="(null)" fskeycipher="(null)" fskeyhash="(null)" options="rw,uid=patrick,gid=100,iocharset=utf8" /> fstab=0 ssh=0
(mount.c:659): This is a crypto-type volume. Key decoding deferred to mount.crypt.
command: 'fsck' '-p' '/dev/sdb1' 
(mount.c:76): fsck de util-linux 2.20.1
(mount.c:76): dosfsck 3.0.13, 30 Jun 2012, FAT32, LFN
(mount.c:76): /dev/sdb1: 32550 files, 2817317/15258273 clusters
(mount.c:498): waiting for filesystem check
command: 'mount' '-p0' '-orw,uid=patrick,gid=100,iocharset=utf8' '-tvfat' '/dev/sdb1' '/home/patrick/iomega' 
(misc.c:39): set_myuid<pre>: (ruid/rgid=1001/1000, e=0/1000)
(misc.c:39): set_myuid<post>: (ruid/rgid=0/1000, e=0/1000)
(mount.c:556): 15 20 0:14 / /sys rw,nosuid,nodev,noexec,relatime - sysfs sysfs rw
(mount.c:556): 16 20 0:3 / /proc rw,nosuid,nodev,noexec,relatime - proc proc rw
(mount.c:556): 17 20 0:5 / /dev rw,relatime - devtmpfs udev rw,size=1414056k,nr_inodes=214562,mode=755
(mount.c:556): 18 17 0:11 / /dev/pts rw,nosuid,noexec,relatime - devpts devpts rw,gid=5,mode=620,ptmxmode=000
(mount.c:556): 19 20 0:15 / /run rw,nosuid,relatime - tmpfs tmpfs rw,size=568720k,mode=755
(mount.c:556): 20 1 8:6 / / rw,relatime - ext4 /dev/disk/by-uuid/ad06a47c-f3fe-420d-8fd0-ee4e102fda7b rw,errors=remount-ro,data=ordered
(mount.c:556): 21 15 0:16 / /sys/fs/fuse/connections rw,relatime - fusectl none rw
(mount.c:556): 22 15 0:6 / /sys/kernel/debug rw,relatime - debugfs none rw
(mount.c:556): 23 15 0:10 / /sys/kernel/security rw,relatime - securityfs none rw
(mount.c:556): 24 19 0:17 / /run/lock rw,nosuid,nodev,noexec,relatime - tmpfs none rw,size=5120k
(mount.c:556): 25 19 0:18 / /run/shm rw,nosuid,nodev,relatime - tmpfs none rw
(mount.c:556): 26 19 0:19 / /run/user rw,nosuid,nodev,noexec,relatime - tmpfs none rw,size=102400k,mode=755
(mount.c:556): 27 20 8:7 / /home rw,relatime - ext4 /dev/sda7 rw,data=ordered
(mount.c:556): 28 19 0:20 / /run/rpc_pipefs rw,relatime - rpc_pipefs rpc_pipefs rw
(mount.c:556): 29 16 0:21 / /proc/sys/fs/binfmt_misc rw,nosuid,nodev,noexec,relatime - binfmt_misc binfmt_misc rw
(mount.c:556): 33 26 0:22 / /run/user/patrick/gvfs rw,nosuid,nodev,relatime - fuse.gvfsd-fuse gvfsd-fuse rw,user_id=1000,group_id=1000
(mount.c:556): 31 27 8:17 / /home/patrick/iomega rw,relatime - vfat /dev/sdb1 rw,uid=1000,gid=100,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,shortname=mixed,errors=remount-ro
(mount.c:267): Mount info: globalconf, user=patrick <volume fstype="ntfs-3g" server="(null)" path="/dev/sda2" mountpoint="/home/patrick/win7" cipher="(null)" fskeypath="(null)" fskeycipher="(null)" fskeyhash="(null)" options="rw,uid=patrick,gid=100,dir_mode=0750,file_mode=0640,iocharset=utf8" /> fstab=0 ssh=0
(mount.c:659): This is a crypto-type volume. Key decoding deferred to mount.crypt.
command: 'mount' '-p0' '-orw,uid=patrick,gid=100,dir_mode=0750,file_mode=0640,iocharset=utf8' '-tntfs-3g' '/dev/sda2' '/home/patrick/win7' 
(misc.c:39): set_myuid<pre>: (ruid/rgid=1001/1000, e=0/1000)
(misc.c:39): set_myuid<post>: (ruid/rgid=0/1000, e=0/1000)
(mount.c:556): 15 20 0:14 / /sys rw,nosuid,nodev,noexec,relatime - sysfs sysfs rw
(mount.c:556): 16 20 0:3 / /proc rw,nosuid,nodev,noexec,relatime - proc proc rw
(mount.c:556): 17 20 0:5 / /dev rw,relatime - devtmpfs udev rw,size=1414056k,nr_inodes=214562,mode=755
(mount.c:556): 18 17 0:11 / /dev/pts rw,nosuid,noexec,relatime - devpts devpts rw,gid=5,mode=620,ptmxmode=000
(mount.c:556): 19 20 0:15 / /run rw,nosuid,relatime - tmpfs tmpfs rw,size=568720k,mode=755
(mount.c:556): 20 1 8:6 / / rw,relatime - ext4 /dev/disk/by-uuid/ad06a47c-f3fe-420d-8fd0-ee4e102fda7b rw,errors=remount-ro,data=ordered
(mount.c:556): 21 15 0:16 / /sys/fs/fuse/connections rw,relatime - fusectl none rw
(mount.c:556): 22 15 0:6 / /sys/kernel/debug rw,relatime - debugfs none rw
(mount.c:556): 23 15 0:10 / /sys/kernel/security rw,relatime - securityfs none rw
(mount.c:556): 24 19 0:17 / /run/lock rw,nosuid,nodev,noexec,relatime - tmpfs none rw,size=5120k
(mount.c:556): 25 19 0:18 / /run/shm rw,nosuid,nodev,relatime - tmpfs none rw
(mount.c:556): 26 19 0:19 / /run/user rw,nosuid,nodev,noexec,relatime - tmpfs none rw,size=102400k,mode=755
(mount.c:556): 27 20 8:7 / /home rw,relatime - ext4 /dev/sda7 rw,data=ordered
(mount.c:556): 28 19 0:20 / /run/rpc_pipefs rw,relatime - rpc_pipefs rpc_pipefs rw
(mount.c:556): 29 16 0:21 / /proc/sys/fs/binfmt_misc rw,nosuid,nodev,noexec,relatime - binfmt_misc binfmt_misc rw
(mount.c:556): 33 26 0:22 / /run/user/patrick/gvfs rw,nosuid,nodev,relatime - fuse.gvfsd-fuse gvfsd-fuse rw,user_id=1000,group_id=1000
(mount.c:556): 31 27 8:17 / /home/patrick/iomega rw,relatime - vfat /dev/sdb1 rw,uid=1000,gid=100,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,shortname=mixed,errors=remount-ro
(mount.c:556): 32 27 8:2 / /home/patrick/win7 rw,nosuid,nodev,relatime - fuseblk /dev/sda2 rw,user_id=0,group_id=1000,default_permissions,allow_other,blksize=4096
command: 'pmvarrun' '-u' 'patrick' '-o' '1' 
(misc.c:39): set_myuid<pre>: (ruid/rgid=1001/1000, e=0/1000)
(misc.c:39): set_myuid<post>: (ruid/rgid=0/1000, e=0/1000)
(pmvarrun.c:258): parsed count value 2
(pam_mount.c:441): pmvarrun says login count is 3
(pam_mount.c:646): done opening session (ret=0)



configuration /etc/security/pam_mount.conf.xml

<pam_mount>   

  <!-- debug should come before everything else,   
  since this file is still processed in a single pass   
  from top-to-bottom -->   

<debug enable="2" />   

<!-- Note that commenting out mntoptions will give you the defaults.   
     You will need to explicitly initialize it with the empty string   
     to reset the defaults to nothing. -->   
<mntoptions allow="nosuid,nodev,nonempty,allow_root,allow_other" />   

<!--   
<mntoptions allow="nosuid,nodev,loop,fsck,nonempty,allow_root,allow_other" />   
<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />   
<mntoptions deny="suid,dev" />   
<mntoptions allow="*" />   
<mntoptions deny="*" />   
<mntoptions require="nosuid,nodev" />   
-->   


<logout wait="0" hup="0" term="0" kill="0" />   

<!-- Volume definitions -->   


<!-- pam_mount parameters: General tunables -->   

<!-- pam_mount parameters: Volume-related -->   

<mkmountpoint enable="1" remove="true" />   

<volume user="patrick"  fstype ="vfat"   
 mountpoint="/home/%(USER)/iomega" path="/dev/sdb1"    
 options="rw,uid=%(USER),gid=100,iocharset=utf8" />   


<volume user="patrick" fstype="ntfs-3g"   
 mountpoint="/home/%(USER)/win7" path="/dev/sda2"    
 options="rw,uid=%(USER),gid=100,dir_mode=0750,file_mode=0640,iocharset=utf8" />   

<!--   
<luserconf name=".pam_mount.conf.xml" />   
-->   
</pam_mount>


fichier configuration /etc/pam.d/su

patrick@patrick-win7:~$ cat /etc/pam.d/su  
#  
# The PAM configuration file for the Shadow 'su' service  
#  

# This allows root to su without passwords (normal operation)  
auth       sufficient pam_rootok.so  

# Uncomment this to force users to be a member of group root  
# before they can use 'su'. You can also add "group=foo"  
# to the end of this line if you want to use a group other  
# than the default "root" (but this may have side effect of  
# denying "root" user, unless she's a member of "foo" or explicitly  
# permitted earlier by e.g. "sufficient pam_rootok.so").  
# (Replaces the 'SU_WHEEL_ONLY' option from login.defs)  
# auth       required   pam_wheel.so  

# Uncomment this if you want wheel members to be able to  
# su without a password.  
# auth       sufficient pam_wheel.so trust  

# Uncomment this if you want members of a specific group to not  
# be allowed to use su at all.  
# auth       required   pam_wheel.so deny group=nosu  

# Uncomment and edit /etc/security/time.conf if you need to set  
# time restrainst on su usage.  
# (Replaces the 'PORTTIME_CHECKS_ENAB' option from login.defs  
# as well as /etc/porttime)  
# account    requisite  pam_time.so  

# This module parses environment configuration file(s)  
# and also allows you to use an extended config  
# file /etc/security/pam_env.conf.  
#   
# parsing /etc/environment needs "readenv=1"  
session       required   pam_env.so readenv=1  
# locale variables are also kept into /etc/default/locale in etch  
# reading this file *in addition to /etc/environment* does not hurt  
session       required   pam_env.so readenv=1 envfile=/etc/default/locale  

# Defines the MAIL environment variable  
# However, userdel also needs MAIL_DIR and MAIL_FILE variables  
# in /etc/login.defs to make sure that removing a user   
# also removes the user's mail spool file.  
# See comments in /etc/login.defs  
#  
# "nopen" stands to avoid reporting new mail when su'ing to another user  
session    optional   pam_mail.so nopen  

# Sets up user limits, please uncomment and read /etc/security/limits.conf  
# to enable this functionality.  
# (Replaces the use of /etc/limits in old login)  
# session    required   pam_limits.so  

# The standard Unix authentication modules, used with  
# NIS (man nsswitch) as well as normal /etc/passwd and  
# /etc/shadow entries.  
@include common-auth  
auth optional pam_mount.so   
@include common-account  
@include common-session  
session optional pam_mount.so  
password optional pam_mount.so

2 réponses

Messages postés
29130
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 janvier 2020
6744
Pour moi le fsck est déclenché au démarrage conformément au dernier nombre qui figure sur une ligne de /etc/fstab. Si cette valeur est 0, alors aucune analyse n'est faite. Dans ton cas tu dois avoir la valeur 1 ou 2. Pour plus de détails :

man fstab


Bonne chance
leon91490
Messages postés
182
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
9 septembre 2017
40
bonjour mamiemando

merci de votre réponse...

moi le fsck se situe pas au boot... mais lorsque je saisis le mot de passe et que les points de montage se mettent en place apres la saisie du mot de passe.

si je supprime le montage dans libpam_mount les montages se mettent en place au reboot et en effet sans controle du disque. il me faudrait avoir la commande pour rentrer les deux '0' dans la balise <volume ... fsck = "0"> j'ai essayé ca marche pas...
Messages postés
29130
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 janvier 2020
6744
<mntoptions allow="nosuid,nodev,loop,fsck,nonempty,allow_root,allow_other" />   
<mntoptions allow="nosuid,nodev,loop,encryption,fsck,nonempty,allow_root,allow_other" />  


Ce n'est pas simplement parce que tu as passé l'option fsck ?

Bonne chance
leon91490
Messages postés
182
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
9 septembre 2017
40
bonsoir

et bien j'ai trouvé à partir de votre conseil...... y a une balise dans pam_mount.conf.xml qui indique la commande à lancer à chaque montage !!!!! j'ai mis à la place du programme par défaut une autre commande qui ne fait qu'afficher.

merci à vous alors.

j'ai ajouté alors

<fsck>fsck -N %(FSCKTARGET) </fsck>



sinon j'avais supprimé l'option dans mntoptions et l'ai même mise en deny mais sur une page j'ai vu que le fsck etait lancé à chaque ouverture de montage... tens le lien sur la page...

http://pam-mount.sourceforge.net/pam_mount.conf.5.html
mamiemando
Messages postés
29130
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 janvier 2020
6744
Parfait, merci pour ces précisions !
leon91490
Messages postés
182
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
9 septembre 2017
40
merci de vos conseils...

mais ca serait bien d'avoir une balise genre <fscheck enable = "false/true/0/1" /> de la part des programmeurs. ils ont mis la balise <mkmountpoint enable = "1" />. ils devraient le faire pour le fsck des montages ouverts par la commande. ou alors spécifier dans les options dans la balise <volume ... options = "nofsck,uid=1000,gid=1000...">


et aussi j'ai lu que les commandes mntoptions n'etaient pas valables pour les <volume ... > déclarés dans le fichier général /etc/pam_mount.conf.xml mais pour les montages luserconf. la commande permet d'autoriser de requerir et d'interdire des options de montage. par exemple comme admin je peux dire que les users doivent interdire de mettre allow_other (les autres)


elle est pas terrible cette librairie pam_mount.so
mamiemando
Messages postés
29130
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
18 janvier 2020
6744
Je n'ai pas regardé dans le détail donc je dis peut-être une bêtise, mais je pensais que c'était justement le rôle de la balise <mntoptions>.
leon91490
Messages postés
182
Date d'inscription
mardi 19 mai 2009
Statut
Membre
Dernière intervention
9 septembre 2017
40
grace à vous j'ai la solution - peut etre pas la plus rationnelle - pour éviter ce test à chaque lancement.

tiens pour la culture d'autres lecteurs

http://manpages.ubuntu.com/manpages/jaunty/man5/pam_mount.conf.5.html