Kök Parolasını bir komut dosyasına nasıl iletebilirim


6

Komut dosyalarımdan birinde kök parola var ve bu komut dosyasından kök izni gerektiren başka bir komut dosyası başlatmak istiyorum. Sahip olduğum kök şifreyi, kullanıcıya 2. betiği başlatan kök şifreyi sormama gerek kalmaması için nasıl kullanabilirim.


Bu bir programlama sorusuysa, bu stackoverflow'ta olmamalı mı?
rzlines

@ rzlines ,: Yönetici bash scriptleri gerçekten 'programlama' değil, ServerFault veya UnixSE için daha uygun olabilir ... ama gerçekten olduğu yerde olması iyi olmalı.
J. M. Becker

Yanıtlar:


17

Bunun bir çok güvenlik etkisi var, ancak bununla başa çıkmanın en iyi yolunu bulalım.

Kök şifresini doğrudan kullanmayın. Komut dosyalarını çalıştırmak için sudo kullanın. Sudo, Ubuntu'da varsayılan olarak kurulur ve paket havuzlarındaki hemen hemen tüm popüler Linux dağıtımlarında kullanılabilir. Sudo kurulduktan sonra / etc / sudoers 'ı düzenlemek isteyeceksiniz.

su -
visudo
# add something like the following:
Cmnd_Alias SCRIPT=/path/to/script1
script_user ALL=NOPASSWD: SCRIPT

Böylece script_user ilk betiği sudo aracılığıyla root olarak çalıştırabilir, bu da diğer betiği root olarak başlatabilir. Sudoers dosyası hakkında daha fazla bilgi için, bkz. sudoers(5) sisteminizde man sayfa.

Ama senaryolarınızın kesinlikle root olarak çalışması gerekiyor mu? Çoğu zaman bu hiç gerekli değildir, ancak kolaylıktan çıkar.


1
Demek istemiyorsun script_user ALL=NOPASSWD: SCRIPT ?
grawity

@grawity teşekkürler, saat 2'de veya her neyse;
jtimberman

Benzer bir şeye ihtiyacım var, bana bir çözüm yazabilir misiniz, bunu nasıl doğru şekilde yapabileceğimi anlamıyorum. Benim sorum .
GarouDan

2

Başka bir seçenek de dosyada intiharı kök olarak ayarlamak olabilir. Örnek: chmod u+s script.sh root olarak normal bir kullanıcı betiği çalıştırdığında, sahibinin aka root dosyasının izinleriyle çalışır.

Sadece kendi bilginiz için sudo şifresi olmadan çalışacak şekilde ayarlamak istemiyorsanız, şifreyi stndin gibi sudo şifresine aktarabilirsiniz. echo PASSWORD|sudo -S ./script.sh

Ancak bu parola geçmişinde veya "ps" gibi izleyen herhangi birisinde göstereceği için bir güvenlik kaygısı olabilir. Ayrıca Bekle ve Boş olarak da bakabilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.