Yerel ayarları uzak ayarlarla eşitliyorsunuz .
Yerel olarak, bir bash örneği, yazdığınız şu anda çalışan kabuk:
ssh user@host command
Ssh (başka bir şey değil) komutunu istemci ssh olarak yürütür.
Bunu yapmak için yerel kabuğun bir alt kabuk veya yeni bir kabuk veya oturum açma başlatması gerekmez .
Komut bir lskomut olarak yürütülür : yerel olarak.
Uzaktaki bir sisteme ağ bağlantısı açan istemci ssh komutudur; doğru olarak doğrulanırsa ssh'ye argüman olarak yazılan komutu yürütmek için yeni bir kabuk başlatılır veya herhangi bir argüman verilmezse başka komutlar beklenir o bağlantıda.
Uzak kullanıcının (bu sisteme) giriş için kimliğinin doğrulanması gerektiğinden, bu yeni Uzak kabuk mutlaka bir giriş kabuğu olacaktır. Veya belirli bir komut verilirse, bu komutu kimliği doğrulanmış kullanıcı ayrıcalıklarıyla çalıştırın.
$file sourcedHer dosyanın başına ( uzaktaki sistemde) a ekleyerek hangi dosyaların kaynaklandığını görebilirsiniz ( /etc/dosyaları değiştirmek için kök gereklidir ):
$ a=(~/.bashrc ~/.profile /etc/bash.bashrc /etc/profile)
$ for f in "${a[@]}"; do sed -i '1 i\echo "'"$f"' was read"\n' "$f"; done
Ve sonra sadece bir ssh konsolu başlatın:
$ ssh sorontar@localhost
/etc/profile was read
/etc/bash.bashrc was read
/home/sorontar/.profile was read
/home/sorontar/.bashrc was read
Bu durumda, her iki bashrcdosya da okundu çünkü profilegiriş kabuğu doğrudan onları kaynakladığı için değil, onları içerecek komutlara sahipti.
$ ssh sorontar@localhost :
/etc/bash.bashrc was read
/home/sorontar/.bashrc was read
Her bashrciki durumda da okunan bu sistemde .
source ~/.bashrcYürütmek için komuta a eklemenize gerek yoktur .
Yolu değiştir
Yapmanız gereken tek şey, /etc/bash.bashrcbu sistemde bir kabuk başlatan tüm kullanıcılar için "$ PATH" değerini değiştirmek için doğru ayarları içermektir . Veya ~/.bashrcihtiyacı olan her kullanıcı için. Bir kullanıcının bir iskelet eklemek (veya düzenlemek) olabilir .bashrciçin /etc/skel/kullanılabilir doğru dosyası var oluşturulan yeni bir kullanıcı olması.
Yukarıdakiler sadece bash için geçerlidir. Tüm kabuklar için çalışmak için ayara ihtiyacınız varsa, büyük olasılıkla ~/.ssh/environmentihtiyacı olan her kullanıcı için ssh dosyasını kullanarak ortam değişkenini PATH olarak ayarlayın. Veya /etc/ssh/sshrcssh sunucusunun çalıştığı sistemde genel bir ayar için kullanın ( man sshddaha fazla ayrıntı için lütfen Dosyalar bölümünü okuyun ).
.bashrckaynaklıdır, ancak muhtemelen üstte etkileşim testi vardır. Bu denetimden önce eklediğiniz şeyler uygulanmalıdır ve sunucu kullanıcı ortamına veya kullanımına izin vermediğinde PATH'yi zorlamak için yaptığım şey budur~/.pam_environment.