Обычный пользователь не может получить доступ к монтированию NFS4 (разрешение запрещено)
У меня есть машины nfsserver и nfsclient.
На nfsserver:
# cat /etc/exports
/export gss/krb5p(rw,sync,fsid=0,no_subtree_check,crossmnt)
/export/home gss/krb5p(rw,sync,no_subtree_check)
На nfsclient он монтируется нормально:
# mount -vvv -t nfs4 -o sec=krb5p nfsserver:/home /homex
mount: fstab path: "/etc/fstab"
mount: mtab path: "/etc/mtab"
mount: lock path: "/etc/mtab~"
mount: temp path: "/etc/mtab.tmp"
mount: UID: 0
mount: eUID: 0
mount: spec: "nfsserver:/home"
mount: node: "/homex"
mount: types: "nfs4"
mount: opts: "sec=krb5p"
mount: external mount: argv[0] = "/sbin/mount.nfs4"
mount: external mount: argv[1] = "nfsserver:/home"
mount: external mount: argv[2] = "/homex"
mount: external mount: argv[3] = "-v"
mount: external mount: argv[4] = "-o"
mount: external mount: argv[5] = "rw,sec=krb5p"
mount.nfs4: timeout set for Tue Apr 30 13:03:13 2013
mount.nfs4: trying text-based options 'sec=krb5p,addr=10.10.10.100,clientaddr=10.10.10.101'
nfsserver:/home on /homex type nfs4 (rw,sec=krb5p)
Но я могу получить доступ только к этому каталогу как root. Обычный пользователь получает:
$ ls /homex
ls: cannot access /homex: Permission denied
$ df /homex
df: `/homex': Permission denied
df: no file systems processed
Я включил все отладки NFS с обеих сторон (nfsserver,nfsclient) с помощью rpcdebug
но единственное, что я вижу на nfsclient во время обычного пользователя, пытающегося получить доступ к смонтированному каталогу, это:
Apr 30 12:51:19 nfsclient kernel: [ 5896.339330] NFS: permission(0:13/917551), mask=0x24, res=-13
Apr 30 12:51:32 nfsclient kernel: [ 5909.182185] NFS: revalidating (0:13/917551)
Apr 30 12:51:32 nfsclient kernel: [ 5909.189372] nfs_revalidate_inode: (0:13/917551) getattr failed, error=-13
Тогда на стороне nfsserver ничего нет (даже нет сетевого трафика при сниффинге с tcpdump).
Права доступа к файлам, кажется, в порядке:
# ls -ld /homex
drwxr-xr-x 3 root root 4096 Apr 5 18:15 /homex
# ls -l /homex
total 4
drwxr-xr-x 6 mike mike 4096 Apr 29 13:48 mike
# df /homex
Filesystem 1K-blocks Used Available Use% Mounted on
nfsserver:/home
20640384 1390208 18201600 8% /homex
Пользователь mike имеет одинаковый UID на обеих машинах.
2 ответа
Kerberized NFS (любой gss
) требует билеты Kerberos. Вам придется использовать гораздо менее безопасный sys
уровень безопасности, если вы хотите использовать для доступа к NFS без билетов.
Было бы лучше, чтобы пользователи приобретали билеты при входе в систему. Ether с помощью sssd
или же pam_krb5
как часть вас pam
стек авторизации или путем делегирования полномочий для ssh
(т.е. GSSAPIAuthentication yes
а также GSSAPIDelegateCredentials
).
Таким образом, пользователь может получить доступ к монтированию NFS после получения билета Kerberos с kinit
,
Но как разрешить пользователю доступ к монтированию NFS без билета?