Discussion:
Alleen huidige host, niet alle met sudo
(te oud om op te antwoorden)
Cecil Westerhof
2023-11-16 12:35:49 UTC
Permalink
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
2023-11-16 14:30:17 UTC
Permalink
Post by 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
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
2023-11-16 14:50:36 UTC
Permalink
Post by Paul van der Vlis
Post by 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
     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?
ONSNET = 91.198.178.0/24, 45.95.238.187
imaps ONSNET = NOPASSWD: /bin/systemctl restart spamd
Maar om eerlijk te zijn gebruik ik ook altijd "ALL".
Wellicht dus dat dit doet wat je wilt, maar niet getest:

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

Groet,
Paul
--
Paul van der Vlis Linux systeembeheer Groningen
https://vandervlis.nl
Cecil Westerhof
2023-11-16 15:33:05 UTC
Permalink
Post by Paul van der Vlis
Post by Paul van der Vlis
Post by 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
     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?
ONSNET = 91.198.178.0/24, 45.95.238.187
imaps ONSNET = NOPASSWD: /bin/systemctl restart spamd
Maar om eerlijk te zijn gebruik ik ook altijd "ALL".
LOCAL = 127.0.0.1, ::1
imaps LOCAL = NOPASSWD: /bin/systemctl restart spamd
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?
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
Paul van der Vlis
2023-11-16 16:15:47 UTC
Permalink
Post by Cecil Westerhof
Post by Paul van der Vlis
Post by Paul van der Vlis
Post by 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
     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?
ONSNET = 91.198.178.0/24, 45.95.238.187
imaps ONSNET = NOPASSWD: /bin/systemctl restart spamd
Maar om eerlijk te zijn gebruik ik ook altijd "ALL".
LOCAL = 127.0.0.1, ::1
imaps LOCAL = NOPASSWD: /bin/systemctl restart spamd
Host_Alias LOCAL = 192.168.0.100
Oeps, daar moest inderdaad "Host_Alias" voor.

Maar ik vind het raar, want een commando uitvoeren doe je normaal niet
via TCP.
Post by Cecil Westerhof
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 ***@192.168.0.100 /usr/bin/sudo /bin/systemctl restart spamd

Groet,
Paul
--
Paul van der Vlis Linux systeembeheer Groningen
https://vandervlis.nl
Cecil Westerhof
2023-11-16 20:34:57 UTC
Permalink
Post by Paul van der Vlis
Post by Paul van der Vlis
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?
Dat kan helaas gewoon worden gedaan. Dus het lijkt niet te werken.
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
Oscar
2023-11-21 15:00:36 UTC
Permalink
Post by Cecil Westerhof
Post by Paul van der Vlis
Post by Paul van der Vlis
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?
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
2023-11-21 15:10:07 UTC
Permalink
Post by Oscar
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.
--
[J|O|R] <- .signature.gz
Oscar
2023-11-21 15:28:47 UTC
Permalink
Post by Oscar
Post by Oscar
Ik weet ook niet wat sudo precies bedoelt met 'host' in deze context.
| 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. ;-)
--
[J|O|R] <- .signature.gz
Cecil Westerhof
2023-11-22 12:42:40 UTC
Permalink
Post by Oscar
Post by Oscar
Post by Oscar
Ik weet ook niet wat sudo precies bedoelt met 'host' in deze context.
| Matti_Kurkela 05-20-2007 06:58 AM
| Re: Purpose of Host_alias in SUDO
|
| 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. ;-)
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
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
Cecil Westerhof
2023-11-22 12:45:21 UTC
Permalink
Post by Oscar
Post by Cecil Westerhof
Post by Paul van der Vlis
Post by Paul van der Vlis
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?
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.
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
Loading...