`chattr + i` lỗi trên NFS


8

Tôi đang cố gắng bảo mật authorized_keystệp của mình để ngăn chặn nó bị sửa đổi. Tôi chạy cái này:

[root@localhost]# chattr +i authorized_keys 
chattr: Inappropriate ioctl for device while reading flags on authorized_keys

Tôi nghĩ rằng nó có thể là do hệ thống tập tin:

[root@localhost]# stat -f -c %T /home/user/
nfs

Có cách nào để sửa đổi nó với chattr?

Câu trả lời:


8

NFS không có khái niệm về các tệp không thay đổi, đó là lý do tại sao bạn gặp lỗi. Tôi khuyên bạn chỉ nên xóa quyền truy cập ghi từ mọi người thay vào đó, có lẽ đủ gần với mục đích của bạn.

$ > foo
$ chmod a-w foo
$ echo bar > foo
bash: foo: Permission denied

Sự khác biệt chính giữa việc loại bỏ bit ghi cho tất cả người dùng thay vì sử dụng thuộc tính bất biến:

  • Thuộc tính bất biến phải được bỏ đặt bởi root, trong khi chmod có thể được thay đổi bởi người dùng sở hữu tệp;
  • Thuộc tính bất biến loại bỏ khả năng xóa tệp mà không xóa thuộc tính bất biến, loại bỏ bit ghi không làm được (mặc dù bạn có thể thay đổi quyền thư mục để không cho phép sửa đổi, nếu điều đó được chấp nhận).

Nếu một trong những điều này quan trọng với bạn khi giao dịch với ủy quyền, bạn có thể gặp vấn đề cơ bản hơn với mô hình bảo mật của mình.


2

Chính xác điều này sẽ không hoạt động trên NFS.

Tuy nhiên, trên máy chủ nơi thư mục này được xuất, hãy thử chạy lệnh chattr của bạn. Với một vài vấn đề

Bạn có thể cần kích hoạt ACL:

$ mount -o remount,acl /

(Để thực hiện thay đổi đó, hãy chỉnh sửa / etc / fstab vĩnh viễn)

SELinux có thể cản trở bạn:

Để tìm hiểu cho chắc chắn:

$ ls -Z
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.