Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Alleen huidige host, niet alle met sudo

1 view
Skip to first unread message

Cecil Westerhof

unread,
Nov 16, 2023, 7:44:05 AM11/16/23
to
Ik moest na lange tijd weer eens met sudo aan de slag.
In principe moet je spamassassin niet als root draaien. Vreemde is dat
het start-up script wel als root moet worden gedraaid. Hierdoor kun je
het herstarten van spamd alleen als root doen. Daarom heb ik de
volgende regel gemaakt:
imaps ALL = NOPASSWD: /bin/systemctl restart spamd

Het werkt en in mijn geval is het geen enkel probleem, maar ik houd
ervan om dingen netjes te doen.
De ALL zorgt ervoor dat deze regel voor alle hosts geldt en ik vind
dat hij alleen voor de huidige host zou moeten gelden. Ik vind alleen
maar beschrijvingen over sudo waar ALL voor hosts wordt gebruikt.
Hoe zorg ik ervoor dat de regel alleen voor de huidige host werkt?

--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof

Paul van der Vlis

unread,
Nov 16, 2023, 9:30:21 AM11/16/23
to
Op 16-11-2023 om 13:35 schreef Cecil Westerhof:
> Ik moest na lange tijd weer eens met sudo aan de slag.
> In principe moet je spamassassin niet als root draaien. Vreemde is dat
> het start-up script wel als root moet worden gedraaid. Hierdoor kun je
> het herstarten van spamd alleen als root doen. Daarom heb ik de
> volgende regel gemaakt:
> imaps ALL = NOPASSWD: /bin/systemctl restart spamd
>
> Het werkt en in mijn geval is het geen enkel probleem, maar ik houd
> ervan om dingen netjes te doen.
> De ALL zorgt ervoor dat deze regel voor alle hosts geldt en ik vind
> dat hij alleen voor de huidige host zou moeten gelden. Ik vind alleen
> maar beschrijvingen over sudo waar ALL voor hosts wordt gebruikt.
> Hoe zorg ik ervoor dat de regel alleen voor de huidige host werkt?

Volgens mij moet je eerst een host-alias aanmaken:
ONSNET = 91.198.178.0/24, 45.95.238.187

en dan kun je die alias gebruiken:
imaps ONSNET = NOPASSWD: /bin/systemctl restart spamd

Maar om eerlijk te zijn gebruik ik ook altijd "ALL".

Groet,
Paul

--
Paul van der Vlis Linux systeembeheer Groningen
https://vandervlis.nl

Paul van der Vlis

unread,
Nov 16, 2023, 9:50:38 AM11/16/23
to
Op 16-11-2023 om 15:30 schreef Paul van der Vlis:
Wellicht dus dat dit doet wat je wilt, maar niet getest:

LOCAL = 127.0.0.1, ::1
imaps LOCAL = NOPASSWD: /bin/systemctl restart spamd

Cecil Westerhof

unread,
Nov 16, 2023, 10:44:12 AM11/16/23
to
Je hebt me i.i.g. op het goede pad gezet:
Host_Alias LOCAL = 192.168.0.100
imaps LOCAL = NOPASSWD: /bin/systemctl restart spamd

Ik kan nu als imaps de spamd service nog steeds herstarten.
Hoe verifieer ik dat ALL is uitgeschakeld?

Paul van der Vlis

unread,
Nov 16, 2023, 11:15:50 AM11/16/23
to
Op 16-11-2023 om 16:33 schreef Cecil Westerhof:
Oeps, daar moest inderdaad "Host_Alias" voor.

Maar ik vind het raar, want een commando uitvoeren doe je normaal niet
via TCP.

> imaps LOCAL = NOPASSWD: /bin/systemctl restart spamd
>
> Ik kan nu als imaps de spamd service nog steeds herstarten.
> Hoe verifieer ik dat ALL is uitgeschakeld?

Wellicht door het commando vanaf een andere machine uit te voeren?

ssh im...@192.168.0.100 /usr/bin/sudo /bin/systemctl restart spamd

Cecil Westerhof

unread,
Nov 16, 2023, 3:44:08 PM11/16/23
to
Dat kan helaas gewoon worden gedaan. Dus het lijkt niet te werken.

Oscar

unread,
Nov 21, 2023, 10:00:38 AM11/21/23
to
In article <871qcpv...@munus.decebal.nl>,
Cecil Westerhof <Ce...@decebal.nl> wrote:
>Paul van der Vlis <pa...@vandervlis.nl> writes:
>
>>> imaps LOCAL = NOPASSWD: /bin/systemctl restart spamd
>>> Ik kan nu als imaps de spamd service nog steeds herstarten.
>>> Hoe verifieer ik dat ALL is uitgeschakeld?
>>
>> Wellicht door het commando vanaf een andere machine uit te voeren?
>>
>> ssh im...@192.168.0.100 /usr/bin/sudo /bin/systemctl restart spamd
>
>Dat kan helaas gewoon worden gedaan. Dus het lijkt niet te werken.

Je hebt user 'imaps' tijdelijk remote login rechten gegeven? Niet
vergeten dat weer weg te halen, he.. ;-)

Ik weet ook niet wat sudo precies bedoelt met 'host' in deze context.
Misschien gaat het wel om users uit een NIS of ander domein die op deze
machine rechten hebben. Jouw 'imaps' is in die context dan gewoon een
lokale user, want die kon op jouw machine inloggen.

Dat het niet om de SSH_REMOTE_HOST gaat, is ook wel logisch. Wat nu als
je inlogt als imaps en vervolgens 'ssh localhost' doet? Dan ben je
volgens die interpretatie ineens een locale user. Lijkt me niet okay.

Quick Fix: zorg dat 'imaps' niet vanaf een remote machine kan inloggen.
--
[J|O|R] <- .signature.gz

Oscar

unread,
Nov 21, 2023, 10:10:09 AM11/21/23
to
In article <ujigmk$s8oh$1...@dont-email.me>, Oscar <jornws...@xs4all.nl> wrote:
>Ik weet ook niet wat sudo precies bedoelt met 'host' in deze context.

Na wat Googlen kwam ik dit non-authoritative antwoord tegen:

| Matti_Kurkela 05-20-2007 06:58 AM
| Re: Purpose of Host_alias in SUDO
|
| The idea is that if you wish, you can keep all sudo settings in one
| centralized sudoers file, which you can then distribute to all hosts
| on your site using any method you like (rdist, rsync, NFS or
| whatever).
|
| If you have site-wide Unix accounts using NIS or LDAP and a
| centrally-maintained sudoers file, it's easy to change group
| memberships and sudo permissions whenever users move from one
| project to another.
|
| If you have to enforce a strict security policy (maybe because of
| SOX, HIPPA, some other law or simply company policy), this kind of
| powerful centralized privilege management can help a lot.
|
| MK

(Bron: https://community.hpe.com/t5/operating-system-hp-ux/purpose-of-host-alias-in-sudo/td-p/5047955)

Klinkt logisch. Je bepaalt dus eigenlijk of de regel geldig is op _deze_
machine of niet. Op je andere machines zal deze /etc/sudoers geen
rechten geven aan de 'imaps' user.

Oscar

unread,
Nov 21, 2023, 10:28:49 AM11/21/23
to
In article <ujih8f$s8oh$2...@dont-email.me>, Oscar <jornws...@xs4all.nl> wrote:
>In article <ujigmk$s8oh$1...@dont-email.me>, Oscar <jornws...@xs4all.nl> wrote:
>>Ik weet ook niet wat sudo precies bedoelt met 'host' in deze context.
>
>Na wat Googlen kwam ik dit non-authoritative antwoord tegen:
>
>| Matti_Kurkela 05-20-2007 06:58 AM
>| Re: Purpose of Host_alias in SUDO
>|

Matti heeft 100% gelijk. Kijk wat ik vind met 'man 5 sudoers' bij de voorbeelden:

| jack CSNETS = ALL
|
| The user jack may run any command on the machines in the CSNETS alias [...]
|
| lisa CUNETS = ALL
|
| The user lisa may run any command on any host in the CUNETS alias [...]

Het is dus niet 'jack, komend van CSNETS' of 'lisa, komend van CUNETS' die ALL
mogen doen, maar precies andersom. Als sudo dit leest op een van de CSNETS
machines, dan mag jack alles doen. Leest ie dit op een van de CUNETS machines,
dan mag lisa alles doen. En zo leerde ik vandaag weer wat nieuws over sudo. ;-)

Cecil Westerhof

unread,
Nov 22, 2023, 7:44:04 AM11/22/23
to
Heel lang geleden heb ik geloof ik zoiets gelezen. ;-)

Het feit dat de meeste mensen ALL gebruiken is dus normaal gesproken
geen enkel probleem. :-D

Cecil Westerhof

unread,
Nov 22, 2023, 7:59:04 AM11/22/23
to
jornws...@xs4all.nl (Oscar) writes:

> In article <871qcpv...@munus.decebal.nl>,
> Cecil Westerhof <Ce...@decebal.nl> wrote:
>>Paul van der Vlis <pa...@vandervlis.nl> writes:
>>
>>>> imaps LOCAL = NOPASSWD: /bin/systemctl restart spamd
>>>> Ik kan nu als imaps de spamd service nog steeds herstarten.
>>>> Hoe verifieer ik dat ALL is uitgeschakeld?
>>>
>>> Wellicht door het commando vanaf een andere machine uit te voeren?
>>>
>>> ssh im...@192.168.0.100 /usr/bin/sudo /bin/systemctl restart spamd
>>
>>Dat kan helaas gewoon worden gedaan. Dus het lijkt niet te werken.
>
> Je hebt user 'imaps' tijdelijk remote login rechten gegeven? Niet
> vergeten dat weer weg te halen, he.. ;-)

Niet helemaal. Gedaan voor gewone gebruiker met een ls /root. En dat
natuurlijk verwijderd.
0 new messages