Door karma4: Wat ik bedoel is het gedrag wat er tussen neus in lippen net niet staat.
Oké...
Je kent vast wel dat er drie uid's een rols spelen effective real en
originating.
real, effective en saved, bedoel je?
Met root bedoel ik de effective 0 id-je.
Vanzelf...
Heb je die specifieke user-context besef dan dat er attributen uit de password (shadow) file doorkomen. Zet nu een de umask voor root jouw user en dat privileged account net wat anders. Kijk dan eens welke waarde dat ding heeft na de user context switch. De homedir gaat goed niet de umask.
De umask staat niet in /etc/passwd of /etc/shadow. In de man-page voor sudo wordt umask inderdaad niet vermeld, maar in de man-page voor sudoers worden de instellingen umask en umask_override beschreven. Bij umask staat:
Umask to use when running the command. Negate this option or set it to 0777 to preserve the user's umask. The actual umask that is used will be the union of the user's umask and the value of the umask option, which defaults to 0022. This guarantees that sudo never lowers the umask when running a command. Note: on systems that use PAM, the default PAM configuration may specify its own umask which will override the value set in sudoers.
Er is over nagedacht, er is een veilige default gekozen, en iemand die tegen verrassingen aanloopt moet nou eenmaal in handleidingen duiken om uit te vinden wat er aan de hand is, daar zijn ze voor. In de "see also"-sectie van de man-page voor sudo wordt netjes naar sudoers verwezen, trouwens. RTFM.
Je moet dan ook even kijken of er een LDAP issue mee te maken kan hebben. Als je service accounts lokaal definieert en persoonlijke via LDAP heb je twee bronnen die door elkaar lopen. Tegen deze situatie liep enige jaren terug aan. Met veel moeite heb ik het uiteindelijk werkend gekregen.
Als er verschillende bronnen zijn voor wat dan ook dan is dat verwarrend als je niet paraat hebt waar het vandaan kan komen. Daar loop ik ook met enige regelmaat tegenaan als ik het betreffende onderwerp al een poos niet meer onder mijn aandacht heb gehad. Dat kost dan even wat meer tijd, inderdaad, en als het té lastig is dan is dat reden om me af te vragen of dat wel een goede oplossing was, of de oplossing wel goed gedocumenteerd is, en of ik die documentatie wel goed weet te vinden, en zo nee, waar dat aan ligt.
Ik vermoed gezien de complexiteit dat dit de reden is dat men zoveel mogelijk van alles onder shared accounts en root laat doorlopen.
Dat zou heel goed kunnen. Je kan je afvragen of, als dit een probleem is, de betreffende mensen wel voldoende gekwalificeerd zijn en voldoende beseffen dat ze hun gereedschap moeten kennen om het goed te kunnen gebruiken.
Je lijkt hier de gebruiker neer te zetten als degene die tools en pakketten neerzet. Ik zie de gebruiker met functioneel beheerders bij de processen en informatiestromen.i
Omdat ik het woord "gebruiker" gebruikte? Ik bedoel de gebruiker van sudo, het programma waar we het over hebben. Een gebruiker van iets is letterlijk iemand die het gebruikt. Een systeembeheerder is ook een gebruiker, namelijk van de zaken die een systeembeheerder gebruikt. Een programmeur is gebruiker van een IDE, een compiler, een versiebeheersysteem. Een chauffeur is gebruiker van een auto.
Met sudo gaat dat goed. Met een ander alternatief voor sudo bleek dat geblokkeerd te worden.
Ik had uit "een hele trits van alternatieven en onverwacht gedrag" niet afgeleid dat je over onverwacht gedrag van alleen de alternatieven had, ik dacht dat het ook op sudo betrekking had wat je stelde, en dat kon ik dus terecht niet plaatsen.
Dan kom je met de vraag warm zou in een Multi tenancy benadering elke tenant willen scheiden?
Die vraag heb ik helemaal niet gesteld, maar goed..
Nog twee uit hun volgorde gelichte quotes:
Veel consultants komen niet verder dan dat je met sudo enkel naar root switched.
Wel problematisch is dat OS sudo malloten elk commando wat je met de gelimiteerde user context tot de letter gespecificeerd willen hebben omdat zoiets hoort als sudo -root controleert. Als je dat niet sudo met root inzet wordt je raar aangekeken.
Dat is geen probleem van sudo maar van mensen die de stap overslaan om te snappen waar ze mee werken. RTFM, zoals ik al schreef. Ik ben zelf als automatiseerder "opgegroeid" met die norm. Het werd iedereen regelmatig ingepeperd: lees handleidingen, zoek op hoe het werkt, sla dat nooit over, de antwoorden op je vragen zijn meestal goed te vinden, zorg dat je de weg in documentatie goed genoeg kent om wat je zoekt ook vlot te kunnen vinden. En dat heb ik ingepeperd gekregen in een organisatie waar het er in die periode behoorlijk hectisch aan toe ging. Ondanks het feit dat veel tijdsdruk en hectiek maken dat mensen makkelijk geneigd raken dat over te slaan vonden we het evident dat degelijkheid en zorgvuldigheid per saldo tijd bespaarden. Ik niet alle ins en outs van sudo uit mijn hoofd, maar ik weet waar ik het kan vinden, ik weet dat er manual pages voor sudo en sodoers zijn. En ik weet dat ik het doen en laten van programma's met tools als strace en inotify kan volgen als ik iets wil verifiëren. Geen vaardigheden voor een "gewone" gebruiker, maar de verantwoordelijkheid voor goed gebruik van sudo is ook niet iets om bij een gewone gebruiker te leggen. Als die consultants die je noemt niet blijken te kunnen wat in hun ongetwijfeld dikke cv staat dan doe je zoiets als een chauffeur inhuren die nauwelijks blijkt te kunnen rijden om vervolgens te beweren dat het aan de auto ligt.
Ik weet dat dat lang niet overal en bij iedereen goed gaat, maar ik vind het onterecht om dan de indruk te wekken dat het aan sudo (of een andere tool) ligt dat het zich onverwacht gedraagt voor mensen die niet de moeite hebben genomen om te begrijpen hoe het zich gedraagt. Het is beschreven, en die beschrijving is er niet voor niets. Als je vindt dat je zwaargewicht genoeg bent om het te gebruiken voel je dan ook maar verantwoordelijk om het te begrijpen.