Monthly Archives: Agosto 2018

Creare e configurare le directory set-GID

Nota: questo è un obiettivo d’esame RHCSA 7.

Supponiamo che due utenti appartenenti al gruppo di team, user01 e user02, che vogliono condividere una directory chiamata shared.

Crea il gruppo team:

# groupadd -g 50000 team

Crea la directory shared:

# mkdir /home/shared

Modifica la proprietà della directory:

# chown nobody:team /home/shared

Assegnare il gruppo ID di gruppo (SGID) alla directory:

# chmod g+s /home/shared

Consenti ai membri del gruppo team di scrivere nella directory shared:

# chmod g+w /home/shared

Rimuovi le autorizzazioni per tutti gli altri utenti:

# chmod o-rwx /home/shared

Nota: i tre ultimi comandi possono essere riassunti in uno solo per scegliere tra questi:

# chmod g+ws,o-rwx /home/shared
# chmod 2770 /home/shared

Crea i due utenti e assegna loro il gruppo di team oltre al proprio gruppo:

# useradd -G team user01
# useradd -G team user02

Nota: questo può essere fatto in due passaggi:

# useradd user0X; usermod -aG team user0X

Controlla la configurazione:

# su - user01
$ cd /home/shared
$ touch nothing
$ ls -l
total 0
-rw-rw-r--. 1 user01 team 0 Nov 12 09:45 nothing

Infine, se si desidera che i membri del gruppo di team siano in grado di vedere i rispettivi file ma non di eliminarli, digitare:

# chmod +t /home/shared

Configurare un servizio di directory LDAP esistente per l’utente e il gruppo

Nota: questo è un obiettivo d’esame RHCSA 7.

Configurazione del server LDAP

Per testare una configurazione del client LDAP, sarà necessario configurare un servizio di directory LDAP.
Il server LDAP è chiamato instructor.example.com in questa procedura.


Configurazione del client LDAP

Poiché authconfig-tui è deprecato, per configurare il lato client LDAP, ci sono due opzioni disponibili: nslcd e sssd.
In questa esercitazione verrà utilizzata l’opzione nslcd, consultare il tutorial authconfig per l’opzione sssd.

Installa i seguenti pacchetti:

# yum install -y openldap-clients nss-pam-ldapd

Nota: solo per menzionare che Sander van Vugt consiglia di installare il pacchetto del gruppo Directory Client: # yum group install “Directory Client”

Quindi, digita:

# authconfig --enableforcelegacy --update
# authconfig --enableldap --enableldapauth --ldapserver="instructor.example.com" \
--ldapbasedn="dc=example,dc=com" --update

Nota 1: in base alle proprie esigenze, è possibile specificare l’opzione –enablemkhomedir dopo l’installazione del pacchetto oddjob-mkhomedir. L’opzione crea una home directory utente locale alla prima connessione se non esiste.
Nota 2: digitare # authconfig –help | grep ldap per ricordare le opzioni necessarie.

Inserisci il certificato del server LDAP nella directory / etc / openldap / cacerts:

# scp root@instructor.example.com:/etc/openldap/certs/cert.pem \
/etc/openldap/cacerts/cert.pem

Applicare il contesto SELinux corretto al certificato:

# restorecon /etc/openldap/cacerts/cert.pem

Attiva l’opzione TLS:

# authconfig --enableldaptls --update

Prova la configurazione:

# getent passwd ldapuser02
ldapuser02:*:1001:1001:ldapuser02:/home/guests/ldapuser02:/bin/bash


Configurazione del server NFS

Per installare la directory home, è necessario configurare un server NFS.
Il server NFS è chiamato instructor.example.com nella procedura.
Nota: non è necessario avere il server LDAP e il server NFS sullo stesso computer, è solo più semplice.


Configurazione del client di Automounter

Installa i seguenti pacchetti:

# yum install -y autofs nfs-utils

Crea una nuova mappa indiretta /etc/auto.guests e incolla la seguente riga:

* -rw,nfs4 instructor.example.com:/home/guests/&

Aggiungi la riga seguente all’inizio del file /etc/auto.master:

/home/guests /etc/auto.guests

Avvia il demone di Automounter e abilitalo all’avvio:

# systemctl enable autofs && systemctl start autofs

Prova la configurazione:

# su - ldapuser02

 

Montare e smontare CIFS e file system di rete NFS

Nota: questo è un obiettivo d’esame RHCSA 7.


File system di rete NFS

Per montare e smontare i file system di rete NFS, è necessario configurare un server NFS.

Installa il pacchetto client NFS:

# yum install -y nfs-utils

Supponiamo che la directory /home/tools sia esportata dal server nfsserver.
Se nessun DNS funzionante, aggiungi una voce nel file /etc/hosts con il nome nfsserver e il suo indirizzo IP.

Attiva all’avvio e avvia il servizio nfs-idmap (solo RHEL 7.0):

# systemctl enable nfs-idmap && systemctl start nfs-idmap

Nota: il servizio nfs-idmap è richiesto solo da NFSv4 quando si imposta ACL per nome o per visualizzare nomi di utenti / gruppi. Non consente alcuna corrispondenza UID/GID tra client e server.
Tutti i controlli delle autorizzazioni vengono comunque eseguiti con l’UID/GID utilizzato dal server.

Attiva all’avvio e avvia il target nfs-client (RHEL 7.1 e successivi):

# systemctl enable nfs-client.target && systemctl start nfs-client.target

Modifica il file /etc/fstab e aggiungi la seguente riga:

nfsserver:/home/tools /mnt nfs4 defaults 0 0

Esegui la configurazione del file /etc/fstab:

# mount -a

Per verificare la configurazione corrente, digitare:

# mount | grep nfsserver
nfsserver:/home/tools on /mnt type nfs4 (rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.42,local_lock=none,addr=192.168.1.49)

Per smontare la directory montata NFS, rimuovere la riga precedente dal file /etc/fstab e digitare:

# umount /mnt

Nota: se ottieni un messaggio del tipo “/mnt: device is busy“, per verificare che non ci si trovi nella directory montata e nessun processo lo stia utilizzando, digitare:

# fuser /mnt

File system di rete CIFS

Per montare e smontare i file system di rete CIFS, è necessario impostare un file server CIFS.

Installa i pacchetti client Samba:

# yum install -y cifs-utils
# yum install -y samba-client

Supponiamo che la directory /shared sia esportata dal server smbserver.
Se nessun DNS funzionante, aggiungi una voce nel file /etc/hosts con il nome smbserver e il suo indirizzo IP.

Modifica il file /etc/fstab e aggiungi la seguente riga:

//smbserver/shared /mnt cifs rw,username=user01,password=pass 0 0

Esegui la configurazione del file /etc/fstab:

# mount -a

Per verificare la configurazione corrente, digitare:

# mount | grep smbserver
//smbserver/shared on /mnt type cifs (rw,relatime,vers=1.0,cache=strict,username=user01,domain=MYSERVER,uid=0,noforceuid,gid=0,noforcegid,addr=192.168.1.48,unix,posixpaths,serverino,acl,rsize=1048576,wsize=65536,actimeo=1)

Per smontare la directory montata CIFS, rimuovere la riga precedente dal file /etc/fstab e digitare:

# umount /mnt

Per ulteriori informazioni su Automounter, andare al tutorial sulla configurazione del client LDAP.

Creare, montare, smontare e usare ext2, ext3 e file system ext4.

Nota: questo è un obiettivo d’esame RHCSA 7.

Prerequisiti

Per creare una nuova partizione denominata lv_vol con una dimensione di 100MB, digitare:

# lvcreate --size 100M --name lv_vol /dev/vg

Ext4 File System

Per creare un file system ext4 (qui chiamato /dev/vg/lv_vol), digitare:

# mkfs.ext4 /dev/vg/lv_vol
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks: 
	8193, 24577, 40961, 57345, 73729

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

Per montare questo file system, digitare:

# mount /dev/vg/lv_vol /mnt

Per montarlo in modo permanente, modifica il file /etc/fstab e aggiungi la seguente riga:

/dev/mapper/vg-lv_vol /mnt ext4 defaults 1 2

Nota 1: l’ultimo numero (qui 2) è correlato al comando fsck: ‘0‘ significa che nessun fsck viene eseguito all’avvio (molto pericoloso), ‘1fsck viene eseguito per primo (root filesystem), ‘2fsck viene eseguito subito dopo il filesystem di root. Il penultimo argomento è in relazione con il comando dump (normalmente impostato a ‘1‘ per i filesystem reali, ‘0‘ per i filesystem con swap e NFS montati).
Nota2: Una buona pratica è eseguire il comando mount -a, ogni volta che si modifica qualcosa nel file /etc/fstab per rilevare eventuali problemi di avvio prima che si verifichi.

Per verificare l’uniformità del file system non montato, digitare:

# fsck /dev/vg/lv_vol
fsck from util-linux 2.23.2
e2fsck 1.42.9 (28-Dec-2013)
/dev/mapper/vg-lv_vol: clean, 11/25688 files, 8896/102400 block

Per ottenere dettagli su un file system, digitare:

# dumpe2fs /dev/vg/lv_vol
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem volume name:   
Last mounted on:          
Filesystem UUID:          de13176f-6816-47e8-8742-2d543003d382
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash 
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              25688
Block count:              102400
Reserved block count:     5120
Free blocks:              93504
Free inodes:              25677
First block:              1
Block size:               1024
Fragment size:            1024
Group descriptor size:    64
Reserved GDT blocks:      256
Blocks per group:         8192
Fragments per group:      8192
Inodes per group:         1976
Inode blocks per group:   247
Flex block group size:    16
Filesystem created:       Tue Jul 29 17:47:36 2014
Last mount time:          Tue Jul 29 17:48:56 2014
Last write time:          Tue Jul 29 17:48:56 2014
Mount count:              1
Maximum mount count:      -1
Last checked:             Tue Jul 29 17:47:36 2014
Check interval:           0 ()
Lifetime writes:          4447 kB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:	          128
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      1780d5a3-72df-4cc4-ba19-4a6915c064e3
Journal backup:           inode blocks
Journal features:         journal_64bit
Journal size:             4096k
Journal length:           4096
Journal sequence:         0x00000002
Journal start:            1
...

Xfs File System

Per creare un file system xfs (qui chiamato /dev/vg /lv_vol), digita:
# mkfs.xfs /dev/vg/lv_vol
meta-data=/dev/vg/lv_vol         isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

Per montare questo file system, digitare:

# mount /dev/vg/lv_vol /mnt
Per montarlo in modo permanente, modifica il file /etc/fstab e aggiungi la seguente riga:
/dev/mapper/vg-lv_vol /mnt xfs defaults 1 2
Nota: l’ultimo numero (qui 2) è relativo al comando fsck: ‘0‘ significa che nessun fsck viene eseguito all’avvio (molto pericoloso), ‘1fsck viene eseguito per primo (root filesystem), ‘2fsck viene eseguito subito dopo il filesystem di root. Il penultimo argomento è in relazione con il comando dump (normalmente impostato a ‘1‘ per i filesystem reali, ‘0‘ per i filesystem con swap e NFS montati).
Nota2: Una buona pratica è eseguire il comando mount -a, ogni volta che si modifica qualcosa nel file /etc/fstab per rilevare eventuali problemi di avvio prima che si verifichi.
Per riparare una consistenza del file system non montata, digitare:
# xfs_repair /dev/vg/lv_vol
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - zero log...
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan and clear agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
Phase 5 - rebuild AG headers and trees...
        - reset superblock...
Phase 6 - check inode connectivity...
        - resetting contents of realtime bitmap and summary inodes
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done
Per ottenere dettagli su un file system montato, digitare:
# xfs_info /dev/vg/lv_vol
meta-data=/dev/mapper/vg-lv_vol isize=256    agcount=4, agsize=6400 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=25600, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal               bsize=4096   blocks=853, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

Vfat File System

Per creare un file system vfat (qui chiamato /dev/vg/lv_vol), digitare:
# mkfs.vfat /dev/vg/lv_vol
mkfs.fat 3.0.20 (12 Jun 2013)
unable to get drive geometry, using default 255/63
Per montare questo file system, digitare:
# mount /dev/vg/lv_vol /mnt
Per montarlo in modo permanente, modifica il file /etc/fstab e aggiungi la seguente riga:
/dev/mapper/vg-lv_vol /mnt vfat defaults 1 2
Per riparare una consistenza del file system non montata, digitare:
# fsck.vfat /dev/vg/lv_vol
fsck.fat 3.0.20 (12 Jun 2013)
/dev/vg/lv_vol: 0 files, 0/51091 clusters

Useful Tip

Il tempo per creare un filesystem è stato drasticamente ridotto tra Ext3 e Ext4 (di un fattore di 100). Tuttavia, sebbene il tempo di creazione sia molto veloce, un processo in background continua a funzionare per diversi minuti (in base alle dimensioni del filesystem)!

Questo processo chiamato ext4lazyinit crea i restanti nodi di indice che sono usati per fare riferimento ai nodi foglia.

Sebbene non sia necessario per l’esame RHCSA, è possibile creare un filesystem ext4 senza questo comportamento digitando:

# mkfs.ext4 -E lazy_itable_init=0,lazy_journal_init=0 /dev/vg/lv_vol

Additional Resources

Oltre l’obiettivo dell’esame, è possibile leggere una pagina sulla gestione della corruzione del file system XFS o la conversione di un filesystem root esistente in una partizione LVM.