Hoạt động chown không được phép cho root


21

Tôi cố gắng để chủ sở hữu của một tập tin để root, nhưng tôi không thể. Tôi đang làm điều này như root. Tôi nhận được thông báo sau:

chown: changing ownership of `ps': Operation not permitted

Một đầu ra ls -lha và lsattr sẽ hỗ trợ giải pháp :)
drAlberT

Câu trả lời:


45

Thuộc tính bất biến có thể được đặt trên tệp. Loại bỏ nó bằng chattr -i


8
Nó là một. Nhưng cảm ơn vì cái gật đầu đúng hướng.
Peter Stuifzand

Cảm ơn bạn, làm thế nào tôi có thể thiết lập thuộc tính bất biến trên nó một lần nữa?
Zim3r

chattr + i <file>
Cian

chattr: Inappropriate ioctl for device while reading flags on
andilabs

8

Một số giải pháp tồn tại, một số trong số họ:

  • bạn có một hệ thống tập tin không cho phép bạn, vd. uid: gid, vd: FAT
  • ổ đĩa đã được gắn chỉ đọc
  • Selinux hoặc các cơ quan thực thi bảo mật khác được áp dụng
  • hệ thống tập tin được đặt ở chế độ chỉ đọc (ví dụ xfs_freeze)
  • tập tin có bộ cờ bất biến (man chattr)

Hệ thống tập tin là ext3, gắn đọc-ghi, Không có Selinux.
Peter Stuifzand

Cũng có thể tệp nằm trong hệ thống tệp NFS, được gắn root_squash, mặc dù không có khả năng được cung cấp tệp.
Cian

3

Buồn cười. Bạn đã kiểm tra nhật ký hệ thống (/ var / log / message, / var / log / syslog, đầu ra của dmesg) xem có manh mối nào không?

Lý do có thể:

  • Bạn đang chạy một số Linux được tăng cường bảo mật, chẳng hạn như SELinux . Những hạn chế nơi thậm chí trên những gì root có thể làm.
  • Tệp nằm trên một hệ thống tệp không hỗ trợ quyền sở hữu tệp, chẳng hạn như (V) FAT. Tùy thuộc vào tùy chọn gắn kết chmod / chown sẽ cung cấp cho bạn lỗi.

3

Thử đi:

[root @ root] # chattr -ais / bin / ls

sau khi thay đổi quyền sở hữu và nhóm trở lại root.


2

Tôi đã có vấn đề tương tự.

$ chattr -V -i dir
chattr 1.41.12 (17-May-2010)
Flags of dir set as s----a---------

Điều đó là không đủ. Vì vậy, tôi đã thêm 'sa'

$ chattr -V -ais dir
chattr 1.41.12 (17-May-2010)
Flags of dir set as ---------------
$ chown root dir
$

Vấn đề được giải quyết :)


0

Tập tin "ps" mà bạn đang cố gắng sử dụng là gì? Là fs gắn kết như ro (chỉ đọc)?

nếu bạn đang nói về / bin / ps, trên debian thì nó luôn như sau:

-rwxr-xr-x 1 root root 76132 2009-05-28 10:48 /bin/ps*

Vấn đề là hệ thống của tôi đã bị hack và một số tệp đã được thay thế. Bây giờ tôi muốn thay thế chúng bằng bản gốc nhưng tôi không làm việc.
Peter Stuifzand

9
Nếu hệ thống của bạn bị hack, thì bạn không muốn đặt lại tệp. Bạn không có cách nào để nói những gì đã bị hỏng, và không có gì trên hệ thống là đáng tin cậy. Xóa, và cài đặt lại từ bản sao lưu.
Cian

1
Như Cian đã nói, nếu hệ thống của bạn bị hack và họ có quyền truy cập root, đừng thay thế các tệp. Nó vẫn có thể chứa một bộ rootkit gần như vô hình chiếm quyền gọi hệ thống. Nó có thể vẫn đang đánh hơi mật khẩu, nó vẫn có thể đã mở các cửa hậu trong các dịch vụ của bạn và và (vô số thứ có thể có mà một máy bị hack có thể chứa). Điều hợp lý để làm là tắt máy và nghiên cứu nội dung của nó ngoại tuyến, bằng cách đặt đĩa vào một hộp khác. Đừng tin tưởng vào máy này và không thay thế bất kỳ nhị phân nào, chúng có thể chứa thông tin có giá trị để khám phá những gì rootkit làm.
kargig

0

Mỗi "dự đoán" được thực hiện bởi các câu trả lời khác là có thể. Một gợi ý gỡ lỗi có thể làm một strace của lệnh, và nhìn vào kết quả để xem vấn đề thực sự trong syscalls chính là những gì.

strace chown root /bin/ps 2>&1 | less 
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.