Difference between revisions of "NFS"

From A-Eskwiki
Jump to: navigation, search
(NFS-client aanmaken)
(NFS-client aanmaken)
Line 95: Line 95:
 
<NFS-SERVER-IP>:<DIR> <MOUNTDIR>  nfs4  rw,noatime,context="selinuxcontext"  0 0
 
<NFS-SERVER-IP>:<DIR> <MOUNTDIR>  nfs4  rw,noatime,context="selinuxcontext"  0 0
 
</pre>
 
</pre>
Als je wilt zorgen dat homedirs automatisch op de client worden aangemaakt als een user voor de eerste keer inlogt moet je een aantal selinux-policies met de hand toevoegen.
+
Als je wilt zorgen dat homedirs automatisch op de client worden aangemaakt als een user voor de eerste keer inlogt moet je een aantal selinux-policies met de hand toevoegen. Voer het volgende uit:
 +
<pre>
 +
echo "type=AVC msg=audit(1362752162.919:44): avc:  denied  { associate } for  pid=1803 comm="mkhomedir" name="root" \
 +
scontext=unconfined_u:object_r:user_home_dir_t:s0 tcontext=system_u:object_r:home_root_t:s0 tclass=filesystem" | audit2allow -M nfs-audit1
 +
echo "type=AVC msg=audit(1362752477.581:55): avc:  denied  { setattr } for  pid=1847 comm="mkhomedir" name="root" dev=0:14 ino=25952257 \
 +
scontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=dir" | audit2allow -M nfs-audit2
 +
echo "type=AVC msg=audit(1362752477.582:56): avc:  denied  { rmdir } for  pid=1847 comm="mkhomedir" name="loostrum" dev=0:14 ino=25952257 \
 +
scontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=dir" | audit2allow -M nfs-audit3
 +
echo "type=AVC msg=audit(1362752777.335:83): avc:  denied  { create } for  pid=1892 comm="mkhomedir" name=".bash_profile" \
 +
scontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:home_root_t:s0 tclass=file" | audit2allow -M nfs-audit4
 +
echo "type=AVC msg=audit(1362752938.945:91): avc:  denied  { write open } for  pid=1911 comm="mkhomedir" name=".bash_profile" dev=0:14 \
 +
ino=25952258 scontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=file" | audit2allow -M nfs-audit5
 +
echo "type=AVC msg=audit(1362753117.946:99): avc:  denied  { setattr } for  pid=1933 comm="mkhomedir" name=".bash_profile" \
 +
dev=0:14 ino=25952258 scontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=file" | audit2allow -M nfs-audit6
 +
echo "type=AVC msg=audit(1362753117.947:100): avc:  denied  { unlink } for  pid=1933 comm="mkhomedir" name=".bash_profile" \
 +
dev=0:14 ino=25952258 scontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=file" | audit2allow -M nfs-audit7
 +
semodule -i nfs-oddjob1.pp
 +
semodule -i nfs-oddjob2.pp
 +
semodule -i nfs-oddjob3.pp
 +
semodule -i nfs-oddjob4.pp
 +
semodule -i nfs-oddjob5.pp
 +
semodule -i nfs-oddjob6.pp
 +
semodule -i nfs-oddjob7.pp
 +
</pre>

Revision as of 21:05, 8 March 2013

NFS is een acronym voor Network File System, een manier om partities over een netwerk te mounten. Binnen A–Eskwadraat gebruiken we dit om de volgende partities te delen tussen de workstations:

Hiervan worden `/home` en `/var/mail` op quota gemonitord.

NFS met Kerberos maken

NFS-server aanmaken

De eerste stap die gedaan moet worden is dat op de ipa-server het volgende commando moet worden uitgevoerd:

ipa service-add nfs/<ipa-server-addres>

(Als root): Zorg dat de volgende packages geïnstalleerd zijn op de nfs-server: rpcbind nfs-utils nfs-utils-lib. Zo niet:

yum install rpcbind nfs-utils nfs-utils-lib

Zorg er vervolgens voor dat nfs, nfslock en rpcbind als deamons goed worden gestart:

chkconfig --level 35 nfs on
chkconfig --level 35 nfslock on 
chkconfig --level 35 rpcbind on

Start dan de deamons:

service rpcbind start
service nfslock start
service nfs start

Vervolgens moeten de juiste poorten in de firewall opengezet worden:

  • TCP/UDP 111: voor de portmapper
  • TCP/UDP 2049: voor NFSD

en verander het volgende in /etc/sysconf/nfs:

LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
RQUOTAD_PORT=875
STATD_PORT=662
STATD_OUTGOING_PORT=2020

en zet het volgende in /etc/sysconf/iptables:

-A INPUT -m state --state NEW -p tcp --dport 32803 -j ACCEPT
-A INPUT -m state --state NEW -p udp --dport 32769 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 892 -j ACCEPT
-A INPUT -m state --state NEW -p udp --dport 892 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 875 -j ACCEPT
-A INPUT -m state --state NEW -p udp --dport 875 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 662 -j ACCEPT
-A INPUT -m state --state NEW -p udp --dport 662 -j ACCEPT

Restart iptables:

service iptables restart

In het bestand /etc/exports staan alle directories die je via nfs wilt delen. Voeg voor iedere dir die je wilt delen de volgende regels aan /etc/exports toe:

*path-to-dir*  *(rw,fsid=0,insecure,no_subtree_check,no_root_squash)
*path-to-dir*  gss/krb5(rw,fsid=0,insecure,no_subtree_check)
*path-to-dir*  gss/krb5i(rw,fsid=0,insecure,no_subtree_check)
*path-to-dir*  gss/krb5p(rw,fsid=0,insecure,no_subtree_check)

Zet ook het volgende in /etc/sysconfig/nfs:

SECURE_NFS=yes

Restart de deamons:

service rpcbind restart
service nfs restart

en vanwege de secure_nfs:

chkconfig rpcsvcgssd; service rpcsvcgssd restart

NFS-client aanmaken

(Als root:) Zorg ervoor dat de juiste package zijn geïnstalleerd:

yum install nfs-utils nfs-utils-lib

Nu kan je de map mounten:

mount <NFS-SERVER-IP>:<DIR> <MOUNTDIR>

Ook kan je de nfs automatisch laten mounten bij startup door de volgende regel toe te voegen in /etc/fstab:

<NFS-SERVER-IP>:<DIR> <MOUNTDIR>   nfs4   rw,noatime,context="selinuxcontext"   0 0

Als je wilt zorgen dat homedirs automatisch op de client worden aangemaakt als een user voor de eerste keer inlogt moet je een aantal selinux-policies met de hand toevoegen. Voer het volgende uit:

echo "type=AVC msg=audit(1362752162.919:44): avc:  denied  { associate } for  pid=1803 comm="mkhomedir" name="root" \
scontext=unconfined_u:object_r:user_home_dir_t:s0 tcontext=system_u:object_r:home_root_t:s0 tclass=filesystem" | audit2allow -M nfs-audit1
echo "type=AVC msg=audit(1362752477.581:55): avc:  denied  { setattr } for  pid=1847 comm="mkhomedir" name="root" dev=0:14 ino=25952257 \
scontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=dir" | audit2allow -M nfs-audit2
echo "type=AVC msg=audit(1362752477.582:56): avc:  denied  { rmdir } for  pid=1847 comm="mkhomedir" name="loostrum" dev=0:14 ino=25952257 \
scontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=dir" | audit2allow -M nfs-audit3
echo "type=AVC msg=audit(1362752777.335:83): avc:  denied  { create } for  pid=1892 comm="mkhomedir" name=".bash_profile" \
scontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:home_root_t:s0 tclass=file" | audit2allow -M nfs-audit4
echo "type=AVC msg=audit(1362752938.945:91): avc:  denied  { write open } for  pid=1911 comm="mkhomedir" name=".bash_profile" dev=0:14 \
ino=25952258 scontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=file" | audit2allow -M nfs-audit5
echo "type=AVC msg=audit(1362753117.946:99): avc:  denied  { setattr } for  pid=1933 comm="mkhomedir" name=".bash_profile" \
dev=0:14 ino=25952258 scontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=file" | audit2allow -M nfs-audit6
echo "type=AVC msg=audit(1362753117.947:100): avc:  denied  { unlink } for  pid=1933 comm="mkhomedir" name=".bash_profile" \
dev=0:14 ino=25952258 scontext=unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023 tcontext=system_u:object_r:home_root_t:s0 tclass=file" | audit2allow -M nfs-audit7
semodule -i nfs-oddjob1.pp
semodule -i nfs-oddjob2.pp
semodule -i nfs-oddjob3.pp
semodule -i nfs-oddjob4.pp
semodule -i nfs-oddjob5.pp
semodule -i nfs-oddjob6.pp
semodule -i nfs-oddjob7.pp