Видалення файлу chmod 0 без прав суперпользователя?


2

Сценарій PHP невідомо змінив праві прапори (chmod) каталогу на 0. (Ніякого доступу ні до кого, включаючи власника). Якщо у мене немає доступу до цього сервера, чи можна знову видалити файл за допомогою FTP або PHP?

Відповіді:


6

Якщо заборонити деяке використання ACL за межами основної системи дозволів, a chmod 000можна скасувати без додаткових повноважень. Біти дозволу керують доступом до вмісту файлу, але вони не контролюють доступ запису до самих бітів дозволу. Як правило, root і власник файлу завжди мають доступ до запису до бітів дозволу. Отже, ви повинні мати можливість "відновити" файл, якщо ви можете вчинити дії як власника файлу.

$ id -u                                       
501
$ echo foo > foo                              
$ stat -f '%u %p' foo; cat foo                
501 100644
foo
$ chmod 000 foo
$ stat -f '%u %p' foo; cat foo
501 100000
cat: foo: Permission denied
$ chmod 644 foo
$ stat -f '%u %p' foo; cat foo
501 100644
foo

Якщо у вас є доступ до оболонки, і ваш користувач оболонки володіє файлом (або ваш користувач може перейти до власника файлу (su / sudo /…)), то просто chmodповерніть його вручну. В іншому випадку, якщо ви можете редагувати скрипт PHP (а PHP працює як власник файлу), просто відредагуйте його chmodу файлі до потрібних дозволів.


0

Якщо ви можете змінити PHP, який створив файл, в першу чергу, можливо, ви могли б зробити PHP скинути дозволи на те, що ви хочете ...


-1

В основному, ні. Ви втратили весь доступ до файлу. Тільки root може змінити дозволи на цей файл. Зверніться до системного адміністратора або адміністраторів хостингової компанії або провайдера, що розміщує сайт.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.