Ini ialah arahan authbind yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.
JADUAL:
NAMA
authbind - ikat soket ke port istimewa tanpa akar
SINOPSIS
authbind [pilihan] program [hujah ...]
DESCRIPTION
authbind membenarkan atur cara yang tidak atau tidak sepatutnya berjalan sebagai akar untuk mengikat kepada nombor rendah
pelabuhan dengan cara terkawal.
Anda mesti menggunakan program menggunakan authbind. authbind akan menyediakan beberapa persekitaran
pembolehubah, termasuk a LD_PRELAD, yang akan membenarkan program (termasuk mana-mana
subproses yang mungkin dijalankan) untuk mengikat ke port bernombor rendah (<512) jika sistem dikonfigurasikan
untuk membenarkan ini.
PILIHAN
--dalam Biasanya, authbind hanya mengatur program yang ia gunakan secara langsung
dipengaruhi oleh versi khasnya mengikat(2). Jika anda nyatakan --dalam kemudian semua
program yang program itu gunakan secara langsung atau tidak langsung akan terjejas, jadi
selagi mereka tidak menyahset pembolehubah persekitaran yang ditetapkan oleh authbind.
--kedalaman tahap
Punca authbind untuk menjejaskan program yang tahap jauh dalam graf panggilan. The
lalai adalah --kedalaman 1.
AKSES KAWALAN
Akses kepada port bernombor rendah dikawal oleh kebenaran dan kandungan fail dalam a
kawasan konfigurasi, /etc/authbind.
Pertamanya, /etc/authbind/byport/pelabuhan sedang diuji. Jika fail ini boleh diakses untuk pelaksanaan ke
pengguna yang memanggil, menurut mengakses(2), kemudian mengikat ke pelabuhan dibenarkan. Sekiranya
fail boleh dilihat tidak wujud (semakan kewujudan kembali ENOENT) maka ujian selanjutnya akan
digunakan untuk mencari kebenaran; jika tidak, mengikat tidak dibenarkan, dan mengikat memanggil
akan kembali dengan salah nilai dari mengakses(2) panggilan, biasanya EACCES (Kebenaran
ditolak).
Kedua, jika ujian itu gagal menyelesaikan perkara itu, /etc/authbind/byaddr/addr,pelabuhan (mana-mana
protokol) atau gagal itu /etc/authbind/byaddr/addr:pelabuhan (IPv4 sahaja) diuji, dalam
cara yang sama seperti di atas. Di sini addr adalah seperti dari inet_ntop, dan pelabuhan ialah TCP atau UDP (tempatan).
nombor port, dinyatakan sebagai integer tidak bertanda dalam bilangan digit bukan sifar minimum.
Ketiga, untuk IPv6 sahaja: sejak perwakilan teks daripada inet_ntop adalah rumit untuk
meramalkan, varian daripada addr juga diuji yang tidak menggunakan kolon berganda
singkatan: setiap ketul 16 bait dinyatakan dalam bilangan bukan sifar minimum digit heks
(iaitu dengan sifar pendahuluan dikeluarkan), ketulan dipisahkan oleh titik bertindih sebagaimana adanya
konvensional.
Keempat, jika soalan masih belum selesai, fail /etc/authbind/byuid/uid akan
dibuka dan dibaca. Jika fail tidak wujud maka pengikatan tidak dibenarkan dan mengikat
akan kembali EPERM (Operasi tidak dibenarkan, Atau tidak pemilik). Jika fail itu wujud, ia akan
dicari baris borang
addrmin[-addrmax],portmin[-portmax]
addr[/panjang],portmin[-portmax]
addr4/panjang:portmin,portmax
sepadan dengan permintaan. Borang pertama memerlukan alamat terletak dalam julat yang berkaitan
(termasuk di kedua-dua hujungnya). Borang kedua dan ketiga memerlukan huruf awal panjang bit
of addr sepadan dengan yang dicadangkan mengikat panggilan. Borang ketiga hanya tersedia untuk IPv4
kerana alamat IPv6 mengandungi titik bertindih. Alamat dalam fail byuid boleh dalam sebarang bentuk
boleh diterima oleh inet_pton. Dalam semua kes nombor port yang dicadangkan mesti terletak di dalam
julat inklusif yang ditentukan. Jika garis sedemikian dijumpai maka pengikatan itu dibenarkan.
Jika tidak, ia tidak, dan mengikat akan gagal dengan ENOENT (Tidak seperti fail or direktori).
Jika ralat baca berlaku, atau direktori /etc/authbind tidak boleh diakses, maka bukan sahaja
akan mengikat gagal, tetapi mesej ralat akan dicetak ke stderr. Baris tidak dikenali masuk
/etc/authbind/byuid/uid fail diabaikan secara senyap, begitu juga baris yang addr mempunyai bukan sifar
bit lebih daripada panjang dari atas atau di mana beberapa minit adalah lebih besar daripada maks.
CONTOH
Jadi sebagai contoh percubaan oleh uid 432 untuk mengikat ke port 80 alamat
[2620:106:e002:f00f::21] akan menghasilkan panggilan authbind mengakses(2) pada, mengikut urutan,
/etc/authbind/byport/80
/etc/authbind/byaddr/2620:106:e002:f00f::21,80
/etc/authbind/byaddr/2620:106:e002:f00f:0:0:0:21,80
Jika tiada fail ini wujud, authbind akan membaca
/etc/authbind/byuid/432
dan cari talian untuk membenarkan akses yang berkaitan; contoh baris yang akan berbuat demikian
ialah:
2620:106:e002:f00f::21,80
::/0,80
PORTS 512-1023
Membenarkan pengikatan pada port dari 512 hingga 1023 termasuk tidak disyorkan. Beberapa
protokol (termasuk beberapa versi NFS) membenarkan pelanggan dengan melihat bahawa mereka sedang menggunakan
nombor port dalam julat ini. Jadi dengan membenarkan program untuk menjadi pelayan untuk port sedemikian,
anda juga membenarkannya untuk menyamar sebagai seluruh hos untuk protokol tersebut.
Untuk memastikan bahawa ini tidak dilakukan secara tidak sengaja, jika nombor port yang diminta adalah dalam
julat 512-1023, authbind akan mengharapkan fail kebenaran mempunyai tambahan ! pada
permulaan nama daun mereka.
MEKANISME
Pustaka kongsi dimuatkan menggunakan LD_PRELAD mengatasi mengikat(2) panggilan sistem. Apabila a
program yang dipanggil melalui authbind panggilan mengikat untuk mengikat soket ke port TCP/IP bernombor rendah,
dan jika program itu belum mempunyai uid berkesan 0, versi mengikat
sepatutnya oleh authbind garpu dan melaksanakan program pembantu akar setuid. Untuk bukan TCP/IP
soket, port bernombor tinggi, atau program yang sudah menjadi akar, authbind melepasi panggilan
kepada yang asal mengikat(2) panggilan sistem, yang didapati menggunakan dlsym(3) dengan pemegang
RTLD_NEXT.
RALAT PENGENDALIAN
Biasanya mekanisme pengendalian ralat C biasa digunakan. Jika authbind tidak dapat mencari program
ia telah diminta untuk melaksanakannya akan mencetak mesej ke stderr dan keluar dengan kod 255.
Program pembantu biasanya melaporkan kembali ke perpustakaan kongsi dengan status keluar
mengandungi salah nilai yang mengekod sama ada mengikat telah dibenarkan dan berjaya.
Ini akan dikembalikan kepada program panggilan dengan cara biasa.
Dalam kes konfigurasi yang jelas atau ralat serius lain, perpustakaan dan/atau fail
program helper boleh menyebabkan mesej dicetak ke stderr program, was well as
kembali -1 dari mengikat.
Gunakan authbind dalam talian menggunakan perkhidmatan onworks.net