Forum Webscript.Ru
Программирование => Perl => Тема начата: от 29 Июня 2002, 02:04:03
-
Люди добрые, мы сами не местные!
Объясните на пальцах, кто толком знает, что такое Владелец, Группа, Остальные. Если я управляю своим файлами на расстоянии, а не на локальном сервере, то я владелец или остальные. Я на Hypermart\'е выставил для перловского файла, где храню настройки, разрешение 0644 , т.е. для группы и всех остальных только чтение. Пишу туда другим перловским файлом из той же директории - пишет. Так ведь тогда любой может туда писать. Для кого же это тогда установлено "только чтение"? Или владелец тот, когда местные файлы пытаются друг друга изменить, а скажем из другой директории - уже "остальные"? Что-то я запутался. Юниксы, помогите разобраться!
Может это для Hypermart\'а так сделано? Я на каком-то хостинге читал, что "можете устанавливать на все максимальное разрешение". Как же тогда с безопасностью?
-
Тема интересная :) . Я вот почитал кой чего и в голове полный бардак. Но из практики кое что понял. Кады ты приходишь на сайт (пусть даже и твой собственный) и броузером пытаешся запустить скрипт - ты "все остальное". Ежели для этого скрипта стоят "чмоды" "запускать разрешено всем" , то скрипт запустится. Если нет - отдыхай , с безопасностью у тебя все Ok. Правда ничего не работает, потому, что низя :).
Ну допустим, можно всем и скрипт запустился. Он теперь король :), но только локальный, в пределах своих владений - рядом и ниже по дереву вложенных каталогов . Т.е. он - типа "владелец" и может делать все, что разрешено владельцу. Поэтому у тебя и пишет скрипт в другой файл.
Насчет "выше" , очевидно только до того каталога который закреплен за владельцем сайта.
Каталоги многих сайтов объединяются в группы (пользователей) . Свою группу можно узнать у администратора. Соответственно, если кто свои файлы разрешает писать группе, тот может от группы и получить запись в свой файл :)
Да простят меня профи этого дела, я собрал в одну кучу сайты и каталоги. Сайты здесь вторичны, наверно.
Если оторваться от сайтов и переключится на *никсы. Они , помнится, изначально придумывались для многопользовательской работы и безопасность ставилась во главу угла. Все пользователи разбиты на группы . Для файлов одной группы , пользователи из другой группы это те самые "все остальные". Внутри одной группы пользователи имеют свое "место" . Каждый пользователь внутри своего места - "владелец". В принципе, он может поделиться файлами со своей группой, установив соответствующие права для "группы" на каждый свой файл (читать,писать,запускать). Так же он может поделиться файлами и с владельцами других групп , т.е. со "всеми остальными", установив соответствующие права на нужные файлы.
Насчет "можете устанавливать на все максимальное разрешение". Думаю, что все же не стоит так делать, дураков и просто любопытных всегда хватало и хватать будет.
Примерно так. Сам не юниксоид, поэтому могу гдето и ошибиться, пусть меня поправят.
-
Значи так.
Под unix есть пользователи. Когда по FTP заходишь и вводишь login/pass тем самым сообщаешь кто ты.
Каждый из пользователей может входить одну или более групп (по умолчанию есть группа с одним пользователем в ней - тобой, но иногда делают группу www-users - для всех кто хостится)
У каждого файла есть принадлежность 1) к user-у 2) к группе
Все, кто не входя в 1) + 2) - other
Каждая запущенная unix программа принадлежит одному пользователю. Следовательно может читать файлы принадлежащие ему лично и группам, в которые он входит.
web-server = unix программа
Обычно она принадлежит системному пользователю nobody или www или www-data.
Следовательно для нее (а также всех скриптов perl/php ею порожденных) твои файлы являются чужими - оно other.
Но на некоторых хостах оно входит в группу www-users и уже не other а group.
Т/е ты своими скриптами можешь читать/писать и свои и чужие файлы на этом хостинге, это не хорошо и с этим брются
Например есть варианты, когда сам веб сервер от root зпужен (главный user ), а все порожденные процессы от имени тех пользователей, кому они принадлежат - т,е тогда никаких chmod-ов не надо.
И еще - если откроешь каталог для записив сем, то скрипт там создаст файлы принадлежащие _не тебе_. И ты не сможешь их редактировать - только копировать и стирать (или писать скрипт для их модификации или chmod-a)
unixoid
-
Oak, здуреть можно - ничего не понял.
Может кто на человеческий язык переведет это?
-
Unregistered1
Издеваешься? Oak тебе все разжевал. Почитай что-нибудь по Unix, в сети полно доступных описаний.
-
Попробую попроще.
В ОС Unix (и иже с ним) существует такая вещь, как разграничение доступа. Это значит, что в Юниксе четко указано кто, что и с чем может сделать.
Начну с первого: кто. Каждый юниксовый пользователь имеет помимо своего логина и пароля (с этим, я думаю, ты уже сталкивался) персональный идентификатор (уникальное число). Помимо этого, пользователи могут объединяться в группы (скажем, работники одного отдела или, как отметил Oak, все пользователи хостящиеся на данном хостинге). Каждая группа также имеет свой уникальный идентификатор (число). И, наконец, все, кто не входит в данную группу и не является данным пользователем, образуют группу допуска other (или world).
Теперь второй пункт: что. Любой пользователь в ОС потенциально может сделать с тем или иным ресурсом (которые, кстати, в Unix\'e организованы как файлы - даже принтеры) три вещи: прочитать (read), изменить (write), запустить (execute). Кстати, последнее действие имеет смысл не для всех данных (скажем, для нескриптовых текстовых файлов оно параллельно).
И, наконец, третье: с чем. Каждый ресурс (скрипты, файлы данных, каталоги, принтеры и т.д. и т.п) содержит метку, которая говорит что и кто может с ним сделать. Эти метки разбиваются на три группы: для хозяина, для группы, для остальных.
Скажем, ты решил создать в своем домашнем каталоге архив mp3 музыки. Для этого ты используешь какие-то утилиты для кодирования, сохранения и т.д., которые, естественно, ты не станешь разрешать запускать другим. Для таких вещей ты разрешаешь чтение, изменение и выполнение только для хозяина. Далее, ты захотел, чтобы некоторые твои друзья имели доступ к каким-то эксклюзивным записям. Для этого ты организуешь их в группу и разрешаешь этой группе, скажем, чтение каталога. И, наконец, все остальные могут просто послушать остальные твои мелодии. Для этого ты разрешаешь доступ к таким мелодям для other (или world).
-
в сети полно доступных описаний
Например...
А вообще-то мне фиолетово, что там стоит - Unix или нет (ну по большому счету, хотя бы). Мне нужно решить эту задачу с безопасностью, и все. Я сайты делаю, и не собираюсь сисадмином становиться, других проблем выше крыши. Не сочтите за грубость, просто хочу ситуацию прояснить.
Есть юниксоиды и "остальные". Oak может и понятно для уников рассказывает, но они и так это знают. А остальным такое изложение - абракадабра. Вопрос в терминологии - что конкретно имеется в виду под Владелец, Группа, Остальные, если хозяин работает со своим сайтом удаленно. И можно ли оптимально решить вопрос с безопасностью в таком случае? Давайте определимся в терминах. А то ощущение такое, что их придумали филологи, а не инженеры.
-
Например...
http://www.freebsd.org.ua/handbook/basics.html - там есть параграф про права доступа
Еще рекомендую http://www.google.com/ http://ya.ru/
А вообще-то мне фиолетово, что там стоит - Unix или нет
А вот это зря!
Мне нужно решить эту задачу с безопасностью, и все. Я сайты делаю
Сам себе противоречишь. Как же ты будешь решать "задачу с безопасностью", если не знаешь, что там стоит? Это невозможно :)
Есть юниксоиды и "остальные". Oak может и понятно для уников рассказывает
Я, к сожалению, не "юниксоид", но Oak и мне понятно рассказывает :)
-
Мне нужно решить эту задачу с безопасностью, и все.
Она не решается. Покрайней мере это следует из того, что ты написал.
Единственный кто ее может решить - админ сервера, вот его и пинай, чтобы получить результат.
-
А если конкретно о твоей проблеме, то тут все просто: когда ты создаешь файл, он наследует твою группу и пользователя - вне зависимости, где на сервере он лежит. Поэтому, любой скрипт на твоем сервере может прочитать содержимое любого файла там-же.
Защита на хостинге останавливается на том, чтобы не дать посторонним (т.е other) читать то, что им не позволено
-
решить эту задачу с безопасностью -
- Она не решается. Покрайней мере это следует из того, что ты написал. Единственный кто ее может решить - админ сервера, вот его и пинай, чтобы получить результат.
Ну вот. Если я всегда свои сайты размещаю не на "офисном сервере-компе", а далеко-далеко - иногда сам не знаю, в каком он городе даже, то безопасности, хоть относительной, не добиться? Тогда в чем преимущество серверов на Unixe. Я думал, как раз в этом, в безопасности и надежности то бишь. Да в том, что файлы запирать flock можно (вообще непонятно, как с этим Windows управляется, когда несколько пользователей из Сети к одному файлу обращаются - кто-то знает? - ведь полно в нете таких серверов).
А вообще-то мне фиолетово, что там стоит - Unix или нет
А вот это зря!
А если безопасности на Unixe не дают, то остается разве что его бесплатность (напару с дорогим, в смыле денег, сисадмином). И это все преимущества? Негусто. А я всегда нос воротил от хостинга, если он на Windows. Может зря? Тока честно, уникумы.
Maniac, я правильно понял? Что если я ставлю чмо файла в 0644, то теми скриптами, что в этой директории, я смогу туда писать, а из поддиректории уже не смогу. И никто ниоткуда туда писать не смогет?
-
я правильно понял? Что если я ставлю чмо файла в 0644, то теми скриптами, что в этой директории, я смогу туда писать, а из поддиректории уже не смогу. И никто ниоткуда туда писать не смогет?
Вот как раз писать и смогет (ты же сам на запись флажок выставил :) )
В общем, читай здесь (http://www.linuxdoc.ru/HOWTO/html/Security-HOWTO.html)
-
А я всегда нос воротил от хостинга, если он на Windows. Может зря?
Нет, не зря!!!
Но только, если ты не хочешь изучать Unix, тебе крайне сложно будет понять, чем он в данном случае лучше. Не делай поспешных выводов.
-
тебе крайне сложно будет понять, чем он в данном случае лучше
Опять туман... У вас что, дар речи отняли. Или это мистика какая-то - лучше, а почему, сформулировать не могу... Вы мне, юниксоиду, просто верьте, я-то знаю, что лучше, но не скажу - вера - это главное, нафиг знания?
-
Maniac ,
Вот Вы меня послали... почитать про линукс, а на фига?
Вот какие перлы я там вычитал:
Вы - Владелец файла
Группа - Группа, к которой вы принадлежите
Остальные - Любой в системе, кто не является владельцем либо членом группы
- академический бред, как на лекции в совковом ВУЗе.
Что это? И кому это что-то говорит: "Вы - Владелец файла". Да знаю я, что владелец. Меня интересует, насколько - когда у меня нет физического доступа к своему серверу, как и у миллионов сайтов. Возможно ли хоть как-то обезопасить свой сайт дистанционно. Может здесь Unix хоть чем-то помочь?
Не знаете, как толком объяснить - не замусоривайте форум словесами. Тут технари есть, или сплошные филологи?
-
Смешно, но сегодня купил Компьютерное Обозрение, там в новостях сообщение о вирусе для FreeBSD. Так что прав был автор на одном из форумов (не помню где), что вирусов для Linuxa нет, потому что это никому не нужно - 1% пользователей. Как только их число вырастет - появятся и вирусы для Unixoв.
Адрес журнала - www.itc.ua (http://www.itc.ua)
-
Опять туман... У вас что, дар речи отняли.
Перечитай мой комментарий, ключевое слово там - "изучать". "Километровые" лекции никто здесь читать не будет, здесь отвечают на конкретные вопросы, ну и ссылки дают полезные :)
А если по твоему вопросу, то Oak был прав:
Единственный кто ее может решить - админ сервера, вот его и пинай, чтобы получить результат.
-
Moderatorial
[ON]
Господа, закругляемся в данном треде.
[/OFF]
-
вирусов для Linuxa нет, потому что это никому не нужно - 1%
Совсем не поэтому
А потому как появилось куча машин без администраторов.
Unix/Linux хорош только тогда, когда за нимсидит админ. Если за ним не сидит админ (не важно сколько человек знает пароль root-а), то время, которое он продержится прямо пропорционально грамотности админа его поставившего - от недели до 3-5 лет (это когда из сисемы удаляются все компиляторы и права на системные файлы ставятся - "не удалять даже root-у" (снимается только при reboot с консоли)
-
файлы запирать flock можно
Глупость.
Эта функция служит для создания возможности проверки единоличного доступа. Они ничего не запрещает. Только проверяет.
Может здесь Unix хоть чем-то помочь?
В unix есть только то , что азрешил root - вот и обращайся к своему админу
Или бери зостинг на котором ты "виртуальный root"
сплошные филологи?
Знаешь как неприятно с ламером говорить, который не желает учиться когда ему рассказываешь :(
-
C Вами все ясно -
Netscape Communicator 4 - is the best
и пр. и пр. - клиника...
-
Unregistered1
не флейми
ты даже не смотрел его исходники.