Объясните полёт мыслей разработчиков .Net

yroslavasako

Сам я этой библиотекой не пользуюсь и надеюсь не придётся. Для тру-мультиплатформенности есть ява, а интерфейсы можно и на QT писать, тем более что QT представлена на более широком спектре платформ, чем .Net.
Но мне постоянно приходится сталкивать с одной и той же ошибкой новичков .Net. Они пишут и отлаживают программы, которые замечательно работают с локальными файлами. Но в большинстве случаев эти программы отказываются работать с файлами, расположенными на примонтированных сетевых дисках. Очевидно, что это фишка дизайна дот нета. Гугл говорит, что процедура работы с удалёнными файлами отличается от работы с локальными и требует дополнительной стадии запроса разрешения на доступ. Но я никак не могу понять - зачем? Это же неудобно. Единообразие было бы куда интуитивно понятнее, да и кривая изучения дот нета стала бы более пологой: сейчас чтобы научиться просто открывать файл из дот нета нужно перелопатить кучу инфы из гугла. А написанные на простых плюсах exeшники замечательно работают независимо от расположения файла. В линуксе вот наоборот стараются сделать так, чтобы пользователь не замечал различия между обычными и специальными файловыми системами, там даже FUSE нормальный сделали. A MS наоборот тумана нагоняет и неочевидности. В чём они видят преимущества такого подхода?

Dasar

Они пишут и отлаживают программы, которые замечательно работают с локальными файлами. Но в большинстве случаев эти программы отказываются работать с файлами, расположенными на примонтированных сетевых дисках.
афаик, там другое.
.net-программа получает урезанные права при запуске из сети.
если программа запущена с компа, то ей пофигу с чем работать: с локальными файлами, или удаленными.
сетевая программа получает урезанные права ради безопасности (ради песочницы).
все это сделано, чтобы можно было запускать удаленные программы без опаски.

yroslavasako

сетевая программа получает урезанные права ради безопасности .
ну вот как всегда всё, что делает MS - ради безопасности. И всё равно толку мало, а вирусов много. Что делать если профили пользователей лежат на домене? Текст программы лежит на той же шаре, что и файлы, которые она обрабатыватт. Или такой use case не предусмотрен?

zya369

Текст программы лежит на той же шаре, что и файлы, которые она обрабатыватт.

запускалка вирусов лежит на той же шаре, что и вирусы, которые она запускает

yroslavasako

запускалка вирусов лежит на той же шаре, что и вирусы, которые она запускает
из-за того, что все вирусы являются программами, обратного не следует: не все программы являются вирусами. Зачем тогда что-то запрещать. Ещё раз подчеркну, что нормальные бинари, компиленные из плюсового кода замечательно работают независимо от своего положения. И только .net подсистема с шар запускаться не хочет. Я понимаю, если бы запретили это делать всем программам (как политика операционной системы но зачем запрещать на уровне библиотеки - этого я понять не могу

Dasar

Я понимаю, если бы запретили это делать всем программам (как политика операционной системы
afaik, ты это может руками сделать - запретить запускать обычные бинари из сети, при этом .net-ные запускаться будут, но с урезанными правами.
ps
запуск обычных бинарей оставили по умолчанию, ради совместимости с предыдущими программами.

yroslavasako

мда. windows-way. Мне вот больше нравится как в линуксе сделали, есть у тебя MAC (например RSBAC и ты в нём можешь настроить подобные ограничения для любой папки. Хочешь добавляй сетевой диск в список ограниченных, хочешь простую директорию - никто не неволит.

agaaaa

С чего ты взял, что это не настраивается?
Навскидку: посмотри Control Panel -> Internet Options -> Security

Dasar

Мне вот больше нравится как в линуксе сделали, есть у тебя MAC (например RSBAC и ты в нём можешь настроить подобные ограничения для любой папки. Хочешь добавляй сетевой диск в список ограниченных, хочешь простую директорию - никто не неволит.
в windows-е все тоже самое, вот только по умолчанию - .net из сети запускается с урезанными правами

yroslavasako

Навскидку: посмотри Control Panel -> Internet Options -> Security
с какого фига опции работы отдельной библиотеки (да-да, в мой виндовс .net не встроен, я сам его ставил) лежат там, куда ты меня послал. Тут что есть прямая связь? Или это очередной пример MSного мышления?

agaaaa

с какого фига опции работы отдельной библиотеки (да-да, в мой виндовс .net не встроен, я сам его ставил) лежат там, куда ты меня послал. Тут что есть прямая связь? Или это очередной пример MSного мышления?
Что именно тебя смущает? Уровень интеграции?
Если тебе это кажется нелогичным, то как я, сидя за свежепоставленной убунту, должен догадаться, что чтобы в линуксе можно было делать то же самое, мне надо поставить RSBAC?

yroslavasako

то что система занята не своим делом. То бишь настройкой пользовательских библиотек. Когда все заняты не своим делом, не ясно, где искать того, который делает нечто нужное тебе

kokoc88

То бишь настройкой пользовательских библиотек.
Она этим не занята. Наоборот, это пользоватльские библиотеки берут настройки из интегрированной подсистемы.

agaaaa

Если в Windows настройки сетевой безопасности поддерживают расширение, то почему бы .NET'у их не расширить?

zya369

 
все вирусы являются программами, обратного не следует: не все программы являются вирусами.
вообще-то, утверждение
(все вирусы являются программами) => (все программы являются вирусами)
верно :grin:

yroslavasako

main
{
return 0
}
точно вирус?

Dasar

точно вирус?
если под вирусом понимать узкое толкование: это программа, которая делает не то, что ожидал пользователь,
то да - это вирус, если пользователь ожидал чего-то другого.

zya369

-3

лол.. логику ботать надо, неучи :grin:
gif-ка, которая у программы просмотрщика вызывает какой-нить оверфлоу и выполняет вредоносный код - это программа?

zya369

main
{
return 0
}

заботатай, чтоли, что такое импликация

yroslavasako

gif-ка, которая у программы просмотрщика вызывает какой-нить оверфлоу и выполняет вредоносный код - это программа?
да. потому что в неё встроен бинарный код, исполняемый интерпретатором гифок

zya369

код, исполняемый интерпретатором гифок

лол
тогда дай определение программы

psihodog

хм... а свинячий грипп — это тоже программа?

zya369

хм... а свинячий грипп — это тоже программа?

конечно, ведь там есть генетический код, исполняемый интерпретатором :grin:

zya369

 
-5

 
(все вирусы являются программами) => (все программы являются вирусами)

кто считает, что это утверждение не является верным, не оставайтесь анонимными! форум должен знать своих героев!
эх, анонимусы такие анонимусы :grin:

agaaaa

Я считаю.
1. В данном контексте под словом "вирус" подразумевается компьютерный вирус.
2. Все такие вирусы являются программами. Значит посылка верна.
3. Не все программы являются вирусами (пример - программа Айвенго). Значит следствие неверно.
4. Следовательно утверждение неверно.
Тебе наставили минусов, т.к. либо ты сознательно игнорируешь 1, либо не признаёшь первого предложения из 2. Ну и за то, разумеется, что ты осмеливаешься полагать, будто мы не знаем таблицу истинности импликации.

zya369

Все такие вирусы являются программами.
ну да, я это не признаю. Имхо вышеуказанная картинка не является программой
ну и
 
Ну и за то, разумеется, что ты осмеливаешься полагать, будто мы не знаем таблицу истинности импликации.

за необоснованные предположения минусы обычно не ставят :grin:
и, к тому же, больше всего минусов поставили за первый пост, где никаких предположений о знании кем-либо пресловутой таблицы не было

zorin29

Прочитав тред, поставил тебе плюс.

Vadim69

блин, а я голову ломал, отчего так :crazy:
пытался настроить запуск игрушек с файлопомойки, и удивлялся: вторая халфа нормально запускается с подмонтированной шары из вайна, и отказывается запускаться с нее же из венды.
Оставить комментарий
Имя или ник:
Комментарий: