Ftp komutunda kullanıcı adı ve parola nasıl belirlenir?


9

Bir kabuk betiğinde ftp çağrısını otomatikleştirmek istiyorum. Yazarsam

$ftp somehost.domain.com

Bir kullanıcı adı ve şifre girmem isteniyor. Bu kullanıcı adını ve şifreyi ftp çağrısının bir parçası olarak vermek istiyorum. Adam sayfa ftp için ben istemi ftp bir kullanıcı komutu söylüyor - ama tek seferde tüm ftp giriş yapmak istiyorum. Mümkün mü? Bayraklarda ftp için hiçbir şey görmüyorum. Ben -s seçeneği bana ftp istemi var bir kez bazı ftp komutları belirtme seçeneği verdiğini görüyorum - ama istemine almak için kullanıcı adı vermek gerekir ...


expect(bir tür tcl / tk uzantısı) bu tür şeyler için ideal bir programdır - yani. biraz bekle; cevap ver ... bir cevap bekle; yeni bir yanıt verin ... expect"ogin:" için bekleyin ve size kullanıcı adı gönderin, ardından "assword:" için bekleyin ve şifrenizi gönderin.
Baard Kopperud

Yanıtlar:


10

.netrcAna dizininizde bir dosya kullanın .

İçerik:

# machine <hostname> login <username> password <password>
machine ftp.example.com login myuser password $ecret

Bu programlı olarak yaptığınız bir şeyse, .netrcbağlanmadan önce yazın, işiniz bittiğinde silin.


Bu dosya ftpbaşka programlara özgü mü veya başka programlar tarafından da okunuyor mu?
terdon

netrc(5)Man sayfasında bununla "için olduğunu söylüyor ftp(1)" ama emin değilim ftpkullanacak tek şeydir.
bahamat

".Netrc" dosyanızı bulmak istiyorsanız, şu komutu kullanın:locate '.netrc'
goamn

1

Ayrıca burada böyle bir şey gider bir burada doc kullanarak ac kabuk komut dosyası yazabilirsiniz :

#!/bin/sh
HOST='someftpserver.com'
USER='username'
PASSWD='password'
FILES='*.txt'
#
ftp -nv $HOST>$FTPLOG <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd somedirectory
binary
mget $FILES
quit
END_SCRIPT

0

Ayrıca , ihtiyaçlarınıza bağlı olarak wputveya wgetalternatif olarak düşünebilirsiniz .

Ben kullanmadıysanız wgetgeçenlerde ama kullanmış wputben daha önceki bazı cevaplar önerildiği üzere oluşturmak veya dosyaları değiştirmek istemedim çünkü.

İçin wput, sözdizimi şöyledir:

wput <filename> ftp://<username>:<password>@<address>
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.