Hướng dẫn php chown() operation not permitted - hoạt động php chown() không được phép

Vì bạn đã gắn thẻ câu hỏi này là Linux Tôi cho rằng bạn sử dụng máy chủ Apache. Trong các máy chủ sản xuất, quy trình Apache, sở hữu tất cả các quy trình PHP, thường được thực hiện bởi apache user hoặc người dùng khác không phải là root user.

Ghi nhớ điều đó, những gì bạn đang cố gắng làm là sử dụng hàm chown, (sẽ được thực thi như người dùng Apache) để thay đổi chủ sở hữu của tệp mà bạn không sở hữu. (Có, bạn chỉ có thể thay đổi chủ sở hữu thành các tệp bạn sở hữu).

Bạn thấy đấy, trích dẫn hướng dẫn sử dụng PHP, chức năng Chown cố gắng thay đổi chủ sở hữu:attempts to change the owner:

Cố gắng thay đổi chủ sở hữu của tệp tệp cho người dùng người dùng. Chỉ có siêu nhân có thể thay đổi chủ sở hữu của một tập tin.

Trong các máy chủ sản xuất thường bạn đang chạy như trong chế độ thư mục người dùng, điều đó có nghĩa là bạn bị ràng buộc với các tệp trong thư mục nhà của bạn, một cái gì đó như

Code language: CSS (css)
0 và như vậy, các tệp bên trong thư mục
Code language: CSS (css)
1 chỉ đơn giản là nằm ngoài tầm với của bạn (chúng thường là thuộc sở hữu của Root) và đó là lý do tại sao bạn không thể Chown.

Tôi hy vọng nó sẽ giúp. Chúc mừng!

Trên hệ thống Linux hoặc Unix-Base, Chown là lệnh cho phép bạn thay đổi quyền sở hữu người dùng/nhóm của một đường dẫn nhất định. Đường dẫn có thể dẫn đến một tệp, thư mục hoặc liên kết tượng trưng.

Trong bài viết này, chúng tôi sẽ chỉ cho bạn một vài giải pháp cho hoạt động không cho phép lỗi khi chạy các lệnh ____99, cũng như cách chính sách bảo mật hệ thống tập tin hoạt động trong Linux để bạn có thể tránh gặp lỗi này sau này.

Quyền tệp trong Linux

Hệ thống tập tin Linux gốc (EXT) sử dụng quyền tệp và quyền sở hữu tệp để kiểm soát ai sẽ làm gì với các tệp. Có ba loại quyền tệp: file permissions and file ownership to control who gets to do what with files. There are three types of file permissions:

  • Chủ sở hữu đề cập đến người hoặc quy trình đã tạo tập tin. Những loại quyền tệp này ảnh hưởng đến chủ sở hữu của tệp. refer to the person or process who created the file. These type of file permission affect the owner of the file.
  • Nhóm & NBSP; đề cập đến một nhóm người dùng có cùng bộ quyền. refers to a group of users that share the same set of permissions.
  • Khác là tất cả những người dùng không phải là chủ sở hữu, cũng không phải là thành viên của nhóm. are all the users who are neither the owner, nor a member of the group.

"Hoạt động không được phép" nguyên nhân phổ biến

Khi bạn có một cái nhìn tổng quan về cách thức hoạt động của Linux, bạn có thể thấy rằng hoạt động không được phép, thường là do một trong những lý do sau:

  • Hệ thống tập tin không phải là Linux-Bản địa (EXT, EXT2, EXT3, EXT4, JFS, Minix, Reiserfs, Reiser4, XFS)
  • Tệp có cờ bất biến được đặt trong các thuộc tính mở rộng của nó
  • Không có gốc rễ. Bạn cần phải là root để thay đổi quyền sở hữu của một tập tin.
  • Thiết bị lưu trữ được gắn với các tùy chọn không đủ.
  • Thiết bị lưu trữ được gắn chỉ đọc.
  • SELINUX hoặc người thực thi bảo mật khác được áp dụng, ngăn chặn một số người dùng thực hiện một số hành động nhất định trên hệ thống tệp.

Các thuộc tính mở rộng

Đây là nguyên nhân phổ biến nhất của hoạt động của Chown Chown không được phép thông báo lỗi. Trong tình huống này, tệp có cờ bất biến được đặt trong các thuộc tính mở rộng của nó. Trong ví dụ dưới đây, chúng tôi tạo một tệp với bộ cờ bất biến bằng cách sử dụng

Code language: CSS (css)
3, được đặt tên là
Code language: CSS (css)
4 và cố gắng chown chỉ để xem thông báo lỗi hoạt động của Chown Chown không được phép.its extended attributes. In the example below, we create a file with the immutable flag set using
Code language: CSS (css)
3, named
Code language: CSS (css)
4 and tries to chown it only to see “chown operation not permitted” error message.

Để xác minh xem đây chính xác là thuộc tính có vấn đề,

user@LinuxPip ~/tmp % touch the_file [email protected] ~/tmp % sudo chown root:root the_file [sudo] password for user: [email protected] ~/tmp % sudo chattr +i the_file [email protected] ~/tmp % lsattr the_file ----i--------e-- the_file [email protected] ~/tmp % sudo chown user:user the_file chown: changing ownership of 'immutable': Operation not permitted

Code language: CSS (css)

Để loại bỏ thuộc tính bất biến, Run & NBSP; ________ 16 (

Code language: CSS (css)
7 là viết tắt của trừ bất biến)

Code language: CSS (css)

Không đủ các tùy chọn

Đôi khi, các quyền trên một tệp duy nhất được xác định bởi các tùy chọn gắn kết của toàn bộ phân vùng (lần lượt, có nghĩa là bạn không thể thay đổi nó thông qua CHMOD).via chmod).

Trong trường hợp này, để kiểm tra các khối lượng được gắn hiện tại, hãy chạy lệnh sau:

Code language: JavaScript (javascript)

Hoặc đơn giản hơn, bạn có thể gắn lại âm lượng với ‘755 trên các tệp và‘ 777 trên các thư mục, bạn có thể sử dụng một cái gì đó như bên dưới. Hãy nhớ thay thế

Code language: CSS (css)
8 trong lệnh với các chi tiết phù hợp với hệ thống của bạn.

sudo mount -t ntfs -o rw,auto,user,fmask=0022,dmask=0000 /dev/whatever /mnt/whatever

Hệ thống tập tin sai

Trái với những gì hầu hết mọi người tin, NTFS là một hệ thống tập tin tương thích POSIX và & NBSP; có thể sử dụng các quyền trên NTFS.it is possible to use permissions on NTFS.

Nếu bạn đang thực hiện các hoạt động trên hệ thống được định dạng NTFS, bạn nên biết rằng NTFS cũng là một hệ thống tập tin tương thích POSIX. Điều đó có nghĩa là có thể sử dụng các quyền trên NTFS.

Để kích hoạt cài đặt quyền, bạn cần một tệp ánh xạ người dùng trên mạng hoặc gắn khối lượng với tùy chọn ____ 19 & nbsp; ở nơi đầu tiên. Bản đồ này giữa các danh tính trong Windows và Linux và ghi/đọc các tệp với ID người dùng chính xác như NTFS/Windows sử dụng chúng trong nội bộ.“User Mapping File” or mount the volume with

Code language: CSS (css)
9 option in the first place. This maps between identities in Windows and Linux and write/read files with the correct user IDs like NTFS/Windows use them internally.

& NBSP; NTFS-3G MANPAGE & NBSP; cung cấp một số thông tin và ví dụ hữu ích về điều này. Nếu bạn cần thêm thông tin, hãy xem tài liệu nâng cao & NBSP; NTFS-3G về quyền sở hữu và quyền.

Không có đặc quyền gốc

Trong Linux, bạn phải là root hoặc có đặc quyền gốc để thay đổi chủ sở hữu các tập tin/thư mục. Để chạy các lệnh dưới các đặc quyền gốc, tiền tố nó với

Code language: JavaScript (javascript)
0. Ngoài ra, trong trường hợp bạn chỉ chạy nó, chạy
Code language: JavaScript (javascript)
1 để chạy lệnh cuối cùng mà không cần gõ lại.

Chúng tôi hy vọng rằng thông tin trên đã giúp bạn giải quyết hoạt động của Chown không được phép thông báo lỗi. Bạn có thể quan tâm đến các phần mềm phần mềm Linux của chúng tôi, bao gồm & NBSP; 8 Phần mềm CMDB nguồn mở tốt nhất, & NBSP; Bộ chuyển đổi video Linux tốt nhất, & NBSP;8 Best Open Source CMDB softwareBest Linux Video ConvertersBest Linux Home Security Software, or best SNES emulator for Linux.

Nếu bạn có bất kỳ đề xuất, xin vui lòng để lại một bình luận bên dưới.

Bấm để đánh giá bài viết này!

Bạn đã bỏ phiếu cho bài viết này

Ai được phép Chown?

Hầu hết các hệ thống UNIX ngăn người dùng từ các tệp cho đi, nghĩa là người dùng chỉ có thể chạy Chown nếu họ có các đặc quyền người dùng và nhóm mục tiêu.Vì sử dụng Chown yêu cầu sở hữu tệp hoặc là root (người dùng không bao giờ có thể phù hợp với các tệp của người dùng khác), chỉ có root mới có thể chạy Chown để thay đổi chủ sở hữu tệp thành người dùng khác.users may only run chown if they have the target user and group privileges. Since using chown requires owning the file or being root (users can never appropriate other users' files), only root can run chown to change a file's owner to another user.

Hoạt động không được phép trong Linux là gì?

Bạn đã gặp lỗi này vì người dùng của bạn không phải là chủ sở hữu của thư mục /root.Vì vậy, bạn không thể thay đổi quyền của thư mục của mình ngoài người dùng gốc.Bạn cần chuyển sang tài khoản gốc của mình và chạy các lệnh như hiển thị bên dưới.your user is not the owner of /root folder. So you can't change the permission of your folder other than the root user. You need to switch to your root account and run the commands as shown below.

Làm thế nào sử dụng lệnh chown trong linux?

Để thay đổi nhóm của một tệp, chỉ định tên nhóm hoặc GID bằng lệnh Chown.Nó đại diện cho hành vi tương tự như lệnh CHGRP.Thực hiện lệnh Chown Chỉ định tên nhóm được phân tách bằng dấu hai chấm như sau: sudo Chown: GroupName Demo.sudo chown :groupname Demo.