Rechten in Ubuntu

Status
Niet open voor verdere reacties.

femke98

Meubilair
Lid geworden
16 dec 2006
Berichten
6.912
In DEZE topic staat een vraag die ik zelf ook heb moeten vragen op het Ubuntu forum. (ik weet ook niet alles) Omdat ik uitgebreide antwoorden kreeg, dacht ik dat het handiger zou zijn als ik hier dus even een nieuw topic aan wijd.

De vrraag komt van Roadfighter af:

Mijn vrouw gebruikt ook de pc met haar eigen account en linux (uit het oog van beveiliging) geeft diegene die dan een paar foto's van de digitale camera in een map plaatst de gebruikers rechten.
Is er een mogelijkheid dat je een map maakt die "vaste rechten" toekent aan geimporteerde bestanden ?
Zodat altijd, wie ze dan ook in de map plaatst, de foto's als groep:users krijgt met RWX rechten ?

Ik kreeg 3 antwoorden waarvan er 1tje nogal ingewikkeld.

1. Rechtsklikken op map -> Eigenschappen -> Tabblad Rechten, kies onder "Anderen" voor "Bestanden aanmaken en verwijderen" bij "Mapacties". Klik tevens op de knop "Rechten op bestand in de map toepassen".

2. Je zou de map kunnen delen via de eigenschappen van de map. Maar dat is meer voor netwerken en ik zie hier dat je dan nog wat moet installeren.
Wat je ook zou kunnen doen is een nieuwe groep aanmaken en die dan toewijzen aan beide accounts.
Dan in de rechten onder groep die nieuwe groep instellen. zodat beiden eraan kunnen.
Of misschien nog: de groeprechten instellen op de persoonlijke groep van de andere account. De eigenaar blijft gebruiker1 en in de groeprechten staat dan de naam van gebruiker2 die dan normaal gezien "gebruiker2" is. (Naam en groepnaam zijn hetzelfde in ubuntu)
Deze laatste is de gemakkelijkste om uit te proberen.

3.
Rechtsklikken op map -> Eigenschappen -> Tabblad Rechten, kies onder "Anderen" voor "Bestanden aanmaken en verwijderen" bij "Mapacties". Klik tevens op de knop "Rechten op bestand in de map toepassen".

Als je dan nieuwe bestanden (of mappen) in deze map plaatst zullen die toch weer met de standaardpermissies gemaakt worden zodat anderen dan degene die deze geplaatst heeft deze alleen kunnen lezen, en niet kunnen wijzigen. Volgens mij dus niet wat gevraagd wordt. (rwx rechten)

Wat je ook zou kunnen doen is een nieuwe groep aanmaken en die dan toewijzen aan beide accounts.
Dan in de rechten onder groep die nieuwe groep instellen. zodat beiden eraan kunnen.
Of misschien nog: de groeprechten instellen op de persoonlijke groep van de andere account. De eigenaar blijft gebruiker1 en in de groeprechten staat dan de naam van gebruiker2 die dan normaal gezien "gebruiker2" is. (Naam en groepnaam zijn hetzelfde in ubuntu)
Deze laatste is de gemakkelijkste om uit te proberen.


Je kan wel de primaire groep van beide gebruikers dezelfde maken, maar in Ubuntu hebben groepen standaard geen rechten om nieuw gemaakte bestanden te wijzigen, alleen om te lezen. Je kan dit wel wijzigen zodat de groepeigenaar bij een nieuw aangemaakt bestand ook schrijfrechten heeft(umask 002 ipv. 022 die standaard is), maar dan geld dat meteen voor alle bestanden en directories die deze gebruikers aanmaken, en niet alleen die in die bepaalde map. Beide gebruikers kunnen dan overal elkaars bestanden wijzigen of verwijderen. Dit werkt dus ook niet echt zoals gevraagd.

Volgens mij is het niet makkelijk dit te regelen, maar het kan wel (op de automatische executable rechten na, dat mag niet van linux). Misschien wel met enige consequenties voor de veiligheid omdat de umask aangepast moet worden... SGID optie doet precies wat gevraagd wordt. Het werkt als volgt, helaas is een terminal nodig voor deze geavanceerde rechten:

Allereerst dient umask op 002 gezet te worden zodat groepen automatisch schrijfrechten krijgen op nieuw gemaakte bestanden. Dit kan door in het bestand /etc/profile "umask 022" te wijzigen in "umask 002". Dan wordt voor alle ingelogde gebruikers deze umask ingesteld.

Je maakt vervolgens een nieuwe groep aan, bijvoorbeeld users.
Code:
sudo groupadd users

Je maakt beide gebruikers lid van deze groep (secundaire groep, primaire groep blijft gewoon gelijk aan gebruikersnaam zodat nieuw te maken bestanden normaal door de andere gebruiker niet gewijzigd kunnen worden):
Code:
sudo usermod -G users gebruikersnaam
(2x doen dus)

Je maakt de groep users eigenaar van de map waarin de bestanden gedeeld moeten worden:
Code:
sudo chown :users map

Vervolgens zet je de SGID en de juiste rechten aan op de map waaronder de foto's gedeelt moeten worden:
Code:
sudo chmod g+rws map

Alle bestanden die nu door leden van de groep users in deze directory worden aangemaakt krijgen standaard als groepseigenaar de groep users, in tegenstelling tot andere locaties waar gewoon de primaire groep eigenaar wordt van nieuwe bestanden.

En ze krijgen standaard ook lees en schrijf rechten. (rwx is niet mogelijk met umask voor bestanden, dat is een veiligheid binnen linux waar nieuwe bestanden niet automatisch uitvoerbaar zijn, beveiliging tegen virussen e.d.)

Hiermee kunnen dus beide gebruikers alleen in deze map dan de bestanden lezen, wijzigen en verwijderen.

Het is ook mogelijk om in ~/.profile de tekst "umask 002" te zetten, dan wordt de umask niet systeem breed toegepast, maar alleen voor die gebruiker. Dat heeft ivm. veiligheid wellicht de voorkeur. (wel voor beide gebruikers doen dan)

Dit waren de antwoorden, wie weet komt er nog meer.
Je kan dus zien dat het niet eenvoudig is. En voor de ene enkele keer zou ik het gewoon zo laten. Ik zelf heb maar 1 account en dat ben ik zelf. Als een van de kids hier komt met nieuwe foto's dan mogen zij dat gewoon op de pc zetten.
Roadfighter, laat eens weten of je er wat mee kan en of het gelukt is?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan