|
| EID ved en bash subshell Fra : Anders Wegge Keller |
Dato : 23-01-11 18:56 |
|
Hvordan hænger det her lige sammen?
$ echo "Print *" | (sudo mail -n -u root) > maildrain
-rw-rw-rw- 1 root root 4270 Jan 23 04:00 maildrain
Kommandolinien er en del af et housekeeping script der bliver kørt
fra /etc/cron.d, og starter med at sudo'e til en almindelig
bruger. Alle andre filer der bliver oprettet af scriptet har de
rigtige permissions, men af en eller anden mystisk årsag ender roots
mail altså med at blive drainet til en fil der er eje af root. Jeg
havde ellers regnet med at en subshell vill sikre at output fik den
rigtige ejer, men desværre ikke. Er der nogen der har et bud på
hvorfor, og hvordan man kan komme udenom det?
--
/Wegge
Leder efter redundant peering af dk.*,linux.debian.*
| |
Klaus Alexander Seis~ (23-01-2011)
| Kommentar Fra : Klaus Alexander Seis~ |
Dato : 23-01-11 19:37 |
|
Anders Wegge Keller skrev:
> $ echo "Print *" | (sudo mail -n -u root) > maildrain
Dur dette mon (tee(1) ku' sikkert osse bruges)?
$ echo "Print *" | sudo -n -u root mail | cat > maildrain
Mvh,
--
Klaus Alexander Seistrup
http://klaus.seistrup.dk/
| |
Anders Wegge Keller (27-01-2011)
| Kommentar Fra : Anders Wegge Keller |
Dato : 27-01-11 14:50 |
|
Klaus Alexander Seistrup <klaus@seistrup.dk> writes:
> Anders Wegge Keller skrev:
>
>> $ echo "Print *" | (sudo mail -n -u root) > maildrain
>
> Dur dette mon (tee(1) ku' sikkert osse bruges)?
>
> $ echo "Print *" | sudo -n -u root mail | cat > maildrain
Det burde have virket, men jeg endte med samme resultat. En nærmere
efterforskning vist også at det var den wrapper der skulle sudo'e hele
cleanupscriptet væk fra root, der ikke har helt velgennemtænkt. Men
tak for hjælpen til (indirekte) at få debugget script+wrapper.
--
/Wegge
Leder efter redundant peering af dk.*,linux.debian.*
| |
|
|