Vraag & Antwoord

OS Linux

Default groep voor nieuwe files in bepaalde directory ?

Anoniem
Bamboe
11 antwoorden
  • Ik werk momenteel met meerdere mensen aan dezelfde bestanden (in een cvs repository, maar dat doet er even niet toe), en om ervoor te zorgen dat iedereen aan al die files kan (lezen en schrijven), heb ik een nieuwe gebruikersgroep (project) aangemaakt waar die mensen lid van zijn.

    Nu, als er iemand iets verandert aan één van de bestanden (of er nieuwe toevoegt), wordt dat bestand plots "eigendom" van de user die het bestand aanpaste, en van de groep users. Wat heel normaal is, want de primaire groep van iedereen in de projectgroep is nog steeds "users". Hoe kan ik er nu voor zorgen dat, wanneer iemand iets verandert aan die bestanden, dat bestand toch nog steeds van de groep "project" blijft?
    Je zou kunnen zeggen, verander de primaire groep van die gebruikers naar "project", dat werkt wel, maar als dezelfde gebruiker nog betrokken is bij een ander project, waar een andere groep voor bestaat (laat ons zeggen project2) , dan gaat het helemaal de mist in, want als die gebruiker dan iets verandert in een bestand van project2, wordt dat bestand plots eigenaar van de groep "project" (ipv project2), wat al helemaal niet meer de bedoeling is!

    Iemand met een andere oplossing?
  • Moet je dat niet in je cvs tree regelen ?? anders een cronjob eroverheen :cry:
  • Kan wel, maar ik ken helemaal niet veel van cvs :(
    (als iemand mij daar een beetje in kan toelichten?)

    En cron vind ik maar een flut-oplossing eerlijk gezegd.
  • [quote:ae186feaba="Bamboe"]Kan wel, maar ik ken helemaal niet veel van cvs :(
    (als iemand mij daar een beetje in kan toelichten?)

    En cron vind ik maar een flut-oplossing eerlijk gezegd.[/quote:ae186feaba]
    is wel zo maar wel zo handig als het niet 123 wil lukken met de juiste manier
    zo kun je de boel iig alvast goed zetten terwijl je de cvs. erop nazie :D
  • Er is wel en techniek waardoor de bestanden automatisch bepaalde eigendomsrechten krijgen, ongeacht wie ze naar de betreffende map toeschrijft.
    wet even niet meer welke techniek dat was, maar mogelijk doe je dat via umask.

    Staat hier niks ovr in het cvs-handboek?

    Max
  • Ik weet niet, 'k zal't straks eens proberen op te zoeken.
    't Zou gewoon handig geweest zijn als iemand op dit forum het toevallig wist :)
  • Het lijkt erop dat de groep "project" full control heeft en dus ook permisies mag wijzigen, alleen lees, schrijf en wijzig recht zou voldoende moeten zijn. Onder de geavanceerde rechten (W2K) kan je ook het recht om eigenaar te worden uitzetten of zelfs expliciet denieen voor de individuele users of groep, dit recht zet je dan op de map en je schakelt het overnemen van permisies naar onderliggende mappen en bestanden aan.
  • Je moet op de directory's het group id bit aanzetten:

    chmod g+s directory

    of:

    chmod 2770 directory

    Dan zullen alle nieuwe bestanden de group van de directory krijgen (in dit geval "project")

    suc6
  • Joepie, het werkt, met behulp van de gouden tip van DarthV. Bedankt!
  • Nu heb ik nog een probleempje:

    als ik nieuwe files toevoeg in de repository, dan krijgen ze als permissie 444, en moet ik ze dan zelf veranderen naar 664. Ik zou graag hebben dat dat vanzelf 664 wordt, want anders kan niemand de bestanden meer veranderen nadien.
    Dit moet iets te maken hebben met umask, maar de umask van de gebruiker waarmee ik de nieuwe files toevoeg staat 0002! Je zou dus om te beginnen verwachten dat de nieuwe files permissie 664 krijgen, maar dat is dus niet.

    Nog even iets meer info:
    de repository staat in de directory /repo, die permissies 1777 heeft.
    Daarin bevindt zich de cvs tree "project", die van groep project is en permissies 2775 heeft.
    Ik voeg dan de bestanden toe als gebruiker die lid van project, en waarvan de CVSROOT staat ingesteld op :local:/repo
    Als ik manueel een bestand aanmaak in /repo/project met die gebruiker, komen de permissies wel volgens de umask te staan, maar als ik ze toevoeg met "cvs add filename" niet!
  • CVS rechten kun je aanpassen met de globale variabele CVSUMASK.
    Als het goed is kun je deze in de config file van cvs veranderen, maar dat weet ik ff niet precies. Zoek even op CVSUMASK voor meer info.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.