Автор Тема: Rq:Програма за оганичаване  (Прочетена 4636 пъти)

nfsto

  • Напреднали
  • *****
  • Публикации: 392
    • Профил
Трябва ми програма която да не позволява на харда да има 2 файла с 1 и също име .Има ли такава ?
Става въпрос за ФТП искам да го огранича потребителите да немогат да качват 1 файл 5-10 пъти
Благодаря предварително
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Rq:Програма за оганичаване
« Отговор #1 -: Mar 07, 2007, 13:02 »
Я пак?
Активен

nfsto

  • Напреднали
  • *****
  • Публикации: 392
    • Профил
Rq:Програма за оганичаване
« Отговор #2 -: Mar 07, 2007, 14:25 »
В мрежата всеки потребител си има папка в ftp
и може да качва квото си иска само в неговата папка
Та въпроса е как да се направи така че 1 файл като го има на харда на ftp да неможе да се качи пак и демек повече от 1 копие на файла да няма така ще се спести доста пространство ама номера е как да се направи '<img'> Ако някой има отговор на загадката ще съм благодарен ако го сподели '<img'>
Активен

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Rq:Програма за оганичаване
« Отговор #3 -: Mar 07, 2007, 14:41 »
Е, ами ако го качи с различно име просто?



Активен

"Knowledge is power" - France is Bacon

laskov

  • Напреднали
  • *****
  • Публикации: 3170
    • Профил
Rq:Програма за оганичаване
« Отговор #4 -: Mar 07, 2007, 14:54 »
Щом имат право да качват, сигурно имат право да разглеждат съдържанието на папката и да свалят. Ако някой качи файл, който съществува в друга папка, какво ще направим? ln -s към файла в чуждата директория? Ами правата ? Или за двамата ще направим група?  '<img'>  Ще се получи интересна база данни с потребители, файлове и права. Може и да има такова нещо ...
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Rq:Програма за оганичаване
« Отговор #5 -: Mar 07, 2007, 14:56 »
С hash суми на файловете се прави обикновено това. Но програма не знам ...
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

nfsto

  • Напреднали
  • *****
  • Публикации: 392
    • Профил
Rq:Програма за оганичаване
« Отговор #6 -: Mar 07, 2007, 15:04 »
Цитат (laskov @ Март 07 2007,14:54)
Щом имат право да качват, сигурно имат право да разглеждат съдържанието на папката и да свалят. Ако някой качи файл, който съществува в друга папка, какво ще направим? ln -s към файла в чуждата директория? Ами правата ? Или за двамата ще направим група?  '<img'>  Ще се получи интересна база данни с потребители, файлове и права. Може и да има такова нещо ...

Направено е така :
Може да разглеждаш всички папки (4 тб) но можеш да качваш само в твойта папка и имаш право само на 1 папка
(Май нема решение на задачата)
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3170
    • Профил
Rq:Програма за оганичаване
« Отговор #7 -: Mar 07, 2007, 15:14 »
А може ли някой след като е качил някакъв файл в даден момент да реши да го редактира или да го качи отново, но с редактирано съдържание?

Представи си, ако двама са качили един и същ файл, а ние сме премахнали едното копие. Единият от тях решава и го редактира. Другият си мисли, че го има във варианта, в който го е качил, но не би... Значи при редактиране трябва да се пази и предната версия. Хм, май ще измислим файловия сървър Novell Netware  '<img'>



Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Rq:Програма за оганичаване
« Отговор #8 -: Mar 07, 2007, 15:28 »
Може да се вадят MD5 хешове и да се сравняват, това не е проблем, естествено не в рамките на ftp сесията, но да речем в рамките на някакъв cronjob.

Обаче се замислям за нещо. Ако имаш много файлове, то вероятно няма да е невъзможно да се получи някоя колизия на хешове, все пак те са колко, 32-байта големи. Шансът според мен е малък, но не е изключено и следователно има вариант даден файл да не може да стои върху сървъра, въпреки че не е качван преди това. Според мен, вероятността е нищожна, но си остава, плюс което никой не може да ти я сметне, защото никой не знае какво има качено и какво ще се качва. Един начин това да се избегне е големите файлове да се разбиват на части и да се смята по една сума за всяка част. Но това пък е усложнява нещата от друга страна.

П.П. и скриптът също ще е забавен, ако не се оптимизира поне малко да не смята суми на качени вече файлове, на 4 ТБ файлове как ще им смяташ сумите, ще е грозно изпълнение с много iowait и много деградиране на  производителността. От друга страна, ако потребител презапише качен отпреди файл, трябва да се сметне сумата наново. Май най-добре е един скрипт дето гледа наскоро модифицираните файлове и им смята сумите, да речем нещо от сорта на:

find /dir -mtime -1 |xargs myscript.sh

И myscript.sh да хваща това от $1, да си смята сумата (с md5sum да речем) и да си прави сравненията и да трие ако се наложи.

Забавна задачка е иначе '<img'>



Активен

"Knowledge is power" - France is Bacon

tarator

  • Напреднали
  • *****
  • Публикации: 849
    • Профил
Rq:Програма за оганичаване
« Отговор #9 -: Mar 07, 2007, 18:12 »
За MD5 не знам, но със SHA1 вероятността е толкова малка, че има много програми, които го използват като адрес към файл/блок (git anyone?). А пък ако има колизия, винаги може да се провери дали двата файла са различни.
Активен

A gentleman is one who is never rude unintentionally. - Noel Coward

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Rq:Програма за оганичаване
« Отговор #10 -: Mar 07, 2007, 19:17 »
Прекрасно, опресних си знанията за hash алгоритмите.

SHA1 генерира 180-битов хеш. MD5 генерира 128-битов, в този ред на мисли, при SHA1 вероятността от колизии наистина е по-малка.

Интересен е въпросът, какво се влага в понятието "колизия", защото има огромно значение големината на съобщението, от което се вади хеша. Ако става въпрос за пароли дето са рядко над 16 символа, въпросът с колизиите сигурно е важен, а вероятността за наличието на такива е...много малка. Ако става въпрос за 700-мегабайтови файлове обаче нещата стоят малко по-различно. Съвсем се абстрахирам от хеш-алгоритмите, защото при това положение те нямат толкова значение. Представи си че имаш 700 милиона позиции да наредиш както си искаш 256 стойности, това ти е множеството възможни 700-мегабайтови файлове. Съответно множеството възможни изходни MD5 хешове представлява броят възможности да наредиш на 16 позиции 256 различни стойности. Чисто теоретично, възможните колизии при това положение са 700.000.000 / 16. Не са малко все пак, как мислите? При това положение SHA1 би променило нещата с порядък 180/128 пъти по-малко възможни колизии. Надали има особена разлика '<img'>
Активен

"Knowledge is power" - France is Bacon

sdr

  • Напреднали
  • *****
  • Публикации: 655
    • Профил
Rq:Програма за оганичаване
« Отговор #11 -: Mar 07, 2007, 20:00 »
Цитат (gat3way @ Март 07 2007,19:17)
Прекрасно, опресних си знанията за hash алгоритмите.

SHA1 генерира 180-битов хеш. MD5 генерира 128-битов, в този ред на мисли, при SHA1 вероятността от колизии наистина е по-малка.

Интересен е въпросът, какво се влага в понятието "колизия", защото има огромно значение големината на съобщението, от което се вади хеша. Ако става въпрос за пароли дето са рядко над 16 символа, въпросът с колизиите сигурно е важен, а вероятността за наличието на такива е...много малка. Ако става въпрос за 700-мегабайтови файлове обаче нещата стоят малко по-различно. Съвсем се абстрахирам от хеш-алгоритмите, защото при това положение те нямат толкова значение. Представи си че имаш 700 милиона позиции да наредиш както си искаш 256 стойности, това ти е множеството възможни 700-мегабайтови файлове. Съответно множеството възможни изходни MD5 хешове представлява броят възможности да наредиш на 16 позиции 256 различни стойности. Чисто теоретично, възможните колизии при това положение са 700.000.000 / 16. Не са малко все пак, как мислите? При това положение SHA1 би променило нещата с порядък 180/128 пъти по-малко възможни колизии. Надали има особена разлика '<img'>

Поради тази и подобни причини хората използват няколко хеш алгоритъма едновремено. Тогава вероятноста да съвпадне "комбинирания" хеш е ПРОИЗВЕДЕНИЕТО на вероятностите да съвпадне всеки от нормалните хешове.
Активен

luda_glawa

  • Напреднали
  • *****
  • Публикации: 652
  • Distribution: Kubuntu
  • Window Manager: KDE
    • Профил
    • WWW
Rq:Програма за оганичаване
« Отговор #12 -: Mar 07, 2007, 20:16 »
Поправете ме ако греша, но ... на файл 4.5GB (DVD филм например) колко време се изчислява MD5 или SHA1 ключа? Незнам дали има такава възможност, но за файловете в една и съща папка дали може да разрешиш имена само с главни или малки букви? Защото тогава нещата май са по-лесни. Или аз се заблуждавам.
Активен

С Уважение:

Luda Glawa ;-)

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Rq:Програма за оганичаване
« Отговор #13 -: Mar 07, 2007, 20:38 »
Ми като гледам около минута отнема за 2ГБ файл тука на щайгата ми вкъщи. Нямам раид0 масив, процесорът е athlon64 3000,  и дискът ми не е кой знае какво. Не знам доколко това може да се дължи на някакво кеширане, но все пак това е огромен файл. Не е малко де, представям си ако става въпрос за 4ТБ файлове какво ще е  '<img'>
Активен

"Knowledge is power" - France is Bacon

metal

  • Напреднали
  • *****
  • Публикации: 414
    • Профил
Rq:Програма за оганичаване
« Отговор #14 -: Mar 07, 2007, 23:25 »
Такова нещо съществува и го има на ftp-то на ISP-то ми. Как е направено, чия собственост е и дали ще ти го дадат не мога да ти кажа, но може да влезеш тука, да преровиш из "контакт"-тите за Цецо (демек шефа) и да го питаш. Успех!
Активен

Gentoo 2007.0 - 2.6.23-r3
Debian testing - 2.6.22-3