Tôi đang đấu tranh một chút để nắm bắt khái niệm về chmod()
từ PHP vì khóa học tôi hiện đang thực hiện hơi lỗi thời và liên quan đến safe_mode. Nó nói rằng khi safe_mode bị tắt, các hạn chế để sửa đổi quyền với chmod()
thành tệp khi chủ sở hữu không giống với tệp thực thi lệnh được xóa. Tôi đang làm việc với PHP 5.5.9 trong liên kết với XAMPP, tôi đã xác minh rằng các lá cờ được tắt (chỉ trong trường hợp), nhưng dường như không thể làm cho nó hoạt động. Như tôi đã thực thi kịch bản PHP sau:PHP chmod(): Hoạt động không được phép, việc sử dụng safe_mode có liên quan?
echo "File permissions :" . decoct(fileperms("file_permissions.php"));
chmod("file_permissions.php" ,0777);
tôi nhận được kết quả như sau:
Warning: chmod(): Operation not permitted
quyền của tôi cho các tập tin như sau
[email protected] 1 joelhernandez staff 24 Apr 14 06:59 file_permissions.php
Và tôi đã thực hiện ps aux | grep httpd
để xác nhận rằng máy chủ web của tôi đang hoạt động theo "daemon" của người dùng.
Như tôi đã thay đổi quyền sở hữu tập tin để daemon:
[email protected] 1 daemon staff 24 Apr 14 06:59 file_permissions.php
Tất cả mọi thứ hoạt động, tôi không hiểu tại sao khi tôi đã hiểu rằng với safe_mode tắt, quyền sở hữu tập tin sẽ là vô nghĩa, thay vì cho phép file là cách để xử lý quyền truy cập.
Được rồi, vậy tôi nên tiếp cận phương pháp nào? Không phải safe_mode bị tắt sẽ cho phép thay đổi quyền trong các tệp mà người dùng không sở hữu không? Ngoài ra, tôi tin rằng tôi đọc rằng chmod() không yêu cầu quyền người dùng siêu, chỉ chown() –
'chmod' không phải lúc nào cũng yêu cầu root - người dùng có thể thay đổi chế độ tệp mà họ sở hữu -' joelhernandez' có thể thay đổi chế độ các tệp được sở hữu bởi 'joelhernandez' và' daemon' có thể thay đổi chế độ tệp được sở hữu bởi 'daemon'. Người dùng (ngoài root) không thể thay đổi chế độ tập tin mà họ không sở hữu - 'daemon' không thể thay đổi chế độ tập tin thuộc sở hữu của' joelhernandez'. –
Đối với những gì bạn nên làm thay vào đó, thật khó để nói mà không biết thêm về những gì bạn đang cố gắng để thực hiện. –