Eviter fsck au login, montage libpam_mount

Résolu/Fermé
leon91490 Messages postés 166 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 9 septembre 2017 - Modifié par leon91490 le 12/11/2012 à 09:41
leon91490 Messages postés 166 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 9 septembre 2017 - 14 nov. 2012 à 21:06
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

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
12 nov. 2012 à 10:00
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
0
leon91490 Messages postés 166 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 9 septembre 2017 47
12 nov. 2012 à 12:32
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...
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
12 nov. 2012 à 20:08
<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
0
leon91490 Messages postés 166 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 9 septembre 2017 47
Modifié par leon91490 le 12/11/2012 à 21:35
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
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
14 nov. 2012 à 10:02
Parfait, merci pour ces précisions !
0
leon91490 Messages postés 166 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 9 septembre 2017 47
Modifié par leon91490 le 14/11/2012 à 10:22
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
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
14 nov. 2012 à 20:06
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>.
0
leon91490 Messages postés 166 Date d'inscription mardi 19 mai 2009 Statut Membre Dernière intervention 9 septembre 2017 47
14 nov. 2012 à 21:06
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
0