sudo komutunu kullanarak bir cron işi nasıl çalıştırılır

98

cron işi çalıştırılabilir mi? .org / wiki / Sudo "> sudo komutu?

gibi:

 sudo rm somefile
    
sordu sayem siam 09.08.2012 19:51

3 cevap

195

Bunun ne kadar kötü bir fikir olduğunu anlamayacağım; basitçe, sudo 'yı crontab içinde çalıştırmak, şifrenizin düz metin içinde bir yerde saklanmasını gerektirir.

Bu kötü bir fikir.

Aşağıdaki, yönetim görevlerini cron aracılığıyla çalıştırmanın tercih edilen yöntemidir. Kökün crontab'ını değiştiriyorsanız, crontab’a sudo yazmanız gerekmediğinden

Kökün crontab'sini kullan

Aşağıdaki komutu çalıştırın:

sudo crontab -e

Bu root 's crontab açılır. Komutunuzu bu bağlamda çalıştırmak için sudo gerekli değildir, çünkü yine de root olarak çağrılacaktır.

Dolayısıyla, aşağıdakileri root'un crontab'ına eklemelisiniz.

@hourly rm somefile

Şimdi, kesinlikle güvenli olmak istemiyorsanız ve şifrenizle riskler alırsanız, aşağıdaki komut kendi crontab'ınızdan çalışır ve sudo tarafından istendiğinde parolanızı otomatik olarak girer.

Yine, bu önerilmez .

Kendi crontab'ınızda, komutunuzu şöyle yazın:

@hourly echo "password" | sudo -S rm somefile

Buradaki bariz dezavantaj, crontab'ınıza herhangi birinin erişebilmesi durumunda, şifrenizin düz metin olarak okunabileceğidir.

Bunu yapmamalısınız.

    
verilen cevap SirCharlo 09.08.2012 20:03
26

Komut dosyasını cron dizinlerinden birine koyarsanız ( /etc/cron.* ), root olarak çalıştığı için sudo kullanmanız gerekmez.

Eğer crontab kullanıyorsanız, root'un crontabını kullanmak isteyeceksiniz. Bu, root olarak çalışacak ve ayrıca sudo gerektirmeyecektir.

sudo crontab -e
    
verilen cevap tgm4883 09.08.2012 20:02
0

Terminalde aşağıdaki komutu çalıştırın

sudo visudo

Dosyanın sonuna şu satırı ekledi:

vidyadhar  ALL= NOPASSWD: /bin/rm

Yukarıdaki örnekte vidyadhar kullanıcı adıdır ve vidyadhar üzerinden rm komutunu çalıştırırsanız şifre sormaz.

    
verilen cevap Vidyadhar 09.08.2012 20:07

Etiketlerdeki diğer soruları oku