Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:lpic:11:500:l104 [2023/06/09 12:08] adminelearning:workbooks:lpic:11:500:l104 [2024/04/05 08:03] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
  
-Version : **2023.01**+Version : **2024.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
Ligne 2943: Ligne 2943:
 | DAC |  //Discretional Access Control//  | L'accès aux objets est en fonction de l'identité (utilisateur,groupe). Un utilisateur peut rendre accessible aux autres ses propres objets. | | DAC |  //Discretional Access Control//  | L'accès aux objets est en fonction de l'identité (utilisateur,groupe). Un utilisateur peut rendre accessible aux autres ses propres objets. |
  
-=====Préparation=====+====Préparation====
  
 Dans votre répertoire personnel, créez un fichier tux.jpg grâce à la commande **touch**: Dans votre répertoire personnel, créez un fichier tux.jpg grâce à la commande **touch**:
Ligne 2961: Ligne 2961:
 </WRAP> </WRAP>
  
-=====Les Droits Unix Simples=====+====Les Droits Unix Simples====
  
 Les autorisations ou droits d’accès en Linux sont communiqués comme suit : Les autorisations ou droits d’accès en Linux sont communiqués comme suit :
Ligne 2977: Ligne 2977:
 ^ x | Le nom du répertoire peut apparaître dans un chemin d'accès. | ^ x | Le nom du répertoire peut apparaître dans un chemin d'accès. |
  
-====La Modification des Droits====+===La Modification des Droits===
  
-=== La Commande chmod===+== La Commande chmod==
  
 ==Mode Symbolique== ==Mode Symbolique==
Ligne 3066: Ligne 3066:
 ^ Fichier normal | rw– rw– rw- | 666 | ^ Fichier normal | rw– rw– rw- | 666 |
 </WRAP> </WRAP>
- 
-==Options de la Commande== 
  
 Les options de cette commande sont : Les options de cette commande sont :
Ligne 3095: Ligne 3093:
 </code> </code>
  
-===La Commande umask===+==La Commande umask==
  
 L’utilisateur peut changer sa masque de permissions défaut lors de la création d’objets en utilisant la commande umask.  L’utilisateur peut changer sa masque de permissions défaut lors de la création d’objets en utilisant la commande umask. 
Ligne 3137: Ligne 3135:
 0002 0002
 </code> </code>
- 
-==Options de la Commande== 
  
 Les options de cette commande sont : Les options de cette commande sont :
Ligne 3161: Ligne 3157:
 </code> </code>
  
-====Modifier le propriétaire ou le groupe====+===Modifier le propriétaire ou le groupe===
  
 <WRAP center round important> <WRAP center round important>
Ligne 3167: Ligne 3163:
 </WRAP> </WRAP>
  
-===La Commande chown===+==La Commande chown==
  
 Dans le cas du fichier tux.jpg appartenant à trainee, root peut changer le propriétaire de trainee à root avec la commande suivante : Dans le cas du fichier tux.jpg appartenant à trainee, root peut changer le propriétaire de trainee à root avec la commande suivante :
Ligne 3182: Ligne 3178:
 -rw-r--r--. 1 root    trainee    0 Oct 20 07:21 tux.jpg -rw-r--r--. 1 root    trainee    0 Oct 20 07:21 tux.jpg
 </code> </code>
- 
-==Options de la Commande== 
  
 Les options de cette commande sont : Les options de cette commande sont :
Ligne 3239: Ligne 3233:
 </code> </code>
  
-===La Commande chgrp===+==La Commande chgrp==
  
 Le même cas de figure s’applique au groupe : Le même cas de figure s’applique au groupe :
Ligne 3260: Ligne 3254:
 **Important** : Le droit de supprimer un fichier dépend des droits sur le répertoire dans lequel le fichier est stocké et non des droits du fichier lui-même. **Important** : Le droit de supprimer un fichier dépend des droits sur le répertoire dans lequel le fichier est stocké et non des droits du fichier lui-même.
 </WRAP> </WRAP>
- 
-==Options de la Commande== 
  
 Les options de cette commande sont : Les options de cette commande sont :
Ligne 3307: Ligne 3299:
 </code> </code>
  
-=====Les Droits Unix Etendus=====+====Les Droits Unix Etendus====
  
-====SUID/SGID bit====+===SUID/SGID bit===
  
 Malgré ce que vous venez de voir, dans la première des deux fenêtres ci-dessous, vous noterez que le fichier **passwd** se trouvant dans le répertoire **/etc** possède les permissions **rw- r-- r--** et qu'il appartient à **root**. Autrement dit **seul** root peut écrire dans ce fichier. Or, quand un utilisateur normal change son mot de passe, il écrit dans ce fichier. Ceci semble donc être une contradiction. Malgré ce que vous venez de voir, dans la première des deux fenêtres ci-dessous, vous noterez que le fichier **passwd** se trouvant dans le répertoire **/etc** possède les permissions **rw- r-- r--** et qu'il appartient à **root**. Autrement dit **seul** root peut écrire dans ce fichier. Or, quand un utilisateur normal change son mot de passe, il écrit dans ce fichier. Ceci semble donc être une contradiction.
Ligne 3347: Ligne 3339:
 </WRAP> </WRAP>
  
-====Inheritance Flag====+===Inheritance Flag===
  
 Le SGID bit peut également être affecté à un répertoire. De cette façon, les fichiers et répertoires créés à l'intérieur auront comme groupe le groupe du répertoire parent. Ce droit s'appelle donc l'**Inheritance Flag** ou le **Drapeau d'Héritage**. Le SGID bit peut également être affecté à un répertoire. De cette façon, les fichiers et répertoires créés à l'intérieur auront comme groupe le groupe du répertoire parent. Ce droit s'appelle donc l'**Inheritance Flag** ou le **Drapeau d'Héritage**.
Ligne 3370: Ligne 3362:
 </WRAP> </WRAP>
  
-====Sticky bit====+===Sticky bit===
  
 Il existe un dernier cas qui s’appelle le sticky bit. Le sticky bit est utilisé pour des répertoires ou tout le monde a tous les droits. Dans ce cas, tout le monde peut supprimer des fichiers dans le répertoire. En ajoutant le sticky bit, uniquement le propriétaire du fichier peut le supprimer. Il existe un dernier cas qui s’appelle le sticky bit. Le sticky bit est utilisé pour des répertoires ou tout le monde a tous les droits. Dans ce cas, tout le monde peut supprimer des fichiers dans le répertoire. En ajoutant le sticky bit, uniquement le propriétaire du fichier peut le supprimer.
Ligne 3396: Ligne 3388:
 </code> </code>
  
-=====Les Droits Unix Avancés=====+====Les Droits Unix Avancés====
  
-====Les ACL====+===Les ACL===
  
 Au delà des droits étendus d'Unix, Linux utilise un système d'ACL pour permettre une meilleure gestion des droits sur des fichiers. Au delà des droits étendus d'Unix, Linux utilise un système d'ACL pour permettre une meilleure gestion des droits sur des fichiers.
Ligne 3507: Ligne 3499:
  
   # setfacl --restore=backup.acl [Entrée]   # setfacl --restore=backup.acl [Entrée]
- 
-==Options des Commandes=== 
  
 Les options de la commande **getfacl** sont : Les options de la commande **getfacl** sont :
Ligne 3558: Ligne 3548:
 </code> </code>
  
-====Les Attributs Etendus====+===Les Attributs Etendus===
  
 Les attributs s'ajoutent aux caractéristiques classiques d'un fichier dans un système de fichiers Ext2/Ext3/Ext4, JFS, ReiserFS, XFS et Btrfs. Les attributs s'ajoutent aux caractéristiques classiques d'un fichier dans un système de fichiers Ext2/Ext3/Ext4, JFS, ReiserFS, XFS et Btrfs.
Ligne 3624: Ligne 3614:
 mv: cannot move ‘/root/attributs/fichier’ to ‘/root/attributs/rep/fichier’: Permission denied mv: cannot move ‘/root/attributs/fichier’ to ‘/root/attributs/rep/fichier’: Permission denied
 </code> </code>
- 
-==Options des Commandes== 
  
 Les options de la commande **chattr** sont : Les options de la commande **chattr** sont :
Ligne 3640: Ligne 3628:
 lsattr: invalid option -- '-' lsattr: invalid option -- '-'
 Usage: lsattr [-RVadlv] [files...] Usage: lsattr [-RVadlv] [files...]
 +</code>
 +
 +=====Rôle du noyau=====
 +
 +Le noyau ou //kernel// est la partie du système d'exploitation qui gère les entrées/sorties avec des périphériques. Dans certains cas il est préférable de recompiler le noyau de Linux. La motivation de cette recompilation peut être :
 +
 +  * la diminution de la taille du noyau,
 +  * la prise en charge de nouveau matériel,
 +  * l'ajout de fonctionnalités,
 +  * l'optimisation du code,
 +  * la correction de bogues,
 +  * le besoin d'une fonctionnalité expérimentale.
 +
 +Commencez par identifier le noyau utilisé par votre machine :
 +
 +<code>
 +[root@centos7 ~]# uname -r
 +3.10.0-327.13.1.el7.x86_64
 +</code>
 +
 +Dans le cas d'une utilisation courante de Linux, il est cependant préférable de faire appel aux **modules**. Les modules se trouvent dans le répertoire **/lib/modules/<version-du-noyau>** :
 +
 +<code>
 +[root@centos7 ~]# ls /lib/modules/`uname -r`/
 +build   modules.alias      modules.builtin      modules.dep.bin  modules.modesetting  modules.softdep      source   weak-updates
 +extra   modules.alias.bin  modules.builtin.bin  modules.devname  modules.networking   modules.symbols      updates
 +kernel  modules.block      modules.dep          modules.drm      modules.order        modules.symbols.bin  vdso
 +</code>
 +
 +Les commandes pour manipuler les modules sont :
 +
 +  * insmod
 +  * rmmod
 +  * lsmod
 +  * modprobe
 +
 +Par exemple :
 +
 +<code>
 +[root@centos7 ~]# lsmod
 +Module                  Size  Used by
 +ip6t_rpfilter          12546  1 
 +ip6t_REJECT            12939  2 
 +ipt_REJECT             12541 
 +xt_conntrack           12760 
 +ebtable_nat            12807  0 
 +ebtable_broute         12731 
 +bridge                119562  1 ebtable_broute
 +stp                    12976  1 bridge
 +llc                    14552  2 stp,bridge
 +ebtable_filter         12827 
 +ebtables               30913  3 ebtable_broute,ebtable_nat,ebtable_filter
 +ip6table_nat           12864 
 +nf_conntrack_ipv6      18738  6 
 +nf_defrag_ipv6         34768  1 nf_conntrack_ipv6
 +nf_nat_ipv6            14131  1 ip6table_nat
 +ip6table_mangle        12700  1 
 +ip6table_security      12710  1 
 +ip6table_raw           12683 
 +ip6table_filter        12815  1 
 +ip6_tables             27025  5 ip6table_filter,ip6table_mangle,ip6table_security,ip6table_nat,ip6table_raw
 +iptable_nat            12875  1 
 +nf_conntrack_ipv4      14862  5 
 +nf_defrag_ipv4         12729  1 nf_conntrack_ipv4
 +nf_nat_ipv4            14115  1 iptable_nat
 +nf_nat                 26146  2 nf_nat_ipv4,nf_nat_ipv6
 +nf_conntrack          105745  6 nf_nat,nf_nat_ipv4,nf_nat_ipv6,xt_conntrack,nf_conntrack_ipv4,nf_conntrack_ipv6
 +iptable_mangle         12695 
 +iptable_security       12705 
 +iptable_raw            12678  1 
 +iptable_filter         12810 
 +dm_mirror              22135  0 
 +dm_region_hash         20862  1 dm_mirror
 +dm_log                 18411  2 dm_region_hash,dm_mirror
 +dm_mod                113292  2 dm_log,dm_mirror
 +crc32_pclmul           13113 
 +ghash_clmulni_intel    13259  0 
 +aesni_intel            69884  0 
 +lrw                    13286  1 aesni_intel
 +gf128mul               14951  1 lrw
 +glue_helper            13990  1 aesni_intel
 +snd_intel8x0           38274 
 +ablk_helper            13597  1 aesni_intel
 +cryptd                 20359  3 ghash_clmulni_intel,aesni_intel,ablk_helper
 +snd_ac97_codec        130605  1 snd_intel8x0
 +ac97_bus               12730  1 snd_ac97_codec
 +ppdev                  17671  0 
 +snd_seq                66691  0 
 +snd_seq_device         14356  1 snd_seq
 +snd_pcm               105835  2 snd_ac97_codec,snd_intel8x0
 +pcspkr                 12718 
 +sg                     40721 
 +parport_pc             28165 
 +parport                42348  2 ppdev,parport_pc
 +snd_timer              29639  2 snd_pcm,snd_seq
 +snd                    83425  8 snd_ac97_codec,snd_intel8x0,snd_timer,snd_pcm,snd_seq,snd_seq_device
 +soundcore              15047  1 snd
 +i2c_piix4              22106  0 
 +video                  24400  0 
 +i2c_core               40582  1 i2c_piix4
 +nfsd                  302418 
 +auth_rpcgss            59343  1 nfsd
 +nfs_acl                12837  1 nfsd
 +lockd                  93600  1 nfsd
 +grace                  13295  2 nfsd,lockd
 +sunrpc                300464  7 nfsd,auth_rpcgss,lockd,nfs_acl
 +ip_tables              27240  5 iptable_security,iptable_filter,iptable_mangle,iptable_nat,iptable_raw
 +xfs                   939662 
 +libcrc32c              12644  1 xfs
 +sd_mod                 45497 
 +crc_t10dif             12714  1 sd_mod
 +crct10dif_generic      12647  0 
 +sr_mod                 22416 
 +cdrom                  42556  1 sr_mod
 +ata_generic            12910  0 
 +pata_acpi              13038  0 
 +ahci                   29907 
 +libahci                32031  1 ahci
 +ata_piix               35038 
 +crct10dif_pclmul       14289 
 +crct10dif_common       12595  3 crct10dif_pclmul,crct10dif_generic,crc_t10dif
 +crc32c_intel           22079 
 +serio_raw              13462  0 
 +libata                218730  5 ahci,pata_acpi,libahci,ata_generic,ata_piix
 +e1000                 149323 
 +</code>
 +
 +Pour ajouter un module, on peut utiliser la commande **insmod** ou **modprobe**. Cette dernière ajoute non seulement le module passé en argument mais également ses dépendances :
 +
 +<code>
 +[root@centos7 ~]# modprobe bonding
 +[root@centos7 ~]# lsmod | more
 +Module                  Size  Used by
 +bonding               136705 
 +ip6t_rpfilter          12546  1 
 +ip6t_REJECT            12939  2 
 +ipt_REJECT             12541 
 +xt_conntrack           12760 
 +ebtable_nat            12807  0 
 +ebtable_broute         12731 
 +bridge                119562  1 ebtable_broute
 +stp                    12976  1 bridge
 +llc                    14552  2 stp,bridge
 +ebtable_filter         12827 
 +ebtables               30913  3 ebtable_broute,ebtable_nat,ebtable_filter
 +ip6table_nat           12864 
 +nf_conntrack_ipv6      18738  6 
 +nf_defrag_ipv6         34768  1 nf_conntrack_ipv6
 +nf_nat_ipv6            14131  1 ip6table_nat
 +ip6table_mangle        12700  1 
 +ip6table_security      12710  1 
 +ip6table_raw           12683 
 +ip6table_filter        12815  1 
 +ip6_tables             27025  5 ip6table_filter,ip6table_mangle,ip6table_securit
 +y,ip6table_nat,ip6table_raw
 +--More--
 +</code>
 +
 +Pour supprimer un module, on peut utiliser la commande **rmmod** ou **modprobe -r**. Cette dernière essaie de supprimer les dépendances non-utilisées :
 +
 +<code>
 +[root@centos7 ~]# modprobe -r bonding
 +[root@centos7 ~]# lsmod | more
 +Module                  Size  Used by
 +ip6t_rpfilter          12546  1 
 +ip6t_REJECT            12939  2 
 +ipt_REJECT             12541 
 +xt_conntrack           12760 
 +ebtable_nat            12807  0 
 +ebtable_broute         12731 
 +bridge                119562  1 ebtable_broute
 +stp                    12976  1 bridge
 +llc                    14552  2 stp,bridge
 +ebtable_filter         12827 
 +ebtables               30913  3 ebtable_broute,ebtable_nat,ebtable_filter
 +ip6table_nat           12864 
 +nf_conntrack_ipv6      18738  6 
 +nf_defrag_ipv6         34768  1 nf_conntrack_ipv6
 +nf_nat_ipv6            14131  1 ip6table_nat
 +ip6table_mangle        12700  1 
 +ip6table_security      12710  1 
 +ip6table_raw           12683 
 +ip6table_filter        12815  1 
 +ip6_tables             27025  5 ip6table_filter,ip6table_mangle,ip6table_securit
 +y,ip6table_nat,ip6table_raw
 +iptable_nat            12875  1 
 +--More--
 +</code>
 +
 +Les dépendances des modules sont résolues par la commande **modprobe** grâce aux fichier **/lib/modules/<version-du-noyau>/modules.dep**. Ce dernier peut être créé manuellement grâce à la commande **depmod** :
 +
 +<code>
 +[root@centos7 ~]# more /lib/modules/`uname -r`/modules.dep
 +kernel/arch/x86/kernel/cpu/mcheck/mce-inject.ko:
 +kernel/arch/x86/kernel/test_nx.ko:
 +kernel/arch/x86/crypto/ablk_helper.ko: kernel/crypto/cryptd.ko
 +kernel/arch/x86/crypto/glue_helper.ko:
 +kernel/arch/x86/crypto/camellia-x86_64.ko: kernel/crypto/xts.ko kernel/crypto/lrw.ko kernel/crypto/gf128mul.ko kernel/arch/x86/crypto/glue_helper.ko
 +kernel/arch/x86/crypto/blowfish-x86_64.ko: kernel/crypto/blowfish_common.ko
 +kernel/arch/x86/crypto/twofish-x86_64.ko: kernel/crypto/twofish_common.ko
 +kernel/arch/x86/crypto/twofish-x86_64-3way.ko: kernel/arch/x86/crypto/twofish-x86_64.ko kernel/crypto/twofish_common.ko kernel/crypto/xts.ko kernel/cryp
 +to/lrw.ko kernel/crypto/gf128mul.ko kernel/arch/x86/crypto/glue_helper.ko
 +kernel/arch/x86/crypto/salsa20-x86_64.ko:
 +kernel/arch/x86/crypto/serpent-sse2-x86_64.ko: kernel/crypto/xts.ko kernel/crypto/serpent_generic.ko kernel/crypto/lrw.ko kernel/crypto/gf128mul.ko kern
 +el/arch/x86/crypto/glue_helper.ko kernel/arch/x86/crypto/ablk_helper.ko kernel/crypto/cryptd.ko
 +kernel/arch/x86/crypto/aesni-intel.ko: kernel/crypto/lrw.ko kernel/crypto/gf128mul.ko kernel/arch/x86/crypto/glue_helper.ko kernel/arch/x86/crypto/ablk_
 +helper.ko kernel/crypto/cryptd.ko
 +kernel/arch/x86/crypto/ghash-clmulni-intel.ko: kernel/crypto/cryptd.ko
 +kernel/arch/x86/crypto/crc32c-intel.ko:
 +kernel/arch/x86/crypto/sha-mb/sha1-mb.ko: kernel/crypto/mcryptd.ko
 +kernel/arch/x86/crypto/crc32-pclmul.ko:
 +kernel/arch/x86/crypto/sha512-ssse3.ko: kernel/crypto/sha512_generic.ko
 +kernel/arch/x86/crypto/crct10dif-pclmul.ko: kernel/crypto/crct10dif_common.ko
 +kernel/arch/x86/crypto/camellia-aesni-avx-x86_64.ko: kernel/arch/x86/crypto/camellia-x86_64.ko kernel/crypto/xts.ko kernel/crypto/lrw.ko kernel/crypto/g
 +f128mul.ko kernel/arch/x86/crypto/glue_helper.ko kernel/arch/x86/crypto/ablk_helper.ko kernel/crypto/cryptd.ko
 +kernel/arch/x86/crypto/cast5-avx-x86_64.ko: kernel/crypto/cast5_generic.ko kernel/crypto/cast_common.ko kernel/arch/x86/crypto/ablk_helper.ko kernel/cry
 +--More--(0%)
 +</code>
 +
 +Il est possible d'obtenir des informations sur un module grâce à la commande **modinfo** :
 +
 +<code>
 +[root@centos7 ~]# modinfo bonding
 +filename:       /lib/modules/3.10.0-327.13.1.el7.x86_64/kernel/drivers/net/bonding/bonding.ko
 +author:         Thomas Davis, tadavis@lbl.gov and many others
 +description:    Ethernet Channel Bonding Driver, v3.7.1
 +version:        3.7.1
 +license:        GPL
 +alias:          rtnl-link-bond
 +rhelversion:    7.2
 +srcversion:     49765A3F5CDFF2C3DCFD8E6
 +depends:        
 +intree:         Y
 +vermagic:       3.10.0-327.13.1.el7.x86_64 SMP mod_unload modversions 
 +signer:         CentOS Linux kernel signing key
 +sig_key:        6F:33:78:18:7D:83:CD:18:A4:3B:2E:0A:C4:9A:ED:8A:EF:FC:3A:C7
 +sig_hashalgo:   sha256
 +parm:           max_bonds:Max number of bonded devices (int)
 +parm:           tx_queues:Max number of transmit queues (default = 16) (int)
 +parm:           num_grat_arp:Number of peer notifications to send on failover event (alias of num_unsol_na) (int)
 +parm:           num_unsol_na:Number of peer notifications to send on failover event (alias of num_grat_arp) (int)
 +parm:           miimon:Link check interval in milliseconds (int)
 +parm:           updelay:Delay before considering link up, in milliseconds (int)
 +parm:           downdelay:Delay before considering link down, in milliseconds (int)
 +parm:           use_carrier:Use netif_carrier_ok (vs MII ioctls) in miimon; 0 for off, 1 for on (default) (int)
 +parm:           mode:Mode of operation; 0 for balance-rr, 1 for active-backup, 2 for balance-xor, 3 for broadcast, 4 for 802.3ad, 5 for balance-tlb, 6 for balance-alb (charp)
 +parm:           primary:Primary network device to use (charp)
 +parm:           primary_reselect:Reselect primary slave once it comes up; 0 for always (default), 1 for only if speed of primary is better, 2 for only on active slave failure (charp)
 +parm:           lacp_rate:LACPDU tx rate to request from 802.3ad partner; 0 for slow, 1 for fast (charp)
 +parm:           ad_select:803.ad aggregation selection logic; 0 for stable (default), 1 for bandwidth, 2 for count (charp)
 +parm:           min_links:Minimum number of available links before turning on carrier (int)
 +parm:           xmit_hash_policy:balance-xor and 802.3ad hashing method; 0 for layer 2 (default), 1 for layer 3+4, 2 for layer 2+3, 3 for encap layer 2+3, 4 for encap layer 3+4 (charp)
 +parm:           arp_interval:arp interval in milliseconds (int)
 +parm:           arp_ip_target:arp targets in n.n.n.n form (array of charp)
 +parm:           arp_validate:validate src/dst of ARP probes; 0 for none (default), 1 for active, 2 for backup, 3 for all (charp)
 +parm:           arp_all_targets:fail on any/all arp targets timeout; 0 for any (default), 1 for all (charp)
 +parm:           fail_over_mac:For active-backup, do not set all slaves to the same MAC; 0 for none (default), 1 for active, 2 for follow (charp)
 +parm:           all_slaves_active:Keep all frames received on an interface by setting active flag for all slaves; 0 for never (default), 1 for always. (int)
 +parm:           resend_igmp:Number of IGMP membership reports to send on link failure (int)
 +parm:           packets_per_slave:Packets to send per slave in balance-rr mode; 0 for a random slave, 1 packet per slave (default), >1 packets per slave. (int)
 +parm:           lp_interval:The number of seconds between instances where the bonding driver sends learning packets to each slaves peer switch. The default is 1. (uint)
 +</code>
 +
 +Dernièrement, les fichiers dans le repertoire **/etc/modprobe.d** sont utilisés pour spécifier les options éventuelles à passer aux modules lors de leur chargement ainsi que les alias utilisés pour leur faire référence :
 +
 +<code>
 +[root@centos7 ~]# ls /etc/modprobe.d
 +mlx4.conf
 +
 +[root@centos7 ~]# cat /etc/modprobe.d/mlx4.conf
 +# This file is intended for users to select the various module options
 +# they need for the mlx4 driver.  On upgrade of the rdma package,
 +# any user made changes to this file are preserved.  Any changes made
 +# to the libmlx4.conf file in this directory are overwritten on
 +# pacakge upgrade.
 +#
 +# Some sample options and what they would do
 +# Enable debugging output, device managed flow control, and disable SRIOV
 +#options mlx4_core debug_level=1 log_num_mgm_entry_size=-1 probe_vf=0 num_vfs=0
 +#
 +# Enable debugging output and create SRIOV devices, but don't attach any of
 +# the child devices to the host, only the parent device
 +#options mlx4_core debug_level=1 probe_vf=0 num_vfs=7
 +#
 +# Enable debugging output, SRIOV, and attach one of the SRIOV child devices
 +# in addition to the parent device to the host
 +#options mlx4_core debug_level=1 probe_vf=1 num_vfs=7
 +#
 +# Enable per priority flow control for send and receive, setting both priority
 +# 1 and 2 as no drop priorities
 +#options mlx4_en pfctx=3 pfcrx=3
 +</code>
 +
 +=====Gestion des Quotas=====
 +
 +Sous Linux il est possible de mettre en place des quotas par utilisateur et par groupe. Ceci étant, Linux ne sait  pas gérer des quotas par répertoire, uniquement des 
 +quotas par partition. L'administrateur met souvent des quotas en place sur l'arborescence de /home pour limiter l'espace de stockage occupé par les utilisateurs.
 +
 +Déconnectez-vous et reconnectez-vous en tant que root.
 +
 +Avant de mettre en place des quotas, configurer SELINUX en mode **permissive** afin de ne pas avoir d'erreurs de ce dernier :
 +
 +<code>
 +[root@centos7 ~]# getenforce
 +Enforcing
 +[root@centos7 ~]# setenforce permissive
 +[root@centos7 ~]# getenforce
 +Permissive
 +</code>
 +
 +Editez ensuite le fichier /etc/sysconfig/selinux ainsi :
 +
 +<code>
 +[root@centos7 ~]# vi /etc/sysconfig/selinux
 +[root@centos7 ~]# cat /etc/sysconfig/selinux
 +
 +# This file controls the state of SELinux on the system.
 +# SELINUX= can take one of these three values:
 +#     enforcing - SELinux security policy is enforced.
 +#     permissive - SELinux prints warnings instead of enforcing.
 +#     disabled - No SELinux policy is loaded.
 +SELINUX=permissive
 +# SELINUXTYPE= can take one of three two values:
 +#     targeted - Targeted processes are protected,
 +#     minimum - Modification of targeted policy. Only selected processes are protected. 
 +#     mls - Multi Level Security protection.
 +SELINUXTYPE=targeted 
 +</code>
 +
 +====Déplacer /home====
 +
 +Créez une seule partition sur **/dev/sdb** :
 +
 +<code>
 +[root@centos7 ~]# fdisk /dev/sdb
 +Welcome to fdisk (util-linux 2.23.2).
 +
 +Changes will remain in memory only, until you decide to write them.
 +Be careful before using the write command.
 +
 +Device does not contain a recognized partition table
 +Building a new DOS disklabel with disk identifier 0x88708329.
 +
 +Command (m for help): n
 +Partition type:
 +     primary (0 primary, 0 extended, 4 free)
 +     extended
 +Select (default p): p
 +Partition number (1-4, default 1): 
 +First sector (2048-41943039, default 2048): 
 +Using default value 2048
 +Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 
 +Using default value 41943039
 +Partition 1 of type Linux and of size 20 GiB is set
 +
 +Command (m for help): w
 +The partition table has been altered!
 +
 +Calling ioctl() to re-read partition table.
 +Syncing disks.
 +</code>
 +
 +Créez maintenant un système de fichiers ext4 sur **/dev/sdb1** :
 +
 +<code>
 +[root@centos7 ~]# mkfs.ext4 /dev/sdb1
 +mke2fs 1.42.9 (28-Dec-2013)
 +Filesystem label=
 +OS type: Linux
 +Block size=4096 (log=2)
 +Fragment size=4096 (log=2)
 +Stride=0 blocks, Stripe width=0 blocks
 +1310720 inodes, 5242624 blocks
 +262131 blocks (5.00%) reserved for the super user
 +First data block=0
 +Maximum filesystem blocks=2153775104
 +160 block groups
 +32768 blocks per group, 32768 fragments per group
 +8192 inodes per group
 +Superblock backups stored on blocks: 
 + 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
 + 4096000
 +
 +Allocating group tables: done                            
 +Writing inode tables: done                            
 +Creating journal (32768 blocks): done
 +Writing superblocks and filesystem accounting information: done 
 +</code>
 +
 +Montez **/dev/sdb1** sur /mnt :
 +
 +<code>
 +[root@centos7 ~]# mount /dev/sdb1 /mnt
 +</code>
 +
 +Copiez le contenu de /home vers /mnt :
 +
 +<code>
 +[root@centos7 ~]# cp -a /home/* /mnt
 +</code>
 +
 +Démontez /dev/sdb1 et déplacez /home vers /root :
 +
 +<code>
 +[root@centos7 ~]# umount /mnt
 +[root@centos7 ~]# mv /home /root
 +</code>
 +
 +Identifiez l'UUID de /dev/sdb1 :
 +
 +<code>
 +[root@centos7 ~]# ls -l /dev/disk/by-uuid/ | grep sdb1
 +lrwxrwxrwx. 1 root root 10  9 août  06:47 a5e2457f-7337-41f4-b958-e403eb419f94 -> ../../sdb1
 +</code>
 +
 +Editez le fichier **/etc/fstab** :
 +
 +<file txt /etc/fstab>
 +#
 +# /etc/fstab
 +# Created by anaconda on Sat Apr 30 11:27:02 2016
 +#
 +# Accessible filesystems, by reference, are maintained under '/dev/disk'
 +# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
 +#
 +UUID=e65fe7da-cda8-4f5a-a827-1b5cabe94bed /                       xfs     defaults        0 0
 +UUID=2d947276-66e8-41f4-8475-b64b67d7a249 /boot                   xfs     defaults        0 0
 +UUID=3181601a-7295-4ef0-a92c-f21f76b18e64 swap                    swap    defaults        0 0
 +UUID=a5e2457f-7337-41f4-b958-e403eb419f94 /home           ext4   defaults       1 2
 +
 +</file>
 +
 +Créez le point de montage /home :
 +
 +<code>
 +[root@centos7 ~]# mkdir /home
 +</code>
 +
 +Montez /dev/sdb1 :
 +
 +<code>
 +[root@centos7 ~]# mount -a
 +[root@centos7 ~]# mount
 +sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
 +proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
 +devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=236036k,nr_inodes=59009,mode=755)
 +securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
 +tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
 +devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
 +tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)
 +tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)
 +cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
 +pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
 +cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
 +cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
 +cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
 +cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
 +cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
 +cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
 +cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
 +cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
 +cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
 +configfs on /sys/kernel/config type configfs (rw,relatime)
 +/dev/sda2 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
 +selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)
 +systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
 +debugfs on /sys/kernel/debug type debugfs (rw,relatime)
 +hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)
 +mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)
 +tmpfs on /tmp type tmpfs (rw,seclabel)
 +sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
 +nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
 +/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
 +/dev/sdb1 on /home type ext4 (rw,relatime,seclabel,data=ordered)
 +tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=50080k,mode=700,uid=1000,gid=1000)
 +</code>
 +
 +Notez la taille de /home :
 +
 +<code>
 +[trainee@centos7 ~]$ df -h
 +Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
 +/dev/sda2          9,8G    4,4G  5,5G  45% /
 +devtmpfs           231M        231M   0% /dev
 +tmpfs              245M        245M   0% /dev/shm
 +tmpfs              245M    4,7M  240M   2% /run
 +tmpfs              245M        245M   0% /sys/fs/cgroup
 +tmpfs              245M     72K  245M   1% /tmp
 +/dev/sda1          197M    197M   20K 100% /boot
 +/dev/sdb1           20G     65M   19G   1% /home
 +tmpfs               49M         49M   0% /run/user/1000
 +</code>
 +
 +<WRAP center round todo>
 +Fermez la session de root et connectez-vous en tant que trainee.
 +</WRAP>
 +
 +====Mettre en Place des Quotas====
 +
 +Commencez par vérifiez que le paquet **quota** est bien installé :
 +
 +<code>
 +[root@centos7 ~]# rpm -qa | grep quota
 +quota-4.01-11.el7_2.1.x86_64
 +quota-nls-4.01-11.el7_2.1.noarch
 +</code>
 +
 +Editez le fichier **/etc/fstab** en ajoutant les options **usrquota** et **grpquota** à la ligne **/home** :
 +
 +<code>
 +[root@centos7 ~]# vi /etc/fstab
 +[root@centos7 ~]# cat /etc/fstab
 +
 +#
 +# /etc/fstab
 +# Created by anaconda on Sat Apr 30 11:27:02 2016
 +#
 +# Accessible filesystems, by reference, are maintained under '/dev/disk'
 +# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
 +#
 +UUID=e65fe7da-cda8-4f5a-a827-1b5cabe94bed /                       xfs     defaults        0 0
 +UUID=2d947276-66e8-41f4-8475-b64b67d7a249 /boot                   xfs     defaults        0 0
 +UUID=3181601a-7295-4ef0-a92c-f21f76b18e64 swap                    swap    defaults        0 0
 +UUID=a080ac6a-d15c-48e2-8461-a7b1aa3ebf1a /home   ext4    defaults,usrquota,grpquota        1 2
 +</code>
 +
 +Démontez puis remontez /home :
 +
 +<code>
 +[root@centos7 ~]# umount /home
 +[root@centos7 ~]# mount -a
 +</code>
 +
 +Déconnectez-vous et reconnectez-vous en tant que trainee. Vérifiez ensuite que les options soient prises en compte :
 +
 +<code>
 +[root@centos7 ~]# cat /etc/mtab
 +rootfs / rootfs rw 0 0
 +sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec,relatime 0 0
 +proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
 +devtmpfs /dev devtmpfs rw,seclabel,nosuid,size=236036k,nr_inodes=59009,mode=755 0 0
 +securityfs /sys/kernel/security securityfs rw,nosuid,nodev,noexec,relatime 0 0
 +tmpfs /dev/shm tmpfs rw,seclabel,nosuid,nodev 0 0
 +devpts /dev/pts devpts rw,seclabel,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0
 +tmpfs /run tmpfs rw,seclabel,nosuid,nodev,mode=755 0 0
 +tmpfs /sys/fs/cgroup tmpfs ro,seclabel,nosuid,nodev,noexec,mode=755 0 0
 +cgroup /sys/fs/cgroup/systemd cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd 0 0
 +pstore /sys/fs/pstore pstore rw,nosuid,nodev,noexec,relatime 0 0
 +cgroup /sys/fs/cgroup/net_cls cgroup rw,nosuid,nodev,noexec,relatime,net_cls 0 0
 +cgroup /sys/fs/cgroup/memory cgroup rw,nosuid,nodev,noexec,relatime,memory 0 0
 +cgroup /sys/fs/cgroup/devices cgroup rw,nosuid,nodev,noexec,relatime,devices 0 0
 +cgroup /sys/fs/cgroup/hugetlb cgroup rw,nosuid,nodev,noexec,relatime,hugetlb 0 0
 +cgroup /sys/fs/cgroup/freezer cgroup rw,nosuid,nodev,noexec,relatime,freezer 0 0
 +cgroup /sys/fs/cgroup/blkio cgroup rw,nosuid,nodev,noexec,relatime,blkio 0 0
 +cgroup /sys/fs/cgroup/cpu,cpuacct cgroup rw,nosuid,nodev,noexec,relatime,cpuacct,cpu 0 0
 +cgroup /sys/fs/cgroup/perf_event cgroup rw,nosuid,nodev,noexec,relatime,perf_event 0 0
 +cgroup /sys/fs/cgroup/cpuset cgroup rw,nosuid,nodev,noexec,relatime,cpuset 0 0
 +configfs /sys/kernel/config configfs rw,relatime 0 0
 +/dev/sda2 / xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
 +selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
 +systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0
 +debugfs /sys/kernel/debug debugfs rw,relatime 0 0
 +hugetlbfs /dev/hugepages hugetlbfs rw,seclabel,relatime 0 0
 +tmpfs /tmp tmpfs rw,seclabel 0 0
 +mqueue /dev/mqueue mqueue rw,seclabel,relatime 0 0
 +sunrpc /var/lib/nfs/rpc_pipefs rpc_pipefs rw,relatime 0 0
 +nfsd /proc/fs/nfsd nfsd rw,relatime 0 0
 +/dev/sda1 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
 +tmpfs /run/user/0 tmpfs rw,seclabel,nosuid,nodev,relatime,size=50080k,mode=700 0 0
 +/dev/sdb1 /home ext4 rw,seclabel,relatime,quota,usrquota,grpquota,data=ordered 0 0
 +</code>
 +
 +====La Commande quotacheck====
 +
 +Pour activer les quotas sur /home, il convient d'utiliser la commande **quotacheck** :
 +
 +<code>
 +[root@centos7 ~]# quotacheck -cugvm -f /dev/sdb1
 +quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown.
 +quotacheck: Parcours de /dev/sdb1 [/home] terminé
 +quotacheck: Cannot stat old user quota file /home/aquota.user: Aucun fichier ou dossier de ce type. Usage will not be subtracted.
 +quotacheck: Cannot stat old group quota file /home/aquota.group: Aucun fichier ou dossier de ce type. Usage will not be subtracted.
 +quotacheck: Cannot stat old user quota file /home/aquota.user: Aucun fichier ou dossier de ce type. Usage will not be subtracted.
 +quotacheck: Cannot stat old group quota file /home/aquota.group: Aucun fichier ou dossier de ce type. Usage will not be subtracted.
 +quotacheck: Vérifié 100 répertoires et 230 fichiers
 +quotacheck: Ancien fichier non trouvé.
 +quotacheck: Ancien fichier non trouvé.
 +</code>
 +
 +Les options de la commande quotacheck sont :
 +
 +<code>
 +[root@centos7 ~]# quotacheck --help
 +Utility for checking and repairing quota files.
 +quotacheck [-gucbfinvdmMR] [-F <quota-format>] filesystem|-a
 +
 +-u, --user                check user files
 +-g, --group               check group files
 +-c, --create-files        create new quota files
 +-b, --backup              create backups of old quota files
 +-f, --force               force check even if quotas are enabled
 +-i, --interactive         interactive mode
 +-n, --use-first-dquot     use the first copy of duplicated structure
 +-v, --verbose             print more information
 +-d, --debug               print even more messages
 +-m, --no-remount          do not remount filesystem read-only
 +-M, --try-remount         try remounting filesystem read-only,
 +                          continue even if it fails
 +-R, --exclude-root        exclude root when checking all filesystems
 +-F, --format=formatname   check quota files of specific format
 +-a, --all                 check all filesystems
 +-h, --help                display this message and exit
 +-V, --version             display version information and exit
 +
 +Rapports de bugs à jack@suse.cz
 +</code>
 +
 +Les quotas ont été activés et les fichier **aquota.user** et **aquota.group** ont été créés dans le répertoire /home :
 +
 +<code>
 +[root@centos7 ~]# ls -la /home
 +total 44
 +drwxr-xr-x.  4 root    root     4096 11 août  13:39 .
 +dr-xr-xr-x. 18 root    root     4096 11 août  13:27 ..
 +-rw-------.  1 root    root     7168 11 août  13:39 aquota.group
 +-rw-------.  1 root    root     7168 11 août  13:39 aquota.user
 +drwx------.  2 root    root    16384 11 août  13:26 lost+found
 +drwx------. 14 trainee trainee  4096 30 avril 15:29 trainee
 +</code>
 +
 +Créez maintenant un utilisateur **fenestros** avec le mot de passe **fenestros** :
 +
 +<code>
 +[root@centos7 ~]# groupadd fenestros && useradd fenestros -c FenestrOs -d /home/fenestros -g fenestros -s /bin/bash
 +[root@centos7 ~]# passwd fenestros
 +Changement de mot de passe pour l'utilisateur fenestros.
 +Nouveau mot de passe : fenestros
 +MOT DE PASSE INCORRECT : Le mot de passe contient le nom d'utilisateur sous une forme
 +Retapez le nouveau mot de passe : fenestros
 +passwd : mise à jour réussie de tous les jetons d'authentification.
 +[root@centos7 ~]# 
 +</code>
 +
 +====La Commande edquota====
 +
 +Mettez en place maintenant un quota de 10Mo pour l'utilisateur **fenestros** :
 +
 +<code>
 +[root@centos ~]# edquota -u fenestros -f /home
 +</code>
 +
 +L'éditeur **vi** se lance et vous obtiendrez un résultat similaire à celui-ci :
 +
 +<file>
 +Quotas disque pour user fenestros (uid 1001) :
 + Système de fichiers           blocs       souple     stricte   inodes    souple   stricte
 +  /dev/sdb1                                  0          0          0        0        0
 +</file>
 +
 +Modifiez ce fichier ainsi :
 +
 +<file>
 +Quotas disque pour user fenestros (uid 1001) :
 + Système de fichiers           blocs       souple     stricte   inodes    souple   stricte
 +  /dev/sdb1                                8000       10000        0        0        0
 +</file>
 +
 +Les options de la commande **edquota** sont :
 +
 +<code>
 +[root@centos7 ~]# edquota --help
 +edquota: Usage:
 + edquota [-rm] [-u] [-F formatname] [-p username] [-f filesystem] username ...
 + edquota [-rm] -g [-F formatname] [-p groupname] [-f filesystem] groupname ...
 + edquota [-u|g] [-F formatname] [-f filesystem] -t
 + edquota [-u|g] [-F formatname] [-f filesystem] -T username|groupname ...
 +
 +-u, --user                    edit user data
 +-g, --group                   edit group data
 +-r, --remote                  edit remote quota (via RPC)
 +-m, --no-mixed-pathnames      trim leading slashes from NFSv4 mountpoints
 +-F, --format=formatname       edit quotas of a specific format
 +-p, --prototype=name          copy data from a prototype user/group
 +    --always-resolve          always try to resolve name, even if it is
 +                              composed only of digits
 +-f, --filesystem=filesystem   edit data only on a specific filesystem
 +-t, --edit-period             edit grace period
 +-T, --edit-times              edit grace time of a user/group
 +-h, --help                    display this help text and exit
 +-V, --version                 display version information and exit
 +
 +Rapports de bugs à : jack@suse.cz
 +</code>
 +
 +<WRAP center round important>
 +Pour mettre en place un quota par group, la procédure est similaire. Il suffit d'utiliser l'option -g de la commande edquota.
 +</WRAP>
 +
 +====La Commande quotaon====
 +
 +Appliquez maintenant les quotas :
 +
 +<code>
 +[root@centos7 ~]# quotaon -a
 +</code>
 +
 +Les options de la commande **quotaon** sont :
 +
 +<code>
 +[root@centos7 ~]# quotaon --help
 +quotaon: Usage:
 + quotaon [-guvp] [-F quotaformat] [-x state] -a
 + quotaon [-guvp] [-F quotaformat] [-x state] filesys ...
 +
 +-a, --all                turn quotas on for all filesystems
 +-f, --off                turn quotas off
 +-u, --user               operate on user quotas
 +-g, --group              operate on group quotas
 +-p, --print-state        print whether quotas are on or off
 +-x, --xfs-command=cmd    perform XFS quota command
 +-F, --format=formatname  operate on specific quota format
 +-v, --verbose            print more messages
 +-h, --help               display this help text and exit
 +-V, --version            display version information and exit
 +</code>
 +
 +De cette manière vous avez mis en place un quota **souple** pour fenestros de 8 000 Ko et un quota **stricte** de 10 000 Ko. 
 +
 +Quand l'utilisateur fenestros aura dépassé le quota **souple**, il recevra un message d'avertissement. Quand il dépasse le quota **stricte**, il ne pourra plus enregistrer dans /home, sauf dans le cas où il supprime des fichiers pour retomber en dessous de la limite **stricte**.
 +
 +Il est à noter que vous pouvez soit mettre en place un quota en taille, soit mettre en place un quota basé sur le nombre d'inodes utilisés par l'utilisateur.
 +
 +<WRAP center round important>
 +La commande pour désactivez les quotas est **quotaoff**. 
 +</WRAP>
 +
 +====La Commande repquota====
 +
 +Pour visualiser les quotas utilisez la commande **repquota** :
 +
 +<code>
 +[root@centos7 ~]# repquota /home
 +*** Rapport pour les quotas user sur le périphérique /dev/sdb1
 +Période de sursis bloc : 7days ; période de sursis inode : 7days
 +                        Block limits                File limits
 +Utilisateur     utilisé souple stricte sursis utilisé souple stricte sursis
 +----------------------------------------------------------------------
 +root      --      20                          2               
 +trainee   --   20484                        328               
 +   
 +</code>
 +
 +<WRAP center round important>
 +Notez que l'utilisateur fenestros ne figure pas dans la liste. Sous CentOS, le quota n'est pas visible tant que l'utilisateur ne s'est pas connecté pour la première fois. Notez aussi les période de grâce de **7** jours.
 +</WRAP>
 +
 +Les options de la commande **repquota** sont :
 +
 +<code>
 +[root@centos7 ~]# repquota --help
 +repquota: Utility for reporting quotas.
 +Usage:
 +repquota [-vugsi] [-c|C] [-t|n] [-F quotaformat] (-a | mntpoint)
 +
 +-v, --verbose               display also users/groups without any usage
 +-u, --user                  display information about users
 +-g, --group                 display information about groups
 +-s, --human-readable        show numbers in human friendly units (MB, GB, ...)
 +-t, --truncate-names        truncate names to 9 characters
 +-p, --raw-grace             print grace time in seconds since epoch
 +-n, --no-names              do not translate uid/gid to name
 +-i, --no-autofs             avoid autofs mountpoints
 +-c, --cache                 translate big number of ids at once
 +-C, --no-cache              translate ids one by one
 +-F, --format=formatname     report information for specific format
 +-a, --all                   report information for all mount points with quotas
 +-h, --help                  display this help message and exit
 +-V, --version               display version information and exit
 +
 +Rapports de bugs à jack@suse.cz
 +</code>
 +
 +====La Commande quota====
 +
 +Pour visualiser les quotas d'un utilisateur spécifique, il convient d'utiliser la commande **quota** :
 +
 +<code>
 +[root@centos7 ~]# quota fenestros
 +Disk quotas for user fenestros (uid 1001): aucun
 +[root@centos7 ~]# su - fenestros
 +[fenestros@centos7 ~]$ touch test
 +[fenestros@centos7 ~]$ exit
 +logout
 +[root@centos7 ~]# quota fenestros
 +Disk quotas for user fenestros (uid 1001): 
 +Système fichiers   blocs   quota  limite  sursisfichiers   quota  limite  sursis
 +      /dev/sdb1      24    8000   10000                                      
 +</code>
 +
 +Les options de la commande **quota** sont :
 +
 +<code>
 +[root@centos7 ~]# quota --help
 +quota: Usage: quota [-guqvswim] [-l | [-Q | -A]] [-F quotaformat]
 + quota [-qvswim] [-l | [-Q | -A]] [-F quotaformat] -u username ...
 + quota [-qvswim] [-l | [-Q | -A]] [-F quotaformat] -g groupname ...
 + quota [-qvswugQm] [-F quotaformat] -f filesystem ...
 +
 +-u, --user                display quota for user
 +-g, --group               display quota for group
 +-q, --quiet               print more terse message
 +-v, --verbose             print more verbose message
 +-s, --human-readable      display numbers in human friendly units (MB, GB...)
 +    --always-resolve      always try to translate name to id, even if it is
 +   composed of only digits
 +-w, --no-wrap             do not wrap long lines
 +-p, --raw-grace           print grace time in seconds since epoch
 +-l, --local-only          do not query NFS filesystems
 +-Q, --quiet-refuse        do not print error message when NFS server does
 +                          not respond
 +-i, --no-autofs           do not query autofs mountpoints
 +-F, --format=formatname   display quota of a specific format
 +-f, --filesystem-list     display quota information only for given filesystems
 +-A, --all-nfs             display quota for all NFS mountpoints
 +-m, --no-mixed-pathnames  trim leading slashes from NFSv4 mountpoints
 +    --show-mntpoint       show mount point of the file system in output
 +    --hide-device         do not show file system device in output
 +-h, --help                display this help message and exit
 +-V, --version             display version information and exit
 +
 +Rapports de bugs à : jack@suse.cz
 +</code>
 +
 +====La Commande warnquota====
 +
 +La commande **warnquota** vérifie le ou les disques et envoie un message par mail à tout utilisateur qui a dépassé la limite soft. Elle est enrègle générale appelée par un job cron. Cependant elle peut aussi est appelée d'une manière intéractive.
 +
 +Sous RHEL/CentOS 7, warnquota n'est pas installé par défaut :
 +
 +<code>
 +[root@centos7 ~]# yum install quota-warnquota
 +Modules complémentaires chargés : fastestmirror, langpacks
 +base                                                                                                                                             | 3.6 kB  00:00:00     
 +extras                                                                                                                                           | 3.4 kB  00:00:00     
 +updates                                                                                                                                          | 3.4 kB  00:00:00     
 +Loading mirror speeds from cached hostfile
 + * base: centos.quelquesmots.fr
 + * extras: miroir.univ-paris13.fr
 + * updates: miroir.univ-paris13.fr
 +Résolution des dépendances
 +--> Lancement de la transaction de test
 +---> Le paquet quota-warnquota.x86_64 1:4.01-11.el7_2.1 sera installé
 +--> Résolution des dépendances terminée
 +
 +Dépendances résolues
 +
 +========================================================================================================================================================================
 + Package                                     Architecture                       Version                                       Dépôt                               Taille
 +========================================================================================================================================================================
 +Installation :
 + quota-warnquota                             x86_64                             1:4.01-11.el7_2.1                             updates                              76 k
 +
 +Résumé de la transaction
 +========================================================================================================================================================================
 +Installation   1 Paquet
 +
 +Taille totale des téléchargements : 76 k
 +Taille d'installation : 137 k
 +Is this ok [y/d/N]: y
 +</code>
 +
 +Les options de la commande **warnquota** sont :
 +
 +<code>
 +[root@centos7 ~]# warnquota --help
 +warnquota: Usage:
 +  warnquota [-ugsid] [-F quotaformat] [-c configfile] [-q quotatabfile] [-a adminsfile] [filesystem...]
 +
 +-u, --user                      warn users
 +-g, --group                     warn groups
 +-s, --human-readable            send information in more human friendly units
 +-i, --no-autofs                 avoid autofs mountpoints
 +-d, --no-details                do not send quota information itself
 +-F, --format=formatname         use quotafiles of specific format
 +-c, --config=config-file        non-default config file
 +-q, --quota-tab=quotatab-file   non-default quotatab
 +-a, --admins-file=admins-file   non-default admins file
 +-h, --help                      display this help message and exit
 +-v, --version                   display version information and exit
 +
 +Rapports de bugs à jack@suse.cz
 </code> </code>
  
 ----- -----
  
-Copyright © 2023 Hugh Norris.+Copyright © 2024 Hugh Norris.
  
Menu