Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: PHP и права доступа
 
 автор: vasvas   (12.09.2009 в 20:18)   письмо автору
 
 

Здравствуйте, сообщите, пожалуйста, при использовании функции fopen() откуда PHP знает с каким павами создавать файл по умолчанию
Про umask в курсе, но преполагаю, что работает только в том случае, если человек работет через SSH и создаёт файл командой touch.
Возможно ошибаюсь.

  Ответить  
 
 автор: heed   (12.09.2009 в 21:40)   письмо автору
 
   для: vasvas   (12.09.2009 в 20:18)
 

>при использовании функции fopen() откуда PHP знает
PHP не знает, знает реализация ядра операционной системы по работе с файловой системой.
php просто запущен от имени пользователя системы, а такие "высокоуровневые" , например в виндовсNT функции как C-функция fopen , на самом деле вызывают функции ядра системы
это

NTSTATUS NtOpenFile (
PHANDLE handle,
ACCESS_MASK access,
POBJECT_ATTRIBUTES attr,
PIO_STATUS_BLOCK io,
ULONG sharing,
ULONG options
)

DESCRIPTION
Open a file
.
PARAMS
handle [Out] Variable that receives the file handle on return.
access [In] Access desired by the caller to the file.
attr [In] Structure describing the file to be opened.
io [Out] Receives details about the result of the operation.
sharing [In] Type of shared access the caller requires.
options [In] Options for the file open.

Которая в свою очередь уже совершает запросы к файловой системе по всем правилам этой файловой системы уже на уровне работы с жёстким диском
, если я где-то слегка не ошибся

Есть другие системы с другими файловыми системами но в большинстве так-же используется разграничение прав , от которых что-то выполняется.
На уровне ядра есть только короткие комманды , вроде тех что вшиты в функцию NtOpenFile , ими и идёт общение уже конкретно с интерфейсами устройств


UPD// поправка: сначала вызывается CreateFile
, которая потом вызывает NtOpenFile

  Ответить  
 
 автор: vasvas   (13.09.2009 в 00:57)   письмо автору
 
   для: heed   (12.09.2009 в 21:40)
 

Спасибо большое за развёрнутый ответ.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования