Sadece Kendi Kullanıcımız İçin Tanımlanabilecek Çevre/Ortam Değişkeni

Başlatan sem, 17 Mayıs 2013 - 23:30:45

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

sem

Merhabalar başlıktaki durumu gerçeklemem mümkün müdür? Örneğin ben bir şifreyi çevre değişkenine atadım diyelim;
Alıntı Yap
$ export mPassword=MyPASSWORD
$ echo $mPassword
MyPASSWORD


Bu değişkeni diğer kullanıcılara sınırlamak mümkün müdür? Ya da diğer kullanıcılar bu şifreye erişebiliyor mu varsayılan olarak onu sorayım öncelikle =) Yani bir kullanıcı tarafından tanımlanmış olan çevre değişkenlerine.

Alıntı Yap$ ps ef | grep -i "deneme.sh"
5739 pts/2    S+     0:00  \_ bash deneme.sh MyPASSWORD ORBIT_SOCKETDIR=/tmp/orbit-semetey SSH_AGENT_PID=1411 TERM=xterm SHELL=/bin/bash XDG_SESSION_COOKIE=1fd3bad8c267b4253e412b914bebdfaf-1368813957.196569-1682778985 mPassword=MyPASSWORD
...

Kendim ps ef verince bu şekilde görünüyor. Farklı bir kullanıcıdan verince ise çevre değişkenlerini göstermiyormuş, şimdi denedim =) Fakat şöyle gösteriyor;

Alıntı Yapbash deneme.sh MyPASSWORD

Bu durumda tek çare dosyadan okutmak gibi mi duruyor, prosese değişken olarak gönderip de bu şekilde görünmemesini sağlamak mümkün müdür. Onu sorayım başlığı açmışken =)
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

cagriemer

Kullanici mudahale edecekse read -s ile okunabilir. Insan mudahalesi gerekmeden calismasi gerekiyorsa BASH'in man sayfasina biraz bakmak gerekecek.

sem

İnsan müdahalesi gerekmeyecek daha doğrusu bu istenmeyen bir durum. Bir kurumda gece saatlerinde çalışan bir ETL için sqlplus'u komut satırından çalıştırdığımızda örneğin;

sqlplus  kullanıcı/sifre@host 

şeklinde bağlantı kurmak gerekiyor. Bu hali ile veri tabanı kullanıcısı ve şifresi alenen görünebiliyor. Yani sıkıntılı bir durum. O zaman man sayfalarına dalmam gerekecek dediğiniz gibi.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?

heartsmagic

İlla bash mi gerekiyor? Ufak bir C kodu ve derleme yolu ile ikilik çıkartsan ortaya?
Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.

sem

Derlenmiş diller kabul görmeyecektir. Bazı firmalar 3 sistemde çalışıyor geliştirme (development), test (pre production) ve canlı sistem (production). Bu denemeler sırasında (test) ya da ortam geçişlerinde örneğin SQL Plus ile parametrik olarak gönderilen kullanıcı adı değişebiliyor. Bu üç sistemde sabit tutulsa bile ileride değiştirilmesi de gerekebilir. Bu durumda daima kaynak koda ihtiyaç duyulacaktır. Kaynak koda ihtiyaç duyulmadan bu işi kotarmanın yolu ya yorumlanan diller hatta daha ziyade parametre yapısı.

Yani C dilini kabul etse bile firma "şu şu kısımlar" parametrik olsun diyecektir. Parametreleri ise komut satırından geçiyorlar;

sqlplus user/pass@host

şeklinde çalıştırılabiliyor Oracle'ın SQL Plus aracı. Farklı çözüme gidiltikten sonra gerçi harici bir script yazılarak asıl script bunun içerisinden de çağrılabilir. Bu durumda ps ef çıktısında görünmeyecektir. Fakat merak ettiğim bu bilgileri e paramtresinden saklamanın bir yolu var mı acaba.

MAN sayfalarına dalmaya vaktim olmadı daha. Bir çözüm bulabilirsem buradan paylaşırım.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 22 Mayıs 2013 - 01:16:02

Expect ile çözülebilir belki bir ihtimal, sqlplus kullanıcı adı verilmeden çağrıldığında kullanıcı adını komut satırından soruyor. Ama OEL (Oracle Enterprise Linux) ile Expect gelmiyordu varsayılan olarak. FTP ya da bu iş için ufak bir deneme yapmıştım yanılmıyorsam. ya da  << operatorü de denenebilir belki.
".NET çemberinden geçen lirisist etkisi bir 'Volcano', bir yüzüm Java bir yüzüm Badalamenti Don Tano"
----------------------------------------------------------------------------------------------------------------------
"Her yer ölüm yine, burası dünya
Derken ölüm bile bu nasıl dünya?
Benden ölüm dile, batıyor gün yine
Burası dünya?