Tôi đang làm việc trong 2 môi trường:
1 là một máy ảo chạy RHEL 7 (PRETTY_NAME="Red Hat Enterprise Linux Server 7.9") cho độ khó
Cái còn lại là nhóm kubernetes chạy ubuntu (PRETTY_NAME="Ubuntu 18.04.5 LTS").
Có một người dùng (jbossrdi) có thể chạy các lệnh nfs4_acl trong các môi trường này để thay đổi ACL cho các thư mục và tệp. Các thư mục trong workingdir do người dùng này sở hữu và có các thư mục sau của ACE được áp dụng đệ quy:
A::[email protected]:rwaDxtTnNcCy, A:fdi:[email protected]:rwaDxtTnNcCy
Các thư mục và tệp này có sẵn trong cả hai môi trường, một sự khác biệt nhỏ đối với môi trường nhóm k8s nơi nó được chuyển hướng bằng một liên kết tượng trưng. Liên kết tượng trưng đặt /gpfs/nobackup/projects/seeds_rdi trên /gpfs/k8s.
Hiện tại, sự cố xảy ra khi sử dụng nfs4_setfacl trong môi trường k8 vì nó có hành vi khác. Sử dụng strace, tôi có thể theo dõi những gì đang xảy ra trong lệnh nfs4_setfacl và tôi quan sát thấy những điều sau:
setxattr("/gpfs/k8s/data/test/Tools/GLENT/dagw/workingdir/decostfr/fdec280122a/doc/GBS_curation.html", "system.nfs4_acl", "\0\0\0\26\0\0 \0\0\0\0\0\0\0\26\1\277\0\0\0\10decostfr\0\0\0", 728, XATTR_REPLACE) = -1 EINVAL (Đối số không hợp lệ)
Trong môi trường VM thực hiện lệnh tương tự:
setxattr("/gpfs/nobackup/projects/seeds_rdi/data/test/Tools/GLENT/dagw/workingdir/decostfr/fdec280122a/doc/GBS_curation_original.html", "system.nfs4_acl", "\0\0\0\35 \0\0\0\0\0\0\0\0\0\26\1\277\0\0\0\10decostfr\0\0\0", 1036, XATTR_REPLACE) = 0
Một điều cần lưu ý là điều này xảy ra trên các tệp chứ không phải trên các thư mục.
Lệnh mà tôi đã chạy là như sau:
strace nfs4_setfacl -Ra A::decostfr:RWXD,A:fdi:decostfr:RWXD /gpfs/nobackup/projects/seeds_rdi/data/test/Tools/GLENT/dagw/workingdir/decostfr/fdec280122a