macOS: Ruby programını `sudo` kullanarak başlatın, Ruby programında` güvenlik` çağırırken şifreyi kullanın


0

MacOS Sierra'da çalışıyor: Ruby programım var - setup.rb - Yeni bir Mac'te bir geliştirme ortamı oluşturmak için.

Kullanarak programı başlatmam gerekiyor sudo ruby setup.rb Çünkü gerektiren bazı şeyler yapar sudo.

Program, tembel bir programcının başka bir şey yapmak istemesi için yeterince uzun, belki bir fincan kahveyi tokatlamak için yeterince uzun olan (yaklaşık 2 dakika) oldukça uzun süren görevlerle başlar.

İşte benim bilmecem: 2 dakikalık görevden sonra kullanmam gerekiyor security Anahtarlıkla etkileşime giren komut. Bu komut benden anahtarlığın şifresini isteyecek, bu nedenle giriş beklediğinden dolayı yakut programını durduracak.

Anahtarlık parolasını şifreye geçirebileceğimi biliyorum security komutunu kullanarak -p <PASSWORD> bayrağı.

Çoğu (tümü?) Anahtarlık, macOS giriş bilgileriyle aynı şifreyi kullanacak şekilde ayarlandığı için (en azından benim makine paylaşımım ...), Kullanıcının başlamak için girdiği şifreyi iletmek istiyorum. setup.rb -e security Komut. Mümkün mü?

Hem çirkin hem de çirkin bir çözüm emniyetsiz doğrudan sudo şifresiyle kullanıcıyı doğrudan yönlendirmek, ancak kendi istemi kullanarak, şifreyi bir değişkende saklamak ve sonra security komutunu kullanarak -p bayrağı. Güvenli olmasının dışında, kullanıcının şifreyi iki kez kullandığı anlamına gelir. Fakat bu işi yapacak çünkü kullanıcı bilgisayardan bir fincan kahve içebilir setup.rb Tüm girişini istemeden işlerini yapabilir.

Elbette daha iyisini yapabiliriz?


Kullanmak için girmiş olabileceğiniz şifreye erişemezsiniz. sudo script betiğin içinden ("olabilir" çünkü sudo yapılandırma, kullanıcıdan bir parola bile istenmeyebilir). Belki taşıyabilirsin security Komut dosyanızın başına komutunu verin ve sonucu daha sonra kullanmak üzere saklayın. Veya arka planda uzun koşucuları çalıştırmak &?
nohillside

@patrix sorunu ~ 2dk alan görevi önce yapılması gereken olmasıdır security Komut.
Sajjon

Koşabilir misin security önce bir kilit dosyasına dokunun, uzun ilk betiğin arkaplanı ve güvenlik kodunun geri kalanına devam etmeden önce ilk komut dosyasının kilit dosyasını kaldırmasını bekleyin.
Kent
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.