GlusterFS met UID's van verschillende users op nodes

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Mexxus
  • Registratie: Januari 2004
  • Laatst online: 20-09 17:01
Hi all,

Ik heb een storage platform gebouwd met 4 servers in een GlusterFS opstelling (2x2). Dit geheel is als één NFS mount gekoppeld op twee webservers die beide bestanden opslaan op de GlusterFS. Echter, die Gluster host de /home/ directories van gebruikers, dus elke directory verschilt in user/group rechten. Ik merk dat GlusterFS dit oplost door de rechten aan te geven middels UID's.

Nu is het probleem dat de UID's van de gebruikers op de twee webservers niet overeenkomen met elkaar. Kortom voorbeeldje, UID 1001 is op de ene server "Pietje" en op de andere server "Klaasje". Dit heeft als gevolg dat telkens één van de twee nodes problemen heeft met het schijven in die mappen omdat die "gebruiker" de rechten niet zou hebben.

Ik heb voorzichtig al de conclusie getrokken dat het gewoon met GlusterFS niet kan op deze manier en de enige oplossing is om op beide servers exact de zelfde gebruikersaccounts met de zelfde UID's te gebruiken. Maar ik weet geen werkbare manier om dat te bewerkstelligen. Jullie een idee?

Acties:
  • 0 Henk 'm!

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

Met useradd kun je een uid meegeven die gebruikt moet worden. Op de eerste server doe je het zonder en op de 2de met. (de tool 'id' kun je gebruiken om de uid te achterhalen - of je kijkt in de passwd file).

NFSv4 heeft ook UID mapping, misschien is dit bruikbaar voor je. Ik weet echter niet hoe betrouwbaar en stabiel dit is - het laatste wat ik weet is dat daar nog wel wat moeilijkheden mee waren, maar die info is hopeloos outdated.

Maar beter nog is om een centraal gemanaged systeem te gebruiken. NIS+ is een veelgebruikt systeem.

[ Voor 27% gewijzigd door H!GHGuY op 18-11-2015 21:38 ]

ASSUME makes an ASS out of U and ME


Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 12:22

CAPSLOCK2000

zie teletekst pagina 888

Het is sowieso aan te raden om overal dezelfde uid en username te gebruiken. Dat voorkomt kleine irritaties en domme foutjes.

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • HollowGamer
  • Registratie: Februari 2009
  • Niet online
CAPSLOCK2000 schreef op woensdag 18 november 2015 @ 22:38:
Het is sowieso aan te raden om overal dezelfde uid en username te gebruiken. Dat voorkomt kleine irritaties en domme foutjes.
Dacht dat dit bij de meeste distro's goed geregeld is, zodat elke uid op elk systeem hetzelfde is (althans voor services). Weet het niet uit mijn hoofd, maar bij Arch/Debian heeft de gebruiker 'http' bijvoorbeeld ook een vast uid.

Zoals je ook al aangeeft is dat ook echt aan te raden, zeker als je gaat syncen tussen twee systemen/devices. Al zou ik liever de data syncen en de setup opbouwen met bijvoorbeeld scripts.

  • daft_dutch
  • Registratie: December 2003
  • Laatst online: 08-09 21:46

daft_dutch

>.< >.< >.< >.<

Mexxus schreef op woensdag 18 november 2015 @ 19:19:
Ik heb voorzichtig al de conclusie getrokken dat het gewoon met GlusterFS niet kan op deze manier en de enige oplossing is om op beide servers exact de zelfde gebruikersaccounts met de zelfde UID's te gebruiken. Maar ik weet geen werkbare manier om dat te bewerkstelligen. Jullie een idee?
Dat klinkt als een vraag voor centrale gebruikers beheer zoals LDAP / Active directory. beetje een Klere zooi om goed aan de praat te krijgen. Maar daarna nooit meer UID geklooi

https://wiki.debian.org/LDAP

https://wiki.debian.org/A...gLinuxWithActiveDirectory

[ Voor 7% gewijzigd door daft_dutch op 19-11-2015 03:49 ]

>.< >.< >.< >.<


  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 30-09 22:30

Hero of Time

Moderator LNX

There is only one Legend

HollowGamer schreef op woensdag 18 november 2015 @ 23:26:
[...]

Dacht dat dit bij de meeste distro's goed geregeld is, zodat elke uid op elk systeem hetzelfde is (althans voor services). Weet het niet uit mijn hoofd, maar bij Arch/Debian heeft de gebruiker 'http' bijvoorbeeld ook een vast uid.
System accounts wel, maar de TS heeft 't over 'pietje' en 'klaasje' die beiden UID 1001 hebben, oftewel, gewone gebruikers. ;)
Zoals je ook al aangeeft is dat ook echt aan te raden, zeker als je gaat syncen tussen twee systemen/devices. Al zou ik liever de data syncen en de setup opbouwen met bijvoorbeeld scripts.
Het is niet zozeer syncen tussen de twee (dat is niet echt een probleem namelijk), maar een shared storage aanbieden zoals bijvoorbeeld /home.
daft_dutch schreef op donderdag 19 november 2015 @ 03:47:
[...]

Dat klinkt als een vraag voor centrale gebruikers beheer zoals LDAP / Active directory. beetje een Klere zooi om goed aan de praat te krijgen. Maar daarna nooit meer UID geklooi

https://wiki.debian.org/LDAP

https://wiki.debian.org/A...gLinuxWithActiveDirectory
Er hoeft niet direct gegrepen te worden naar een centraal user management tool zoals NIS+ of LDAP. Er moet gewoon gezorgd worden dat gebruikers correct worden aangemaakt. Er kan desnoods gebruik gemaakt worden van een config management tool zoals Puppet waar je de gebruikers definieerd met specifieke UIDs.

Commandline FTW | Tweakt met mate


  • Mexxus
  • Registratie: Januari 2004
  • Laatst online: 20-09 17:01
Iedereen bedankt voor de comments! Ik weet nu hoe ik users een UID kan meegeven, dus voor nieuw aan te maken gebruikers kan ik het wel oplossen denk ik. Maar nu, de reeds bestaande +/- 100 gebruikers. Hoe kan ik die nu het slimste omcatten naar de juiste UID's? Want overlappende UID's in de zin van dat 2 gebruikers de zelfde UID hebben is ook niet handig..

  • H!GHGuY
  • Registratie: December 2002
  • Niet online

H!GHGuY

Try and take over the world...

Eerst kun je met find alle files zoeken van een user:
find <dir> -uid <uid>

Dit kun je doen over de hele NFS mount (veronderstellend dat de users nergens anders toegang hebben, anders vanaf de root).

Eens je ze in kaart hebt, kun je:
1) als het mooi binnen de gebruiker zijn homedir blijft:
chown -R <uid>:<groupid> <directory>
2) als het overal een beetje is:
find <dir> -uid <uid> -exec chown <uid>:<groupid> {} \;
of iets sneller:
find <dir> -uid <uid> | xargs -n 1000 chown <uid>:<groupid>

Daarna pas je in de passwd (en optioneel de shadow file) de uid aan naar de nieuwe value. Uiteraard is de gebruiker best op alle manieren uitgelogged als je dit doet.

DISCLAIMER: backups! Ik kan niet verantwoordelijk gehouden worden voor enige schade ten gevolge van het correct of incorrect uitvoeren van bovenstaande commando's of procedure. Tal van zaken kunnen mis gaan (bvb: gebruik je SElinux en blijken die uiteindelijk niet te werken? Zijn er andere tools die de uid ergens hebben opgeslaan die nu foute waarden gebruiken, heb je extended POSIX ACLs die om zeep zijn?). Een gewaarschuwd man is er 2 waard...

[ Voor 24% gewijzigd door H!GHGuY op 19-11-2015 20:13 ]

ASSUME makes an ASS out of U and ME


Acties:
  • 0 Henk 'm!

  • daft_dutch
  • Registratie: December 2003
  • Laatst online: 08-09 21:46

daft_dutch

>.< >.< >.< >.<

toch maar nog een note: +/- 100 gebruikers
en geen centraal gebruikers beheer?

>.< >.< >.< >.<


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 30-09 22:30

Hero of Time

Moderator LNX

There is only one Legend

Klinkt als iets dat je via usermod gaat uitvoeren. Zie ook de man-page:
       -g, --gid GROUP
           The group name or number of the user's new initial login group. The group must exist.

           Any file from the user's home directory owned by the previous primary group of the user will be owned by this new group.

           The group ownership of files outside of the user's home directory must be fixed manually.

       -u, --uid UID
           The new numerical value of the user's ID.

           This value must be unique, unless the -o option is used. The value must be non-negative.

           The user's mailbox, and any files which the user owns and which are located in the user's home directory will have the file user ID
           changed automatically.

           The ownership of files outside of the user's home directory must be fixed manually.
Je neemt dan 1 machine als leidend voor alle UIDs, die lees je in, doet een loop op alle gebruikers icm primaire groep en geeft ze allemaal een tijdelijk UID, bijvoorbeeld 4xxx, waarbij xxx het nummer is van de leidende server. Daarna verander je alles weer naar de 1xxx nummers die ze horen te hebben volgens je template server.

Hierna ga je maar eens goed nadenken over beter beheer van je gebruikers.

Commandline FTW | Tweakt met mate

Pagina: 1