On Sunday, 4 March 2012 г. at 13:55, Igor Stasenko wrote:
В том-то и дело, что у системы есть и "простые пользователи" (в том числе админы) — с этими все просто. Но есть и "разработчики" — те, которые определенным образом настраивают систему. В существующей (не на смоллтоке) системе настройка — некоторая "пограничная" задача: значительная часть работы делается через UI (но здесь сделан свой построитель интерфейсов, несколько DSL-ей), а часть работы, хоть и меньшую, все равно сводится к программированию и добавлении новых фич). Smalltalk позволил бы убрать эту границу, отказаться от сложных инструментов (типа GUI Builder-а) и языков с парсерами и близким к неподдерживаемому кодом… в общем, очень серьезно упростить систему. Но тогда такой разработчик сможет получить доступ к тем кускам, к которым доступ им должен быть ограничен. Не могу сказать, что сейчас это разграничение сделано в полной мере, но хотелось бы…
Для этого должны быть права на "поиск" и на подмену идентификатора. Нет?
http://groups.google.ru/group/sugr |
CONTENTS DELETED
The author has deleted this message.
|
2012/3/4 Владимир Мусулайнен <[hidden email]>:
> Пока так и не понял, чем не устраивает подход: > > 1. При старте образа логинимся в систему. > 2. О залогинившемся пользователе знает ВМ. > 3. Пользователь имеет право работать только с объектами, определенными > в его неймспейсе. > 4. Все вызовы в конечном образе уходят в ВМ, она и проверяет право > пользователя внутри примитива. > Устраивает всем. Просто не пойму зачем так мучиться, курочить систему, если можно сделать все очень легко и просто: запускаем два имиджа. в одном пусть ковыряются, другой же закрыт за 10ю замками и контролирует первый. Да, и вот что еще важно: с п.4 не могу согласиться. с таким подходом ВМ должна "узнавать" пользователей, следить за правами и т.п., т.е. после долгих лет упорного труда (курочить ВМ это не очень быстро) вы получите то, что можно на коленке накатать в смаллтолке за месяц а то и меньше. В общем сделать-то можно все. Но просто зачем затрачивать сверх-усилия для этого? Ведь усложняя и так сложную ВМ, вы опять-же делаете хуже себе же: поддерживать такую систему будет намного сложнее чем просто код написанный в смаллтолке. Моя идеология в отношении ВМ была и остается неизменной: ВМ должны быть ТУПОЙ и ПРОСТОЙ насколько это возможно. Вся логика и сложности должны быть исполнены в языке, потому как там им и место, и потому как мир изменчив, и поменять пару строчек в смаллтолке это не менять ВМ. > Понятно, что все описано очень грубо и наружу вылезет не один > подводный камень. > Я так понимаю, что вопрос больше академически-теоретический (судя по > включению в обсуждение Дениса ;)) > > -- > http://groups.google.ru/group/sugr -- Best regards, Igor Stasenko. -- http://groups.google.ru/group/sugr |
In reply to this post by Dennis Schetinin
2012/3/4 Dennis Schetinin <[hidden email]>:
> On Sunday, 4 March 2012 г. at 13:55, Igor Stasenko wrote: > > 2012/3/4 Dennis Schetinin <[hidden email]>: > > У C(++) нет среды. Поэтому все всегда делается через кастомный UI. > Возможность использовать среду Smalltalk для того, чтобы дать возможность > пользователям практически как угодно "перекраивать" приложение под себя, на > мой взгляд, является огромным плюсом. Можно ли разграничить доступ, > оставаясь в рамках среды Smalltalk? Возможно, я беспросветно туп и не вижу > "банального" -- раскройте мне глаза. > > да, конечно хочется чтоб все у нас было, но нам за это ничего не было :) > в других языках вообще речь не идет о среде, и ниче, справляются. > > я бы сначала спросил, а кто потенциальный пользователь вашей системы. > если это программист, > то закрывая ему доступ вы только делаете ему медвежью услугу. > если же это пользователь рода "а где на клавиатуре any key?" то не > вижу смысла вообще > открывать ему доступ к среде. только напугаете человека, а толку > все-равно не будет. > > В том-то и дело, что у системы есть и "простые пользователи" (в том числе > админы) -- с этими все просто. Но есть и "разработчики" -- те, которые > определенным образом настраивают систему. В существующей (не на смоллтоке) > системе настройка -- некоторая "пограничная" задача: значительная часть > работы делается через UI (но здесь сделан свой построитель интерфейсов, > несколько DSL-ей), а часть работы, хоть и меньшую, все равно сводится к > программированию и добавлении новых фич). > для меня такое неприемлемо. Ибо выглядит это как: вот умные дяди построили мне песочницу и за меня решили что мне можно а что нельзя.. вот и сижу леплю тут пасочки. Как я и говорил ранее это медвежья услуга для разработчика. Даже если Вы гений, Вы все-равно не сможете предугадать что может понадобиться для решения той или иной задачи. Всегда найдется ситуация, когда API предоставленный вами будет препятствовать простым решениям. Собственно с любым API с закрытым исходным кодом так и происходит. И собственно это одна из причин почему я выбрал смаллталк. Надоело в песочницах сидеть, знаете-ли :) > Smalltalk позволил бы убрать эту границу, отказаться от сложных инструментов > (типа GUI Builder-а) и языков с парсерами и близким к неподдерживаемому > кодом... в общем, очень серьезно упростить систему. Но тогда такой разработчик > сможет получить доступ к тем кускам, к которым доступ им должен быть > ограничен. Не могу сказать, что сейчас это разграничение сделано в полной > мере, но хотелось бы... > Я конечно понимаю, что часто хочеться усидеть на двух стульях. А что вам мешает контролировать/использовать другой компилятор для компиляции кода из песочницы? Равно как и его выполнение. Тут даже не надо курочить ВМ. Решение как и в других средах - есть среда с "закрытым" кодом, и есть скриптовый язык для игр в пасочки (3DStudio Max, 1C etc).. и все это конечно легко реализовать в смаллтолке, было бы желание. > > ...И в порядке бреда: имеет ли смысл добавить в контекст вызова некий > идентификатор пользователя и (возможно, на уровне виртуалки) запретить > получение сообщений при нехватке прав на их посылку? > > на таком низком уровне? имхо, это не сделает систему более безопасной. > > пути взлома сведутся к банальному поиску нужного идентификатора. > > Для этого должны быть права на "поиск" и на подмену идентификатора. Нет? > ну предпосылка была что мол "можно посылать сообщения любым обьектам". с такой предпосылкой на поиск прав не нужно :) > > -- > Best regards, > Igor Stasenko. > > > -- > http://groups.google.ru/group/sugr -- Best regards, Igor Stasenko. -- http://groups.google.ru/group/sugr |
Владимир Мусулайнен wrote:
За мной закрепилась репутация теоретика? :) Вопрос имеет как "академический" аспект (причем в первую очередь им заинтересован Андрей), так и практический тоже (здесь уже мой шкурный интерес выражен более явно). Igor Stasenko wrote:
Клиентами нашей системы являются государственные органы, в том числе иностранные. Есть информация, доступа к которой у разработчиков/"настройщиков" быть не должно в принципе. Речь как раз и идет о том, чтобы иметь полноценную систему, которую как угодно могут крутить разработчики, но только так, чтобы они никак не могли залезть в "секретные" области. Мысль про два образа (как и ранее про GemStone в качестве источника других идей) принята к размышлению. …повторному, кстати, — раньше она уже появлялась, но была отвергнута; тем не менее, надо еще раз обдумать. А какие средства "прозрачной" работы с удаленным образом сейчас есть в Pharo? Есть что-то близкое к OpenTalk? Или, может быть, что-нибудь получше даже? Но два образа, мне кажется, не снимают проблему для второй упомянутой задачи: Smalltalk в качестве операционки. Как там можно обойтись без "ломания" виртуалки?
On Monday, 5 March 2012 г. at 1:37, Igor Stasenko wrote:
http://groups.google.ru/group/sugr |
2012/3/5 Dennis Schetinin <[hidden email]>:
> Владимир Мусулайнен wrote: > > Я так понимаю, что вопрос больше академически-теоретический (судя по > включению в обсуждение Дениса ;)) > > За мной закрепилась репутация теоретика? :) > > Вопрос имеет как "академический" аспект (причем в первую очередь им > заинтересован Андрей), так и практический тоже (здесь уже мой шкурный > интерес выражен более явно). > > Igor Stasenko wrote: > > тяжело мне представить добавление фич не имея полного доступа к системе. > для меня такое неприемлемо. > > Клиентами нашей системы являются государственные органы, в том числе > иностранные. Есть информация, доступа к которой у > разработчиков/"настройщиков" быть не должно в принципе. Речь как раз и идет > о том, чтобы иметь полноценную систему, которую как угодно могут крутить > разработчики, но только так, чтобы они никак не могли залезть в "секретные" > области. > > Мысль про два образа (как и ранее про GemStone в качестве источника других > идей) принята к размышлению. ...повторному, кстати, -- раньше она уже > появлялась, но была отвергнута; тем не менее, надо еще раз обдумать. А какие > средства "прозрачной" работы с удаленным образом сейчас есть в Pharo? Есть > что-то близкое к OpenTalk? Или, может быть, что-нибудь получше даже? > > Но два образа, мне кажется, не снимают проблему для второй упомянутой > задачи: Smalltalk в качестве операционки. Как там можно обойтись без > "ломания" виртуалки? > > > Best regards, > Dennis Schetinin > Sent with Sparrow > > On Monday, 5 March 2012 г. at 1:37, Igor Stasenko wrote: > > 2012/3/4 Dennis Schetinin <[hidden email]>: > > On Sunday, 4 March 2012 г. at 13:55, Igor Stasenko wrote: > > 2012/3/4 Dennis Schetinin <[hidden email]>: > > У C(++) нет среды. Поэтому все всегда делается через кастомный UI. > Возможность использовать среду Smalltalk для того, чтобы дать возможность > пользователям практически как угодно "перекраивать" приложение под себя, на > мой взгляд, является огромным плюсом. Можно ли разграничить доступ, > оставаясь в рамках среды Smalltalk? Возможно, я беспросветно туп и не вижу > "банального" -- раскройте мне глаза. > > да, конечно хочется чтоб все у нас было, но нам за это ничего не было :) > в других языках вообще речь не идет о среде, и ниче, справляются. > > я бы сначала спросил, а кто потенциальный пользователь вашей системы. > если это программист, > то закрывая ему доступ вы только делаете ему медвежью услугу. > если же это пользователь рода "а где на клавиатуре any key?" то не > вижу смысла вообще > открывать ему доступ к среде. только напугаете человека, а толку > все-равно не будет. > > В том-то и дело, что у системы есть и "простые пользователи" (в том числе > админы) -- с этими все просто. Но есть и "разработчики" -- те, которые > определенным образом настраивают систему. В существующей (не на смоллтоке) > системе настройка -- некоторая "пограничная" задача: значительная часть > работы делается через UI (но здесь сделан свой построитель интерфейсов, > несколько DSL-ей), а часть работы, хоть и меньшую, все равно сводится к > программированию и добавлении новых фич). > > тяжело мне представить добавление фич не имея полного доступа к системе. > для меня такое неприемлемо. Ибо выглядит это как: вот умные дяди > построили мне песочницу и > за меня решили что мне можно а что нельзя.. вот и сижу леплю тут пасочки. > Как я и говорил ранее это медвежья услуга для разработчика. > Даже если Вы гений, Вы все-равно не сможете предугадать что может > понадобиться для решения той или иной задачи. > Всегда найдется ситуация, когда API предоставленный вами будет > препятствовать простым решениям. > Собственно с любым API с закрытым исходным кодом так и происходит. И > собственно это одна из причин почему я выбрал смаллталк. > Надоело в песочницах сидеть, знаете-ли :) > > Smalltalk позволил бы убрать эту границу, отказаться от сложных инструментов > (типа GUI Builder-а) и языков с парсерами и близким к неподдерживаемому > кодом... в общем, очень серьезно упростить систему. Но тогда такой > разработчик > сможет получить доступ к тем кускам, к которым доступ им должен быть > ограничен. Не могу сказать, что сейчас это разграничение сделано в полной > мере, но хотелось бы... > > > Я конечно понимаю, что часто хочеться усидеть на двух стульях. > А что вам мешает контролировать/использовать другой компилятор для > компиляции кода из песочницы? Равно как и его выполнение. Тут даже не > надо курочить ВМ. > Решение как и в других средах - есть среда с "закрытым" кодом, и есть > скриптовый язык для игр в пасочки > (3DStudio Max, 1C etc).. и все это конечно легко реализовать в > смаллтолке, было бы желание. > > > ...И в порядке бреда: имеет ли смысл добавить в контекст вызова некий > идентификатор пользователя и (возможно, на уровне виртуалки) запретить > получение сообщений при нехватке прав на их посылку? > > на таком низком уровне? имхо, это не сделает систему более безопасной. > > пути взлома сведутся к банальному поиску нужного идентификатора. > > Для этого должны быть права на "поиск" и на подмену идентификатора. Нет? > > > ну предпосылка была что мол "можно посылать сообщения любым обьектам". > с такой предпосылкой на поиск прав не нужно :) > > > -- > Best regards, > Igor Stasenko. > > > -- > http://groups.google.ru/group/sugr > > > > > -- > Best regards, > Igor Stasenko. > > -- > http://groups.google.ru/group/sugr > > > -- > http://groups.google.ru/group/sugr -- Best regards, Igor Stasenko. -- http://groups.google.ru/group/sugr |
In reply to this post by Dennis Schetinin
Все изменения в системе происходят с помощью смолтолк компилятора. (конечно есть, разные хаки, но уверен их можно "откючить"). Соответственно нужно изменить компилятор, чтобы контролировать изменения в системе (например, чтоб пользователи не могли изменять конкретные классы).
Есть некоторые наработки в этой области для фары/сквика типа namespaces, envirenments, т.д. Это конечно, не решит проблему доступа к конкретным методам объекта через посылку сообщений, но на мой взгляд, это излишне 5 марта 2012 г. 21:11 пользователь Dennis Schetinin <[hidden email]> написал:
-- http://groups.google.ru/group/sugr |
In reply to this post by Igor Stasenko
Ну, не знаю я, как делаются скриптовые языки. :) Как переделать компилятор — не понял, а только смутно догадываюсь. Видимо, имелась ввиду генерация какого-то кода, в который уже встроены нужные проверки? Но в любом случае спасибо за наводку! http://groups.google.ru/group/sugr |
In reply to this post by Denis Kudriashov
… А я только что отправил предыдущее письмо… Doh! :)
On Monday, 5 March 2012 г. at 22:00, Denis Kudriashov wrote:
http://groups.google.ru/group/sugr |
In reply to this post by vmusulainen-2
Некоторые размышления, которые уже приведены, как раз подходят. :) суббота, 3 марта 2012 г. 10:23:25 UTC+4 пользователь Владимир Мусулайнен написал: Игорь, такая позиция она оправдывающаяся. |
In reply to this post by Nikolay Kleptsov
Вот так я как-то себе и представлял ответ. :) суббота, 3 марта 2012 г. 13:10:38 UTC+4 пользователь Kleptsov Nikolay написал: Безопасность у Smalltalk низкая.-- http://groups.google.ru/group/sugr |
In reply to this post by Igor Stasenko
воскресенье, 4 марта 2012 г. 6:16:40 UTC+4 пользователь Igor Stasenko написал: 2012/3/3 Nikolay Kleptsov <[hidden email]>: Из приложения уровня пользователя ? :) В том то и дело, что Smalltalk - это технология, а не язык, и среда в более узком смысле. Приложения написанные на таких языках как С и С++ работают в среде операционной системы. А в Smalltalk ? Или предполагается, что Smalltalk нужна операционная система ? На мой взгляд не нужна. Теперь вопрос для знатоков: а мешает ли это писать безопасные-- http://groups.google.ru/group/sugr |
In reply to this post by Igor Stasenko
воскресенье, 4 марта 2012 г. 13:55:43 UTC+4 пользователь Igor Stasenko написал: 2012/3/4 Dennis Schetinin <[hidden email]>: Почему же не идет ?!
Не считаю, что программист - не пользователь. Какой бы пользователь не был, он не хочет потерять свои данные. А данные хранятся в образе, а образ поломать просто. Разве не так ? Соглашусь с тем, что абсолютное ограничение программиста - неверно в корне, так как он специалист, и ему решать, как и что должно работать. С другой стороны, не могу согласиться, что программист против ограничения себя со стороны системы, т.к. часто как раз он и не хочет знать деталей реализации, и только рад будет, если она ему подскажет, что он делает что-то не то. -- http://groups.google.ru/group/sugr |
In reply to this post by Nikolay Kleptsov
суббота, 3 марта 2012 г. 22:35:22 UTC+4 пользователь Kleptsov Nikolay написал:
+1
-- http://groups.google.ru/group/sugr |
In reply to this post by Sr Visor
CONTENTS DELETED
The author has deleted this message.
|
In reply to this post by Sr Visor
Однако могу поделиться тем, что мне не нравится в Smalltalk (пользовался только VW и Pharo): так мне проще сформулировать свой ответ. Сразу отмечу, что это моё личное впечатление, и не стоит его воспринимать, как нападки на наш любимый язык. Моя цель не в этом. Мне очень симпатична идея образа, однако она несет в себе массу проблем, на мой взгляд. Во-первых, это аналог Фон-Неймановской модели: код и данные хранятся в одном месте. Удобно, но и небезопасно: потерять данные очень просто. Я не говорю тут о коде. Конечно, можно взять свежий образ и залить в него все нужные пакеты заново, а написав небольшой скриптик на самом же Smalltalk, это будет еще и крайне просто. Однако, что делать с данными - считайте, что это мой первый вопрос. Во-вторых, и это опять касается образа, разделение объектов. То, о чем уже многие успели написать. Мне не нравится, что Smalltalk однопользовательский. Раз уж я приводил аналогию, то для этого случая - это MS-DOS. Доводы были приведены другими вполне ясные: менять можно всё и, как следствие, о сохранности тех же паролей от какого-нибудь репозитория в простейшем случае, от учетных записей mail-клиентов или чего-то еще, речи не идет вовсе. На данный момент этим ограничиваются мои потребности. Но я для того и написал в сообщество, чтобы услышать о других. Если мы разовьем мысли, каждый поделится своим мнением, я, возможно, припомню что-то еще. Но пока эта пара вопросов. понедельник, 5 марта 2012 г. 23:28:15 UTC+4 пользователь Sr Visor написал:
|
In reply to this post by vmusulainen-2
Уверен, что не одно и то же. Но так же и в том, что Smalltalk ОС не нужна. Виртуальной машине нужна ОС. Если смотреть на Smalltalk, как на язык, то смысла в топике нет. Кто-то из обсуждающих использует Smalltalk как скриптовый язык, вроде Python, Ruby, может быть, bash ?! Думаю, что сложно сравнивать bash и Smalltalk. Всё-таки Smalltalk это не просто язык: среда в нем играет важную роль - и то, что она "своя", думаю, тоже не менее важно, и уж тем более, что это "живая" среда. вторник, 6 марта 2012 г. 0:35:00 UTC+4 пользователь Владимир Мусулайнен написал:
Не могу согласиться, речи о создании из Smalltalk ОС не идет. Как вариант развития мысли и пример использования разграничения прав - вполне. http://groups.google.ru/group/sugr |
2012/3/5 Sr Visor <[hidden email]>:
> > Уверен, что не одно и то же. Но так же и в том, что Smalltalk ОС не нужна. > Виртуальной машине нужна ОС. Не нужна. Пример SqueakNOS показывает что можно вполне обходиться без ОС. > Если смотреть на Smalltalk, как на язык, то смысла в топике нет. > Кто-то из обсуждающих использует Smalltalk как скриптовый язык, вроде > Python, Ruby, может быть, bash ?! > Думаю, что сложно сравнивать bash и Smalltalk. Всё-таки Smalltalk это не > просто язык: среда в нем играет важную роль - и то, что она "своя", думаю, > тоже не менее важно, и уж тем более, что это "живая" среда. > > вторник, 6 марта 2012 г. 0:35:00 UTC+4 пользователь Владимир Мусулайнен > написал: >> >> >>> В том то и дело, что Smalltalk - это технология, а не язык, и среда в >>> более узком смысле. >>> Приложения написанные на таких языках как С и С++ работают в среде >>> операционной системы. >>> А в Smalltalk ? Или предполагается, что Smalltalk нужна операционная >>> система ? На мой взгляд не нужна. >> >> >> Вы уверены, что под smalltalk мы с вами имеем одно и то же? >> С каких пор ему ОС не нужна?. Все текущие, более или менее рабочие >> реализации ВМ написаны на C/C++ или что-нибудь в этом роде (сквик пока в >> сторонке). И таким образом, в основе работа все в той же среде операционной >> системы. Когда-то была речь о embedded smalltalk, но проект вроде не >> движется. >> ST - это технология? Мне кажется, что налицо разное понимание терминов. >> Технология чего? Любой язык программирования это метаинструмент для создания >> других инструментов (приложений) обработки информации. У Smalltalk здесь >> никакого отличия от прочих языков программирования нет. >> >> У меня такое впечатление, что топик изначально надо было стартовать >> вопросом: "А вот если пофантазировать, можно ли из smalltalk сделать нечто >> вроде операционной системы, чтобы пользователи могли....." >> По-моему, это больше бы подходило судя по обсуждению. >> > > Не могу согласиться, речи о создании из Smalltalk ОС не идет. Как вариант > развития мысли и пример использования разграничения прав - вполне. > все-таки без четкой постановки вопроса кина (дискуссии) не будет. вы хотите приклеить к среде атрибуты операционной системы, но при этом боже упаси называть это операционной системой. а чем занимается операционка? контроль доступных ресурсов и их распределением под пользовательские задачи. > -- > http://groups.google.ru/group/sugr -- Best regards, Igor Stasenko. -- http://groups.google.ru/group/sugr |
Добрый день,
6 марта 2012 г. 2:15 пользователь Igor Stasenko <[hidden email]> написал: > 2012/3/5 Sr Visor <[hidden email]>: >> Кто-то из обсуждающих использует Smalltalk как скриптовый язык, вроде >> Python, Ruby, может быть, bash ?! Не совсем обсуждающий, но да - я использую, вернее, использовал, гнутый. Дмитрий -- http://groups.google.ru/group/sugr |
In reply to this post by Igor Stasenko
Согласен. Но речь о перспективе, и потом, принципиально такое деление ОС - не ОС ? Выше был пример про ОС, и пример вполне жизненный, SqueakNOS тому подтверждение, но вопрос на ОС пока не концентрируется. Кстати, как кто-то заметил, в современных условиях всё-таки ОС виртуалке нужна, и пусть. С другой стороны, необходимость определенных средств контроля этот пример вполне обосновал. вторник, 6 марта 2012 г. 3:15:53 UTC+4 пользователь Igor Stasenko написал: 2012/3/5 Sr Visor <[hidden email]>:-- http://groups.google.ru/group/sugr |
Free forum by Nabble | Edit this page |