Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: Rechten van mappen en bestanden  (gelezen 3543 keer)

Rechten van mappen en bestanden
« Gepost op: 2011/04/08, 14:28:49 »
Hallo,

Ik ben met een bash script bezig, maar nu loop ik tegen een probleem aan.
Als root voer ik het script uit in een bepaalde map, het script download een zip bestand van internet en pakt die uit.
Als die is uitgepakt staan de rechten van de gebruiker en de groep op die van de root maar die moet het zelfde zijn als de bovenliggende map. Hoe kan ik dat doen? Het script kan alleen door de root worden uitgevoerd de andere gebruikers hebben geen shell toegang.
Gr.
Benjamins
Informatie over linux: Alles over Linux


Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: Rechten van mappen en bestanden
« Reactie #1 Gepost op: 2011/04/08, 14:36:45 »
chown anderegebruiker mapnaam
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: Rechten van mappen en bestanden
« Reactie #2 Gepost op: 2011/04/08, 14:38:59 »
Je kunt ook chmod +s gebruiken op die map. Dat zorgt ervoor dat bestanden en submappen automatisch dezelfde gebruiker krijgen als de map zelf.
Bijvoorbeeld:
chmod +s /srv/share/*
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Re: Rechten van mappen en bestanden
« Reactie #3 Gepost op: 2011/04/08, 15:45:00 »
Het script word bijv. uitgevoerd in een bestaande map die de juiste rechten heeft.
Het script download een zip bestand en pakt die uit en nu is het de bedoeling dat die de rechten erf van de map er boven, dat moet automatische gaan.

De mappen waar het script word uitgevoerd die worden of automatische aangemaakt of door de gebruiker die dat mag.
Dus het is geen optie om de map waar het script wordt uitgevoerd te veranderen.
Gr.
Benjamins
Informatie over linux: Alles over Linux


Offline vanadium

  • Lid
Re: Rechten van mappen en bestanden
« Reactie #4 Gepost op: 2011/04/08, 15:52:45 »
Dan moet je script op één of andere manier de eigenaar van de directory waar het moet gebeuren, kunnen vaststellen. Met "ls -ld ." krijg je alvast de gegevens van de huidige directory. Met de gnu text tools is het ongetwijfeld mogelijk hier het derde (eigenaar) en vierde (groep) veld uit te halen en in een variabele te stoppen, maar vraag mij niet hoe.

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Rechten van mappen en bestanden
« Reactie #5 Gepost op: 2011/04/08, 16:10:59 »
Je kan met stat de user en groep opvragen.
stat --printf='%U %G' . geeft de owner en groep van de huidige dir weer

Je kan ook nog iets maken als:
GEBRUIKER=$(stat --printf='%U' mapnaam)
GROEP=$(stat --printf='%G' mapnaam)
chown -R $GEBRUIKER:$GROEP mapnaam

Re: Rechten van mappen en bestanden
« Reactie #6 Gepost op: 2011/04/08, 16:15:04 »
@Johan van Dijk jij hebt mapnaam in je code zitten maar het probleem is dat het elke keer een andere map kan zijn.
Verder kan ik er wel wat mee.
Gr.
Benjamins
Informatie over linux: Alles over Linux


Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: Rechten van mappen en bestanden
« Reactie #7 Gepost op: 2011/04/08, 16:29:40 »
...en nu is het de bedoeling dat die de rechten erf van de map er boven, dat moet automatische gaan.
Dat is precies wat ik bedoel met chmod +s
Of begrijp ik je nu helemaal verkeerd ???
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Rechten van mappen en bestanden
« Reactie #8 Gepost op: 2011/04/08, 16:30:13 »
In plaats van mapnaam kan je ook iets als $(dirname bestand-wat-je-uitpakt) gebruiken.

Re: Rechten van mappen en bestanden
« Reactie #9 Gepost op: 2011/04/08, 18:39:46 »
Ik snap je nog niet helemaal.
Gr.
Benjamins
Informatie over linux: Alles over Linux


Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Rechten van mappen en bestanden
« Reactie #10 Gepost op: 2011/04/08, 18:56:34 »
Je haalt de zip-bestanden binnen met een script.
Daarna zet je die bestanden ergens neer en je pakt ze ergens uit.
Dan weet je toch precies waar je ze neerzet en om welke mappen en bestanden het gaat?

In plaats van "mapnaam" gebruik je het volledige pad naar de zip en haal je die door het commando "dirname" heen, zodat je alleen de dir overhoudt waar die bestanden in staan.

Bijvoorbeeld:
dirname /home/benjamins/map1/map2/testbestand
geeft "/home/benjamins/map1/map2" als resultaat.

Het kan zijn dat ik je verkeerd begrijp hoor, geef dan eens een voorbeeld van de code die je nu gebruikt. Dat maakt het vast een stuk inzichtelijker.

Offline vanadium

  • Lid
Re: Rechten van mappen en bestanden
« Reactie #11 Gepost op: 2011/04/09, 15:00:06 »
...en als je script echt niet weet waar het werkt, dan is er nog "pwd" om de huidige dir te weten te komen.
vanadium@vanadium:~$ pwd
/home/vanadium
vanadium@vanadium:~$ curdir=$(pwd)
vanadium@vanadium:~$ echo "De huidige directory is: $curdir"
De huidige directory is: /home/vanadium

Re: Rechten van mappen en bestanden
« Reactie #12 Gepost op: 2011/04/09, 23:25:22 »
Ik heb het script af, zou iemand er na willen kijken als het ook goed geschreven is.
http://marcelbenjamins.nl/joomladownloader.txt

Is het ook mogelijk om een zip bestand te unzippen met de tar commando?

Alvast bedankt.
Gr.
Benjamins
Informatie over linux: Alles over Linux


Offline vanadium

  • Lid
Re: Rechten van mappen en bestanden
« Reactie #13 Gepost op: 2011/04/10, 09:23:08 »
Unzippen doe je met "unzip".

Re: Rechten van mappen en bestanden
« Reactie #14 Gepost op: 2011/04/11, 20:28:24 »
Waar kan ik het script in zetten zodat ik het van elke locatie kan oproepen. Het liefst ergens in de root map.
De server draait op Debian 6.
Gr.
Benjamins
Informatie over linux: Alles over Linux


Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Rechten van mappen en bestanden
« Reactie #15 Gepost op: 2011/04/11, 20:32:41 »
Het maakt toch vrij weinig uit waar je hem neerzet?
Je kan het script overal neerzetten, al is het wel handig voor jezelf om een logische en makkelijke plek te zoeken.

Re: Rechten van mappen en bestanden
« Reactie #16 Gepost op: 2011/04/11, 20:33:51 »
Maar ook dat ik het kan aanroepen met joomladownloader ?
In elke willekeurige map.
Gr.
Benjamins
Informatie over linux: Alles over Linux


Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: Rechten van mappen en bestanden
« Reactie #17 Gepost op: 2011/04/11, 20:35:53 »
echo $PATH

Ergens in 1 van die mappen. Persoonlijk zou ik een map voor dergelijke scripts maken. En die map via /etc/environment aan je PATH-variabele toevoegen.

Als het voor 1 gebruiker is, doe ik vaak een map ~/bin/ en dan zet ik die erbij in mn .bashrc
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Rechten van mappen en bestanden
« Reactie #18 Gepost op: 2011/04/11, 20:36:05 »
Maak dan even een alias aan in ~/.bashrc ofzo
alias joomladownloader='/pad/naar/script/scriptnaam'

Edit: de $PATH aanpassen kan ook natuurlijk.

Re: Rechten van mappen en bestanden
« Reactie #19 Gepost op: 2011/04/11, 20:38:13 »
Oke bedankt.
Zou ook iemand willen kijken als het script goed is geschreven? De script staat in paar posten eerder.
Gr.
Benjamins
Informatie over linux: Alles over Linux