Automatiser sudo-kommandoer: Kør uden adgangskode og planlæg natlige installationer

Hvordan kan sudo køres med adgangskode i én kommandolinje, eller findes der en anden metode til automatisk at installere en applikation om natten uden manuel indtastning af adgangskode?

For at køre sudo med adgangskode i én kommandolinje eller automatisere installationen uden manuel indtastning af adgangskode, kan du bruge echo og pipe, redigere sudoers filen, oprette cron jobs eller anvende et expect script.

Hvordan kan sudo køres med adgangskode i én kommandolinje, eller findes der en anden metode til automatisk at installere en applikation om natten uden manuel indtastning af adgangskode?

For at køre sudo med adgangskode i én kommandolinje eller automatisere installationen af en applikation uden manuel indtastning af adgangskode, kan du overveje følgende metoder:

1. Brug af echo og pipe

Du kan bruge echo til at sende adgangskoden til sudo kommandoen via en pipe:

echo "din_adgangskode" | sudo -S kommando

Bemærk, at denne metode kan være usikker, da adgangskoden vises i klar tekst.

2. Redigering af sudoers filen

Du kan redigere sudoers filen for at tillade en bestemt kommando at køre uden adgangskode:

  1. Åbn sudoers filen med visudo:
    sudo visudo
  2. Tilføj følgende linje i slutningen af filen:
    brugernavn ALL=(ALL) NOPASSWD: /sti/til/kommando

Erstat brugernavn med dit brugernavn og /sti/til/kommando med den fulde sti til den kommando, du vil køre uden adgangskode.

3. Brug af cron jobs

Du kan bruge cron til at planlægge en opgave til at køre om natten:

  1. Åbn crontab for redigering:
    crontab -e
  2. Tilføj en linje for at planlægge din kommando:
    0 2 * * * echo "din_adgangskode" | sudo -S /sti/til/kommando

Dette eksempel kører kommandoen hver nat kl. 2:00. Husk at erstatte din_adgangskode og /sti/til/kommando med dine egne værdier.

4. Brug af expect script

Du kan bruge et expect script til at automatisere indtastningen af adgangskoden:

#!/usr/bin/expect -f
spawn sudo kommando
expect "password for brugernavn:"
send "din_adgangskode\r"
interact

Gem dette script som en fil, gør den eksekverbar med chmod +x filnavn, og kør den.

Vælg den metode, der passer bedst til dine behov og sikkerhedskrav.