Toon posts:

Flexibiliteit rechten bij mounten filesystem

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi allen,

Ik vroeg me af of het ook mogelijk is om met Linux een filesystem te mounten en vervolgens bepaalde gebruikers/groepen rechten te geven voor dit filesystem. Bij Windows-filesystems als NTFS of FAT32 kan dit wel (uid, gid, umask, e.d.), maar bij filesystems met POSIX permissions als bijvoorbeeld ext2, xfs, etc. ontbreekt de optie. Op zich is dit laatste natuurlijk wel enigszins logisch, omdat ze zelf al een rechtenstructuur gedefinieerd hebben, maar bij het mounten van een harde schijf uit een andere computer kan het tot gevolg hebben dat hele andere users opeens toegang hebben tot de bestanden, omdat de UIDs gewoon behouden blijven, en een UID op de ene computer niet per se gekoppeld is aan dezelfde user op een andere computer.

Mijn vraag: is het mogelijk om enige flexibiliteit in deze rechten te krijgen (zonder gegevens op het filesystem te veranderen), bijvoorbeeld een user/groep/mask voor alle bestanden of een soort handmatige vertalingstabel van UIDs van het filesystem naar UIDs van het host systeem?

[ Voor 0% gewijzigd door Verwijderd op 06-02-2007 21:47 . Reden: typo ]


  • Zwerver
  • Registratie: Februari 2001
  • Niet online
Verwijderd schreef op dinsdag 06 februari 2007 @ 21:45:
Hoi allen,

Ik vroeg me af of het ook mogelijk is om met Linux een filesystem te mounten en vervolgens bepaalde gebruikers/groepen rechten te geven voor dit filesystem. Bij Windows-filesystems als NTFS of FAT32 kan dit wel (uid, gid, umask, e.d.), maar bij filesystems met POSIX permissions als bijvoorbeeld ext2, xfs, etc. ontbreekt de optie. Op zich is dit laatste natuurlijk wel enigszins logisch, omdat ze zelf al een rechtenstructuur gedefinieerd hebben, maar bij het mounten van een harde schijf uit een andere computer kan het tot gevolg hebben dat hele andere users opeens toegang hebben tot de bestanden, omdat de UIDs gewoon behouden blijven, en een UID op de ene computer niet per se gekoppeld is aan dezelfde user op een andere computer.

Mijn vraag: is het mogelijk om enige flexibiliteit in deze rechten te krijgen (zonder gegevens op het filesystem te veranderen), bijvoorbeeld een user/groep/mask voor alle bestanden of een soort handmatige vertalingstabel van UIDs van het filesystem naar UIDs van het host systeem?
Volgens mij begrijp ik je vraag niet helemaal. Om een aantal dingen op te helderen; op een Windows systeem is NTFS de enige met een rechtensysteem, FAT32 heeft geen rechtensysteem ingebouwd.
Daarnaast is het heel simpel te regelen dat alleen root filesystems mag mounten. Als je dan wil dat andere users mogen mounten dan moet je toegang verlenen met de -o option van mount.

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


  • laurencevde
  • Registratie: November 2001
  • Laatst online: 02-10-2025
nee, hij bedoelt dat als-ie een harde schijf met POSIX-rechten vanuit de ene computer in de andere plaatst, dat dan de rechten voor geen milimeter meer kloppen. Bijvoorbeeld met 2 linux-machines die door meerdere personen gebruikt worden, maar waarop de UID's niet voor elke persoon gelijk zijn, als je dan de harde schijf van de ene bak om welke reden dan ook in je andere bak hangt, dan kloppen de gebruikersrechten niet meer, en moet je die eerst handmatig als root omzetten.

Have a taste of freedom. It is sometimes a bitter pill. To me though, this is the sweetness of the GPL


  • Zwerver
  • Registratie: Februari 2001
  • Niet online
laurencevde schreef op woensdag 07 februari 2007 @ 03:02:
nee, hij bedoelt dat als-ie een harde schijf met POSIX-rechten vanuit de ene computer in de andere plaatst, dat dan de rechten voor geen milimeter meer kloppen. Bijvoorbeeld met 2 linux-machines die door meerdere personen gebruikt worden, maar waarop de UID's niet voor elke persoon gelijk zijn, als je dan de harde schijf van de ene bak om welke reden dan ook in je andere bak hangt, dan kloppen de gebruikersrechten niet meer, en moet je die eerst handmatig als root omzetten.
Mjah, ik ken geen normale manier om dat aan te passen, tenzij je een scriptje bakt dat de UID's rechttrekt... daarvoor moet je dan wel minimaal de /etc/passwd en /etc/group files van het andere systeem hebben.

Tipje, als je meerdere servers hebt, zorg er dan voor dat je uid's en gid's gelijk lopen. Dat kan je doen door gebruik te maken van ldap (scheelt een boel werk omdat je 1 centrale ldap-server kan gebruiken) of door gewoon handmatig een gid en uid op te geven. Dan is dit probleem er niet meer.

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Zwerver schreef op woensdag 07 februari 2007 @ 03:18:
Mjah, ik ken geen normale manier om dat aan te passen, tenzij je een scriptje bakt dat de UID's rechttrekt... daarvoor moet je dan wel minimaal de /etc/passwd en /etc/group files van het andere systeem hebben.
En dan zal je waarschijnlijk handmatig alle ID's op de nieuwe schijf naar geldige ID's op je systeem moeten mappen, omdat de twee gebruikersgroepen waarschijnlijk niet helemaal overlappen, bijvoorbeeld doordat er (subtiele) verschillen in naamgeving zijn.

Wie trösten wir uns, die Mörder aller Mörder?


  • Zwerver
  • Registratie: Februari 2001
  • Niet online
Confusion schreef op woensdag 07 februari 2007 @ 08:42:
[...]

En dan zal je waarschijnlijk handmatig alle ID's op de nieuwe schijf naar geldige ID's op je systeem moeten mappen, omdat de twee gebruikersgroepen waarschijnlijk niet helemaal overlappen, bijvoorbeeld doordat er (subtiele) verschillen in naamgeving zijn.
Ik mag hopen dat in het geval van een hdd dat je op zijn minst gelijke users hebt.... door een simpele check kan je dan de uid's goed zetten. Als hij dan ook nog eens de gid's wil gaan mappen kan het lastiger worden.

Ik heb toen ik in NL zat overigens een serverpark beheert waarin we keiharde eisen hadden voor het aanmaken van nieuwe users:

code:
1
2
3
4
if group exist on other server
  groupadd -g <gid from other server>
if user exists on other server
  useradd -u <uid from other server> -g <gid from other server>


Iedere malloot die zich daar niet aan wilde houden zag de net aangemaakte account automatisch gelockt worden. Dat verandere uiteraard vanaf het moment dat we een openldap-server gingen gebruiken :)

Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer


Verwijderd

Topicstarter
Dank voor de reacties, maar het gaat niet zozeer om het gelijktrekken van UIDs maar meer of het mogelijk is om enkel bij het mounten van een filesystem specifiek rechten/UID/GID mappings op te geven zonder gegevens op het filesystem te veranderen. Misschien d.m.v. andere filesystem drivers of een soort driver die bovenop het filesystem draait (zoals UnionFS dat bijvoorbeeld doet) die wat meer dingen kan dan de standaarddrivers?

  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Ik denk dat dit soort dingen zo zelden nodig zijn dat er geen speciale tools/drivers voor bestaan. Bij een 'mobiel' filesysteem zal je toch vaak met een persoonlijk systeem te maken hebben waar alleen de root of mountende user bij hoeft en waar alleen data op staat, terwijl een systeem dat regelmatig met anderen gedeeld moet worden met een LDAP-achtige oplossing ingericht zal zijn.

Voor dit soort uitzonderlijke gevallen lijkt een mount script dat alles omnummert en een unmount script dat alles terugnummert me het makkelijkst en niet eens zo gek moeilijk... zij het dat het wat vervelend kan zijn, omdat je met een klein foutje de zaak aardig kan vernaggelen. Vooraf even alle filenames met rechten opslaan in een backup bestand lijkt me wel noodzakelijk.

Wie trösten wir uns, die Mörder aller Mörder?

Pagina: 1