Tôi đang cố gắng thực hiện một người dùng NFSv4 gắn kết máy tính xách tay (spigot, 21.10) với máy chủ (deuce, 20.04 LTS) bằng Kerberos và vì lý do nào đó rpc.gssd
không thể thấy bộ đệm thông tin xác thực của tôi. Lưu ý rằng đây 100% là sự cố phía máy khách vì máy chủ NFS đã hoạt động tốt với máy khách Mac.
trong tôi /etc/fstab
trên máy tính xách tay, tôi có những điều sau đây:
deuce:/home/dorian /net/dorian nfs4 sec=krb5p,soft,user,noauto 0 0
Khi tôi cố gắng gắn kết
như tôi:
dorian@spigot:~$ mount -t nfs4 -vvvv deuce:/home/dorian
mount.nfs4: thời gian chờ được đặt cho Thứ bảy ngày 18 tháng 12 10:41:06 năm 2021
mount.nfs4: thử các tùy chọn dựa trên văn bản 'sec=krb5p,soft,vers=4.2,addr=172.16.0.254,clientaddr=172.16.0.19'
mount.nfs4: mount(2): Quyền bị từ chối
mount.nfs4: truy cập bị máy chủ từ chối trong khi cài đặt deuce:/home/dorian
rpc.gssd -f -vvv
tiết lộ những điều sau đây:
handle_gssd_upcall: 'mech=krb5 uid=0 service=* enctypes=18,17,16,3,1,2' (nfs/clnt12)
krb5_use_machine_creds: uid 0 tgtname (null)
Tên máy chủ đầy đủ cho 'deuce.office.srs.biz' là 'deuce.office.srs.biz'
Tên máy chủ đầy đủ cho 'spigot' là 'spigot'
Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi nhận mục nhập keytab cho '[email protected]'
Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi nhận mục nhập keytab cho '[email protected]'
Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' trong khi nhận mục nhập keytab cho 'root/[email protected]'
Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi nhận mục nhập keytab cho 'nfs/[email protected]'
Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi nhận mục nhập keytab cho 'host/[email protected]'
LỖI: Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi bắt đầu quét keytab cho keytab 'FILE:/etc/krb5.keytab'
LỖI: Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi bắt đầu quét keytab cho keytab 'FILE:/etc/krb5.keytab'
LỖI: Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi bắt đầu quét keytab cho keytab 'FILE:/etc/krb5.keytab'
Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi nhận mục nhập keytab cho 'SPIGOT$@'
Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi nhận mục nhập keytab cho 'root/spigot@'
Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi nhận mục nhập keytab cho 'nfs/spigot@'
Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi nhận mục nhập keytab cho 'host/spigot@'
LỖI: Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi bắt đầu quét keytab cho keytab 'FILE:/etc/krb5.keytab'
LỖI: Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi bắt đầu quét keytab cho keytab 'FILE:/etc/krb5.keytab'
LỖI: Không tìm thấy tệp bảng khóa '/etc/krb5.keytab' khi bắt đầu quét keytab cho keytab 'FILE:/etc/krb5.keytab'
LỖI: gssd_refresh_krb5_machine_credential: không tìm thấy mục keytab có thể sử dụng trong keytab /etc/krb5.keytab để kết nối với máy chủ deuce.office.srs.biz
LỖI: Không tìm thấy thông tin xác thực để kết nối với máy chủ deuce.office.srs.biz
thực hiện downcall lỗi
(Chủ yếu đây là tiếng than vãn về việc thiếu tab bàn phím; nếu có tab bàn phím, thay vào đó, nó sẽ than vãn về việc không có phần chính trong đó.)
Nói cách khác, nó thậm chí không cố gắng để đọc ccache Kerberos. Quả thực nó nói uid=0
điều đó có ý nghĩa bởi vì rpc.gssd
thực sự được chạy như root. Nhưng nguồn gốc của gssd_proc.c
gợi ý nó được cho là thả cho người dùng gọi trước khi cố gắng tìm kiếm bộ đệm thông tin xác thực. Tuy nhiên, nó không giống như nó thực sự làm điều này. Thay vào đó, nó được cho là lấy uid từ một tệp ma thuật ở dạng kỳ lạ đó rpc_pipefs
gắn kết, và nếu tôi strace rpc.gssd -f -vvv
Tôi có thể thấy rằng giá trị trong tệp RPC voodoo đó là mech=krb5 uid=0 dịch vụ=*â¦
, vì vậy bất cứ điều gì được cho là đặt điều đó thành uid của người dùng của tôi đều không hoạt động.
(Đáng chú ý là dựa trên nguồn, rằng nỗ lực sử dụng hiệu trưởng dịch vụ được kích hoạt bởi sự kết hợp của một dịch vụ =
có mặt trong tệp pipefs đó cùng với uid=0
.)
Vì vậy, câu hỏi của tôi là: điều gì chịu trách nhiệm thiết lập nội dung của tệp đó (/run/rpc_pipefs/nfs/$CLIENT/krb5
), và tôi cần đọc câu thần chú nào để nó nói đúng?