Saya ingin mengunduh skrip dari: http://dl.dropbox.com/u/11210438/flockonus-stack.sh dan jalankan. Dugaan saya adalah, menggunakan wget untuk mengubah nama, chmod, dan mengeksekusi.
Apa perintah untuk melakukan itu di Ubuntu?
Saya ingin mengunduh skrip dari: http://dl.dropbox.com/u/11210438/flockonus-stack.sh dan jalankan. Dugaan saya adalah, menggunakan wget untuk mengubah nama, chmod, dan mengeksekusi.
Apa perintah untuk melakukan itu di Ubuntu?
Cermat
Sebelum menjalankan skrip, apakah Anda mempercayai orang yang menulisnya?
Misalnya, apakah Anda mengharapkan skrip berisi ini?
echo "brain1" > /etc/hostname
Itu akan mencoba mengubah nama host Anda.
Untuk referensi di masa mendatang, jika, setelah memverifikasi skrip itu benar dan tidak berbahaya, Anda dapat menjalankannya dalam satu baris seperti ini:
wget -O - http://dl.dropbox.com/u/11210438/flockonus-stack.sh | bash
Tetapi unduh secara terpisah dan bacalah sebelum menjalankannya pertama kali.
Perhatikan juga bahwa petunjuk interaktif di dalam skrip yang diunduh mungkin tidak berfungsi dengan baik menggunakan metode ini.
echo "brain1" > /etc/hostname
bisa saja dengan mudahrm -rf /
.apt-get install
Garis Anda ? Jikaapt-get
akan menginstal dependensi tambahan, ia akan bertanya kepada Anda, dan jika tidak bisa, ia akan keluar dengan aman. Tambahkan semua paket dependen ke argumen baris perintah, atau pertimbangkan untuk menambahkan-y
, misalnyaapt-get -y install...
Skrip Non-Interaktif
Perhatikan bahwa saat menggunakan metode ini, skrip interaktif tidak akan berfungsi.
Script Interaktif
Agar skrip interaktif berfungsi, Anda dapat menggunakan ini:
Script Interaktif yang perlu dijalankan sebagai root
Perhatikan bahwa Anda tidak dapat menggunakan sederhana
sudo bash
karena menggunakan<(...)
akan membuat file virtual dan deskriptor file itu tidak akan dapat diakses dari instance root bash. Itu harus dijalankan pada pengguna yang sama yang perlu membaca file virtual, jadi itu harus dikirim sebagai perintah itu sendiri di dalam shell pengguna root.sumber
Ketika dpkg berjalan, dipanggil oleh apt-get, ia mem-flush stdin. Jika Anda menggunakan perintah seperti
curl blah | bash
, maka pada dasarnya Anda mengirim konten halaman untuk di-bash melalui STDIN. Jika salah satu perintah Anda tepat, lalu jalankan, yang lainnya akan memerah.Caranya adalah dengan menggunakan perintah seperti ini
apt-get install --yes denyhosts </dev/null
. Ini memberi apt-get input yang berbeda, dan itu hanya mem-flush / dev / null alih-alih sisa skrip Anda.Jika Anda ingin melihat contoh lengkap menginstal sesuatu melalui skrip jarak jauh, Anda mungkin ingin melihat skrip ini untuk menyiapkan denyhosts
Sebagai catatan, saya lebih suka meringkuk daripada wget untuk ini, tetapi wget juga harus baik-baik saja.
sumber
sumber
Semua contoh ini kehilangan poin yang cukup penting. Jika Anda menggunakan url
http://dl.dropbox.com/u/11210438/flockonus-stack.sh
, Anda perlu mengaudit skrip setiap kali Anda mengunduhnya, karena itu dapat dimodifikasi oleh siapa saja di jalur jaringan antara Anda dan dropbox. Jika Anda beralih ke http s : //dl.dropbox.com/u/11210438/flockonus-stack.sh , Anda tidak akan memiliki sumber rasa tidak aman itu.(Dropbox mencoba mengalihkan URL http ke https, tetapi dalam kasus serangan jaringan, wget tidak akan pernah bisa berbicara dengan dropbox asli, dan tidak akan pernah melihat pengalihan)
sumber
Coba unduh saja seperti yang Anda tentukan dengan wget dan kemudian jalankan secara langsung. Anda bisa mendapatkan mewah dan menggunakan variabel untuk skrip yang ingin Anda unduh dll, tetapi ini akan membantu
Sebagai contoh:
sumber