Portál AbcLinuxu, 14. května 2025 03:11

Dotaz: SCM a přístupová práva

freshmouse avatar 19.5.2008 20:56 freshmouse | skóre: 42 | blog: Bruno Banány
SCM a přístupová práva
Přečteno: 261×
Odpovědět | Admin
Zdravím!

Chtěl bych se zde zeptat, jaký nástroj nebo nástroje byste použili, kdybyste potřebovali spravovat verze projektů (nějakým SCM) a zároveň potřebovali efektivně spravovat práva přístupu.

Řádově by systém spravoval stovky projektů a měly by do něj přístup desítky až stovky lidí.

Pro pořádek: já této problematice nerozumím, ale dostal jsem se do situace, že mám přístup k CVS s parametry zmíněnými výše, kde nejsou nijak upravována práva (každý může de facto dělat vše).

Byl bych rád, kdybyste mi předali zkušenosti a nápady.

Co se týče práv, stačí "klasická" práva (zápis, čtení, nic). Ideální by bylo, kdyby se práva udělovala na základě skupin (např.: skupina Alfa, ve které je Bedřich, Cyril a David, může číst projekt Editor), přičemž by jeden uživatel mohl patřit do více skupin zároveň (a samozřejmě, jedna skupina by mohla mít práva k více projektům).

Je efektivní (nejefektivnější) to řešit už na úrovni souborového systému (i když s omezeními, která z toho plynou)? Nebo je výhodné použít nějaký specializovaný nástroj?

Jak byste postupovali?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.5.2008 23:44 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: SCM a přístupová práva
Odpovědět | | Sbalit | Link | Blokovat | Admin
A co ti brání mít pro každý z těch projektů vlastní branch?
freshmouse avatar 20.5.2008 16:06 freshmouse | skóre: 42 | blog: Bruno Banány
Rozbalit Rozbalit vše Re: SCM a přístupová práva
Nic. Já se ptal na nejefektivnější způsob. :-)
20.5.2008 22:51 Tomáš Honzák | skóre: 19 | Praha
Rozbalit Rozbalit vše Re: SCM a přístupová práva
Jak souvisí oddělení projektů pomocí různých branchí s přístupovými právy?
20.5.2008 22:55 Käyttäjä 11133 | skóre: 58 | blog: Ajattelee menneisyyttä
Rozbalit Rozbalit vše Re: SCM a přístupová práva
Asi tak, že pro každou branch můžeš mít různá přístupová práva. Rozuměj různé uživatele.
20.5.2008 23:33 Tomáš Honzák | skóre: 19 | Praha
Rozbalit Rozbalit vše Re: SCM a přístupová práva
To s sebou ovšem nese dva implicitní předpoklady, Zaprvé, že SCM systém umí přidělovat různým branchím různá oprávnění (což není takový problém), zadruhé, že by to někdo takto chtěl používat, a to považuju v praxi za o něco hůře představitelné. Ale čistě akademicky máš samozřejmě pravdu.
20.5.2008 23:29 Tomáš Honzák | skóre: 19 | Praha
Rozbalit Rozbalit vše Re: SCM a přístupová práva
Odpovědět | | Sbalit | Link | Blokovat | Admin
A čo vy si Kefalín predstavujete pod takým slovom "efektivně spravovat"? :)

A bavíme se o "komerční potřebě" v rámci jedné firmy, nebo o situaci, kdy jde o projekty na sobě nezávisejících entit ("SCM hosting" typu sourceforge)?

Dělám už nějaký ten pátek profesionálně s dvěma docela drahými komerčními verzovacími systémy a pak máme ještě, aby se to nepletlo, CVSku a SVN. Všechny tyto umí nějakým lepším nebo horším způsobem přidělovat uživatelům přístupová práva, a nějakým trochu sofistikovanějším způsobem mají řešenou administraci. I když metody toho přidělování se liší, stejně to v konečné fázi vede na ono klasické rwx...

Za ta léta se mi víceméně potvrzuje, že kromě některých až tragikomicky úsměvných situací (lidi z indické pobočky, kterou jsme "zrušili", resp. vrátili naší mateřské firmě, se těsně před odpojením hromadně vrhli na tarballování zdrojáků... chudáci...co s tou nefungující hrůzou budou dělat, to tedy nevím :) ), není s ponecháním "plného developerského přístupu" (tj chmod -R a+w) pro všechny všude vůbec žádný problém.

Především, pokud je systém používán skutečně jako verzovací, nejhorší, co developer může spáchat, je, že si udělá ostudu, protože všechny aktivity jsou trackovatelné a lze se kdykoliv "vrátit" ke stavu před zásahem, tj není problém zjistit, kdy a kdo ten soubor/adresář/projekt smazal, dojít ho vytahat za uši a nechat si od něj přinést tatranku nebo pivo za to, že to "SCM magií" uvedu "do pořádku".

Navíc mají stejně všichni svých starostí dost, než aby se vrtali v "cizích" projektech, a pokud už to dělají, mají pro to obvykle dobrý důvod (třeba na něm pře pár lety dělali a chtějí se inspirovat).

Naproti tomu je zcela kritické mít pečlivě ošetřený "administrátorský" přístup, tedy cokoliv, co může "změnit historii". Jednak lidi jsou hračičkové a developeři obzvláště, druhak už jsem párkrát viděl skript, kde bylo (z čisté blbosti pochopitelně) něco jako rm -rf $IAMNOTDEFINED/, a obnovování ze zálohy nepatří, myslím, mezi oblíbené hobby většiny z nás.

Samotné oddělení projektů v rámci SCM systému je možné řešit X různými způsoby od metody jeden projekt na repozitář až po co projekt to podadresář -- žádný obecný návod neexistuje a záleží na tom, co po tom vlastně člověk chce. (stejně se vždycky nakonec zjistí, že se to mělo dělat úplně jinak...)

Tak nebo onak, Markova poznámka o branchích byla dost na místě, i když ne co se týče přístupových práv. Jeden ze stěžijních požadavků SCM je, lidsky řečeno "umět určit, co patří k sobě", a dobře navržené a důsledně dodržované branchování je pro to nedocenitelné. Ale s právy to příliš nesouvisí ;)
Quork!
freshmouse avatar 31.5.2008 19:03 freshmouse | skóre: 42 | blog: Bruno Banány
Rozbalit Rozbalit vše Re: SCM a přístupová práva
A čo vy si Kefalín predstavujete pod takým slovom "efektivně spravovat"? :)
Stav, kdy užitek přesáhne náklady nebo vydanou energii. :-)
A bavíme se o "komerční potřebě" v rámci jedné firmy, nebo o situaci, kdy jde o projekty na sobě nezávisejících entit ("SCM hosting" typu sourceforge)?
V rámci jedné firmy.
1.6.2008 03:08 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: SCM a přístupová práva
Ad "plný developerský přístup (tj. chmod -R a+w)" - ne vždy je vhodné, aby pracovník najatý na kreslení ikonek (třeba dokonce vypůjčený z externí firmy) měl možnost vrtat se v algoritmech, které nějakou svou pečlivě vyladěnou činností pomáhají firmě udržet vysoké postavení na trhu.

Tazatele (Freshmouse) bych se chtěl zeptat, zda je použití přímo CVS nutné nebo ne. Předpokládám, že po neohlášené změně k takovému SCM, které se šíleně snadno administruje, ale který daní vývojáři v životě neviděli, by byl původce této změny nejspíš... velmi proslaven. Takže bych doporučil spíš zjistit, jaký SCM jsou vývojáři schopni akceptovat (tipuji zůstat u CVS nebo zkusit SVN). Přístupová práva IMHO bývají u SCM asi tak stejně důležitou featurou, jako je samotné uchovávání historie :-), takže bych se nebál, že to nepůjde, a neporadím nic hnusnějšího, než po zvolení vývojáři toho jediného správného SCM podrobně konzultovat dokumentaci tohoto SCM a vyrobit oprávnění podle ní. SVN je popsáno dost hezky v SVN Book, CVS bohužel z tohoto hlediska neznám. Největším problémem je asi již zmíněná volba "vše v jednom repozitáři" nebo "pro každý projekt jiný repozitář"; např. SVN umí AFAIK různá oprávnění v obou situacích.
1.6.2008 03:16 Messa | skóre: 39 | blog: Messa
Rozbalit Rozbalit vše Re: SCM a přístupová práva
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je efektivní (nejefektivnější) to řešit už na úrovni souborového systému (i když s omezeními, která z toho plynou)?
Na úrovni souborového systému, tj. dát těm stovkám lidí SSH účet, rozstrkat je do patřičných skupin a nechat je sahat přímo do datových struktur SCM systému, bych to nedělal. SCM systémy obvykle obsahují nástroje pro spuštění serveru (démona), které zpřístupní repozitář nějakým protokolem a součástí toho bývá i autentizace a kontrola oprávnění.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.