Мне интересно, почему все еще можно увидеть мой tar-файл, если он принадлежит root и chmoded до 600.
У меня есть Apache, и мой сервер Ubuntu 12.04.
Любое объяснение этого поведения?
родительская папка принадлежит www-данным.
Спасибо!
Мне интересно, почему все еще можно увидеть мой tar-файл, если он принадлежит root и chmoded до 600.
У меня есть Apache, и мой сервер Ubuntu 12.04.
Любое объяснение этого поведения?
родительская папка принадлежит www-данным.
Спасибо!
Вы должны проверить пользователя, который запускает демон apache, возможно, он был запущен от имени пользователя root.
Чтобы устранить неполадки, попробуйте создать новый файл, который Apache не должен позволять загружать.
touch test.tgz
sudo chown root:root test.tgz
sudo chmod 600 test.tgz
Если вы не можете загрузить тестовый файл, это просто какое-то кэширование. Файл может кэшироваться на вашем клиентском компьютере, на сервере или на любом другом промежуточном компьютере.
Если вы не можете получить доступ к одному и тому же файлу с помощью прерывателя кэша (например, example.com/countdown.tgz?test
), никто другой не сможет его скачать.
Я не всем знаком с тем, как Apache внутренне отображает список файлов, но я знаю, как он работает на уровне файловой системы.
Если вы будете пользователем www-data и перейдете в каталог, в котором вы изменили разрешения, и создадите список файлов с помощью ls, вы все равно увидите файл tar, если он равен 600 и принадлежит root.
Разрешение на чтение только говорит о том, что вы можете прочитать содержимое файла. Файловая система хранит список файлов в каталоге внутри каталога "файл". Если у вас есть разрешение на чтение в каталоге, вы можете перечислить все файлы в этом каталоге, это не значит, что вы можете читать каждый файл.
Если вы хотите, чтобы файл был скрыт, вы либо называете его точкой - что-то вроде .myfile.tar (но Apache может также отображать скрытые файлы), либо перемещаете его в другое место.
Также вы можете создать подкаталог, принадлежащий root, и с группой, принадлежащей той же группе, что и www-data, со следующими правами 730. 3 означает доступный для записи и выполнения, в каталоге это означает, что вы можете изменить его структуру (создать или переименовать файл), потому что вы можете написать внутри каталога "файл" и получить доступ к его подэлементу (это то, что x обозначает в каталоге). Таким образом, даже пользователь www-data может переместить ваш tar-файл в этот подкаталог, но Apache не может вывести его содержимое. И www-data может даже продолжить редактирование файла, если он помнит его имя!