wuesten.fuchs
01.08.11, 21:48
Hallo Gemeinde,
ich betreibe hier einen Kerberos Dienst und will einen NFS-Server anbinden, was soweit auch klappt.
Nun soll ein weiterer Server beim Systemstart automatisch auf NFS-Freigaben zugreifen können. Und hier beginnt es zu haken. Kurz: Wenn ich mich am NFS-Client als normaler Benutzer anmelde und mir mit "kinit" ein Kerberos Ticket hole, kann ich problemlos lesend und schreibend auf diese Freigaben zugreifen, sofern die Besitzrechte stimmen.
Will ich aber als root darauf zugreifen, kann ich nur lesend darauf zugreifen. Will ich auch schreiben, kommt folgendes:
root@nfs-client:~# touch /srv/ssl/test
touch: kann „/srv/ssl/test“ nicht berühren: Keine Berechtigung
Hier die Dateiberechtigungen:
root@nfs-client:~# ls -la /srv/ssl/
insgesamt 12
drwxr-xr-x 3 root root 4096 2011-08-01 21:01 .
drwxr-xr-x 5 root root 4096 2011-07-31 21:08 ..
-rw-r--r-- 1 root root 0 2011-08-01 21:01 te
und ja, owner und group sind wirklich root:
root@nfs-client:~# ls -lan /srv/ssl/
insgesamt 12
drwxr-xr-x 3 0 0 4096 2011-08-01 21:01 .
drwxr-xr-x 5 0 0 4096 2011-07-31 21:08 ..
-rw-r--r-- 1 0 0 0 2011-08-01 21:01 te
Die uids und gids sind auf NFS server und NFS client gleich.
Hier meine /etc/exports:
/export gss/krb5p(rw,fsid=0,insecure,no_subtree_check,async)
/export/ssl gss/krb5p(rw,nohide,insecure,no_subtree_check,async,no _root_squash)
Und die fstab auf dem client:
nfs-server.example.com:/ssl /srv/ssl nfs4 rw,sec=krb5p,hard,intr 0 0
Ein Kerberos Maschinen-Ticket ist auf dem Client vorhanden:
root@nfs-client:~# klist /tmp/krb5cc_machine_EXAMPLE.COM
Ticket cache: FILE:/tmp/krb5cc_machine_EXAMPLE.COM
Default principal: nfs/nfs-client.example.com@EXAMPLE.COM
Valid starting Expires Service principal
08/01/11 21:46:53 08/02/11 07:46:53 krbtgt/EXAMPLE.COM@EXAMPLE.COM
renew until 08/02/11 21:46:53
08/01/11 21:46:53 08/02/11 07:46:53 nfs/nfs-server.example.com@EXAMPLE.COM
renew until 08/02/11 21:46:53
Egal, mit welcher Verbosity ich sowohl den KDC, als auch sämtliche NFS-Daemonen sowohl auf Server-, als auch auf Client-Seite laufen lasse, es kommt keine Fehlermeldung, bis auf die folgende (und die sagt nix anderes, als dass ein Berechtigungsproblem vorliegt, was ich ja im Terminal schon gesehen hab):
fh_verify: //ssl permission failure, acc=3, error=13
Ich bin mir ziemlich sicher, dass es kein Kerberos-Problem ist, sondern ein "simples" Berechtigungsproblem im NFS. Aber ich kann mir nicht erklären, woher das Problem kommt, denn die üblichen Verdächtigen (unterschiedliche uids, Dienste nicht alle gestartet, usw) scheinen ja ok zu sein.
Hier meine /etc/krb5.conf:
[libdefaults]
allow_weak_crypto = true
[realms]
EXAMPLE.COM = {
kdc = kerberos.example.com
admin_server = kerberos.example.com
master_kdc = kerberos.example.com
default_domain = example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
[login]
krb4_convert = false
krb4_get_tickets = false
/etc/default/nfs-kernel-server:
RPCNFSDCOUNT=8
RPCNFSDPRIORITY=0
RPCMOUNTDOPTS=--manage-gids
NEED_SVCGSSD=yes
RPCSVCGSSDOPTS=
/etc/default/nfs-common:
NEED_STATD=
STATDOPTS=
NEED_IDMAPD=yes
NEED_GSSD=yes
Hab ich eine Konfigurationsdatei vergessen?
Das Ganze läuft unter stock Ubuntu 10.04.3 mit den neuesten Patches.
Wäre nett, wenn jemand eine Idee hätte, warum mir der Client fehlerhafte Berechtigungen vorwirft, obwohl alles zu stimmen scheint. Bin echt langsam ratlos...
ich betreibe hier einen Kerberos Dienst und will einen NFS-Server anbinden, was soweit auch klappt.
Nun soll ein weiterer Server beim Systemstart automatisch auf NFS-Freigaben zugreifen können. Und hier beginnt es zu haken. Kurz: Wenn ich mich am NFS-Client als normaler Benutzer anmelde und mir mit "kinit" ein Kerberos Ticket hole, kann ich problemlos lesend und schreibend auf diese Freigaben zugreifen, sofern die Besitzrechte stimmen.
Will ich aber als root darauf zugreifen, kann ich nur lesend darauf zugreifen. Will ich auch schreiben, kommt folgendes:
root@nfs-client:~# touch /srv/ssl/test
touch: kann „/srv/ssl/test“ nicht berühren: Keine Berechtigung
Hier die Dateiberechtigungen:
root@nfs-client:~# ls -la /srv/ssl/
insgesamt 12
drwxr-xr-x 3 root root 4096 2011-08-01 21:01 .
drwxr-xr-x 5 root root 4096 2011-07-31 21:08 ..
-rw-r--r-- 1 root root 0 2011-08-01 21:01 te
und ja, owner und group sind wirklich root:
root@nfs-client:~# ls -lan /srv/ssl/
insgesamt 12
drwxr-xr-x 3 0 0 4096 2011-08-01 21:01 .
drwxr-xr-x 5 0 0 4096 2011-07-31 21:08 ..
-rw-r--r-- 1 0 0 0 2011-08-01 21:01 te
Die uids und gids sind auf NFS server und NFS client gleich.
Hier meine /etc/exports:
/export gss/krb5p(rw,fsid=0,insecure,no_subtree_check,async)
/export/ssl gss/krb5p(rw,nohide,insecure,no_subtree_check,async,no _root_squash)
Und die fstab auf dem client:
nfs-server.example.com:/ssl /srv/ssl nfs4 rw,sec=krb5p,hard,intr 0 0
Ein Kerberos Maschinen-Ticket ist auf dem Client vorhanden:
root@nfs-client:~# klist /tmp/krb5cc_machine_EXAMPLE.COM
Ticket cache: FILE:/tmp/krb5cc_machine_EXAMPLE.COM
Default principal: nfs/nfs-client.example.com@EXAMPLE.COM
Valid starting Expires Service principal
08/01/11 21:46:53 08/02/11 07:46:53 krbtgt/EXAMPLE.COM@EXAMPLE.COM
renew until 08/02/11 21:46:53
08/01/11 21:46:53 08/02/11 07:46:53 nfs/nfs-server.example.com@EXAMPLE.COM
renew until 08/02/11 21:46:53
Egal, mit welcher Verbosity ich sowohl den KDC, als auch sämtliche NFS-Daemonen sowohl auf Server-, als auch auf Client-Seite laufen lasse, es kommt keine Fehlermeldung, bis auf die folgende (und die sagt nix anderes, als dass ein Berechtigungsproblem vorliegt, was ich ja im Terminal schon gesehen hab):
fh_verify: //ssl permission failure, acc=3, error=13
Ich bin mir ziemlich sicher, dass es kein Kerberos-Problem ist, sondern ein "simples" Berechtigungsproblem im NFS. Aber ich kann mir nicht erklären, woher das Problem kommt, denn die üblichen Verdächtigen (unterschiedliche uids, Dienste nicht alle gestartet, usw) scheinen ja ok zu sein.
Hier meine /etc/krb5.conf:
[libdefaults]
allow_weak_crypto = true
[realms]
EXAMPLE.COM = {
kdc = kerberos.example.com
admin_server = kerberos.example.com
master_kdc = kerberos.example.com
default_domain = example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
[login]
krb4_convert = false
krb4_get_tickets = false
/etc/default/nfs-kernel-server:
RPCNFSDCOUNT=8
RPCNFSDPRIORITY=0
RPCMOUNTDOPTS=--manage-gids
NEED_SVCGSSD=yes
RPCSVCGSSDOPTS=
/etc/default/nfs-common:
NEED_STATD=
STATDOPTS=
NEED_IDMAPD=yes
NEED_GSSD=yes
Hab ich eine Konfigurationsdatei vergessen?
Das Ganze läuft unter stock Ubuntu 10.04.3 mit den neuesten Patches.
Wäre nett, wenn jemand eine Idee hätte, warum mir der Client fehlerhafte Berechtigungen vorwirft, obwohl alles zu stimmen scheint. Bin echt langsam ratlos...