Bir ortam değişkeninde bir parola geçirmek, programın bir dosyadan okuması kadar güvenlidir. Yalnızca aynı kullanıcı olarak çalışan işlemler bir işlemin ortamını okuyabilir ve bu işlemlerin aynı dosyaları yine de okumasına izin verilir.
Bunun komut satırında bir parola geçirmekten farklı olduğunu unutmayın. Komut satırı argümanları, sadece aynı kullanıcı olarak çalışan işlemler değil aynı makine üzerinde çalışan tüm işlemler tarafından okunabilir (sertleştirme önlemleri).
Bir değişkeni ortamdan geçirirseniz, programın başka programlar başlattığına dikkat edin. Bu diğer programlar ebeveynlerinin çevresini devralacak. Bu nedenle, diğer programların yanlışlıkla ortamlarının içeriğini sızdırabileceğinden korkuyorsanız bunu yapmayın.
Senaryonuzdaki kusur “sunucu sistemi kurulduğunda uygun bir ortam değişkeni yaratma” dır. Bir ortam değişkeni bir işlemin dinamik bir özelliğidir. Bir sistemi kurarken yaratamazsınız, kurarsanız yeniden başlatmadan kurtulacak bir şey demek istemezseniz. Ne demek. Bu belli bir kullanıcı günlükleri (tipik bir yapılandırma dosyası üzerinden yapıldığında bu değişken için düzenlenmiş yönetici ortamda mevcut olması yani tahminen olan ~/.pam_environment
ya ~/.profile
veya bir dosya okuma ~/.profile
). Dolayısıyla bu çözüm aslında şifreyi konfigürasyon dosyalarından çıkarmaz.
Parolaları kullanıcının oturum açma ortamında olacak şekilde ayarlamak, iyi bir fikir değildir. Bu, o kullanıcı olarak çalışan her sürecin sırrına sahip olacağı anlamına gelir, bu nedenle herhangi bir yerde bir sızıntıya karşı savunmasızdır.
Parola, sürüm kontrolü altındaki yapılandırma dosyalarından ve normal dağıtım mekanizmalarından ayrı bir dosyaya konulmalıdır. Eğer uygunsa şifreyi ortama bir noktaya koymak tamam, ancak mümkün olduğu kadar küçük bir program grubu için yapılmalıdır.