Vraag Hoe kan ik toestaan ​​dat één gebruiker su naar een andere gebruiker zonder root-toegang toestaat?


Ik wil bepaalde gebruikers toestaan ​​su te gebruiken voor een ander gebruikersaccount zonder het wachtwoord van dat account te kennen, maar geen toegang te verlenen tot een ander gebruikersaccount (dat wil zeggen root).
Ik zou Tom bijvoorbeeld willen toestaan ​​dat de DBA su naar de oracle-gebruiker gaat, maar niet naar de tomcat-gebruiker of root.

Ik kan me voorstellen dat dit kan worden gedaan met het bestand / etc / sudoers - is dit mogelijk? Zo ja, hoe?


49
2018-06-02 15:13


oorsprong




antwoorden:


Ja, dit is mogelijk.

In / Etc / sudoers het item dat onmiddellijk volgt op de gelijken is de gebruiker die het commando mag uitvoeren als.

tom  ALL=(oracle) /bin/chown tom *

De gebruiker (tom) kan typen sudo -u oracle / bin / chown tom / home / oracle / oraclefile


39
2018-06-02 15:18



Dit zou Tom toelaten om commando's als orakel uit te voeren, maar niet om de orakel gebruiker te worden - gharper
Hoe zit het met sudo -u oracle su -? Dat zou hem een ​​schaal geven die geopend is als de orakelgebruiker. Is dat wat je wilt? - Brent
+1 voor die laatste opmerking, Brent. Dat zou mijn antwoord zijn. - Annika Backstrom
Iets als het volgende zou werken: sudo -u oracle -s or sudo -u oracle -i (-s voor shell, -i voor login - doet een login-shell). Helaas weet ik niet uit de hand wat je zou gebruiken in / etc / sudoers om de gebruiker te beperken, maar gezien het feit dat je ze shell-toegang toestaat, wil je waarschijnlijk gewoon tom ALL = (orakel) ALL doen zoals iemand anders al zei. Als ze een shell kunnen uitvoeren, geeft u waarschijnlijk niet om restricties voor de opdrachten die ze kunnen uitvoeren. - Mark
Zou je in het ideale geval niet willen dat Tom opdrachten uitvoert als de orakel-gebruiker, in plaats van de orakel-gebruiker te worden? Het onderscheid is klein, maar het biedt een goed audit log zonder dat het nodig is om een ​​audit shell te gebruiken. - Scott Pack


Voeg zoiets toe aan je / etc / sudoers

tom ALL=(oracle) ALL

Vervolgens moet user tom sudo kunnen gebruiken om dingen uit te voeren als gebruikersoracle met de optie -u, zonder tom te laten

D.w.z. een shell krijgen als gebruikersorakel (nou ja, gezien het feit dat je sudo nieuw genoeg is om de optie -i te hebben).

sudo -u oracle -i

36
2018-06-02 15:26



Ik moest de syntax gebruiken tom ALL=(oracle)NOPASSWD:ALL om sudo te maken om geen wachtwoord te vragen - snowindy


Om ALLEEN de mogelijkheden in de vraag te bieden, voegt u het volgende toe aan / etc / sudoers:

tom            ALL=(oracle)    /bin/bash

Dan kan tom:

sudo -u oracle bash -i

7
2017-12-11 22:44