![]() |
|
||||||||||
|
|||||
|
"Вождь"
|
Цитата:
И расскажите мне, плз, что вот это все означает: Цитата:
И еще вопрос про группы у кого-то есть линк про то, как их использовать на разных системах? куча файловых функций не работают под windows, что еще хуже...
__________________
а мы летим орбитами путями не избитыми... |
|
|||||
|
"Вождь"
|
The first comment perhaps didn't quite make clear what's on with your umask and the permissions.
The permission passed to a command is first bitwise ANDed with the _INVERSE_ of the current umask, then applied to the file. For example, umask = 0011 and permission = 0775 The inverse of 0011 = 0766 0775 AND 0766 = 111.111.101 AND 111.110.110 = 111.110.100 = 0764 и umask affects permissions when files and directories are created.<BR> umask is short for "Un-Mask".<BR> So umask is "and"ed with the permissions of mkdir, fopen, etc.<BR> In a sense, the umask setting is "subtracted" from the permissions given to mkdir.<BR> Example:<BR> <PRE> umask(011); mkdir('foo', 0777); </PRE> will actually make a directory with permissions 0766. натолкнули меня на размышления. понял как работает, но не понял зачем такое и все-таки где его использовать.
__________________
а мы летим орбитами путями не избитыми... |
|
|||||
|
"Вождь"
|
перефразирую - я не до конца понял, что это вообще за артибут такой, анмаск.
__________________
а мы летим орбитами путями не избитыми... |
|
|||||
|
Ветеран форума
|
umask - это маска с которой создаются файли и директории...
допустим у тебя маска 000 все файлы без маски создаются 777... следовательно твоя маска ничего не поменяет... ну и так далее... обычно маска на создание файлов стоит 133 тобишь файлы создаются с правами 644 хм... =) |
|
|||||
|
"Вождь"
|
отлично! вот теперь все мои непонятки становятся на свои места, но остается недоразумение, если я правильно понял:
- у каждого типа файла(втч директория) есть ессно права досутпа для каждого по умолчанию - это и есть его анмаск? - 777 это понятно rwrwxrwx. То есть анмаск задается как минус привелегия. при работе в серверном скрипте при выполнении срипта анмаск вовзращается на место при измении значения unmask. - если у меня не выставлены параметры unmask, то есть создание любого типа файла дает ему права доступа 777, то, чтобы создать сначала файл, скажем дир логов (666) и какой-нить скрипт 755, я: 1. сначала меняю значение анмаск на на 0111 2. создаю дир логов (666) 3. а вот дальше мне надо прибавить значение для владельца. как тогда быть? или снова отнимать от 777? тут я запутываюсь. 4. создаю файл. при таком использовании (третий пункт прошу пояснить) я получаю то, что хотел - дир с правами 666 и файл с 755?
__________________
а мы летим орбитами путями не избитыми... |
|
|||||
|
Ветеран форума
|
если тебе надо на отдельно взятые директории делать права то лутше сделать так
umask(0); создаёшь фаил chmod($file, 0777); и т.п. а умаск ставишь на ноль... чтобы не влезал =) |
|
|||||
|
"Вождь"
|
да это я понимаю, я тебя про функцию unmask спрашиваю. я же сказал - обойти вариантов всегда куча есть. Меня интересует именно работа функции, мне ничего не надо. я учусь, а не делаю чегонить и мне это срочно надо. вот. поясни, плз, на моем примере - особенно интересует третий пункт.
__________________
а мы летим орбитами путями не избитыми... |
|
|||||
|
Ветеран форума
|
unmask - я чего-то про такую функцию и не слишал никогда =)
а если umask то просто сделал операцию... меняй маску... делай другую операцию... да и всё... |
|
|||||
|
"Вождь"
|
ну вот я ж самой работой-то ее интересуюсь.
вот дальше мне надо прибавить значение для владельца. как тогда быть? или снова отнимать от 777? тут я запутываюсь. анмаск прибавить-то как, знаешь?
__________________
а мы летим орбитами путями не избитыми... |
|
|||||
|
Ветеран форума
|
что значит прибавить значения для владельца?
умаск (прошу заметить всё таки что функции уНмаск нет) работает только для создания файлов и директорий... если что-то надо изменить это уже цхмод... |
![]() |
Часовой пояс GMT +4, время: 14:40. |
|
|
« Предыдущая тема | Следующая тема » |
|
|