/etc/securetty
dikonsultasikan oleh modul pam_securetty untuk memutuskan dari mana terminal virtual (ttyS) root diijinkan masuk. Di masa lalu, /etc/securetty
dikonsultasikan oleh program-program seperti login langsung, tetapi sekarang PAM menanganinya. Jadi perubahan /etc/securetty
akan memengaruhi apa pun yang menggunakan PAM dengan file konfigurasi yang menggunakan pam_securetty.so. Jadi, hanya program login yang terpengaruh secara default. /etc/pam.d/login
digunakan untuk login lokal dan /etc/pam.d/remote
digunakan untuk login jarak jauh (seperti telnet).
Jenis entri utama dan pengaruhnya adalah sebagai berikut:
- Jika
/etc/securetty
tidak ada, root diizinkan masuk dari tty manapun
- Jika
/etc/securetty
ada dan kosong, akses root akan dibatasi untuk mode pengguna tunggal atau program yang tidak dibatasi oleh pam_securetty (yaitu su, sudo, ssh, scp, sftp)
- jika Anda menggunakan devfs (sistem file yang sudah tidak digunakan lagi untuk menangani / dev), menambahkan entri formulir vc / [0-9] * akan memungkinkan login root dari nomor konsol virtual yang diberikan
- jika Anda menggunakan udev (untuk manajemen perangkat dinamis dan penggantian devfs), menambahkan entri formulir tty [0-9] * akan memungkinkan login root dari nomor konsol virtual yang diberikan
- daftar konsol di securetty, biasanya tidak berpengaruh karena / dev / konsol menunjuk ke konsol saat ini dan biasanya hanya digunakan sebagai nama file tty dalam mode pengguna tunggal, yang tidak terpengaruh oleh
/etc/securetty
- menambahkan entri seperti pts / [0-9] * akan memungkinkan program yang menggunakan pseudo-terminal (pty) dan pam_securetty untuk login ke root dengan asumsi pty yang dialokasikan adalah salah satu yang terdaftar; biasanya merupakan ide yang bagus untuk tidak memasukkan entri ini karena ini merupakan risiko keamanan; itu akan memungkinkan, misalnya, seseorang untuk login ke root melalui telenet, yang mengirimkan kata sandi dalam plaintext (perhatikan bahwa pts / [0-9] * adalah format untuk udev yang digunakan dalam RHEL 5.5; akan berbeda jika menggunakan devfs atau bentuk lain dari manajemen perangkat)
Untuk mode pengguna tunggal, /etc/securetty
tidak dikonsultasikan karena sulogin digunakan sebagai ganti login. Lihat halaman manual sulogin untuk info lebih lanjut. Anda juga dapat mengubah program login yang digunakan /etc/inittab
untuk setiap runlevel.
Perhatikan bahwa untuk Anda sebaiknya tidak menggunakan /etc/securetty
untuk mengontrol login root melalui ssh. Untuk melakukan itu ubah nilai PermitRootLogin di /etc/ssh/sshd_config
. Secara default /etc/pam.d/sshd
tidak dikonfigurasikan untuk berkonsultasi dengan pam_securetty (dan karenanya /etc/securetty
). Anda dapat menambahkan baris untuk melakukannya, tetapi ssh tidak menetapkan tty yang sebenarnya sampai beberapa saat setelah tahap auth, sehingga tidak berfungsi seperti yang diharapkan. Selama tahap auth dan akun - setidaknya untuk openssh - tty (PAM_TTY) hardcoded ke "ssh".
Jawaban di atas didasarkan pada RHEL 5.5. Sebagian besar akan berkaitan dengan distribusi saat ini dari sistem * nix lain, tetapi ada perbedaan, beberapa di antaranya saya catat, tetapi tidak semua.
Saya jawab sendiri karena jawaban yang lain tidak lengkap dan / atau tidak akurat. Banyak forum, blog, dll online lainnya memiliki informasi yang tidak akurat dan tidak lengkap dalam topik ini juga, jadi saya telah melakukan penelitian dan pengujian ekstensif untuk mencoba mendapatkan rincian yang benar. Jika sesuatu yang saya katakan salah, tolong beri tahu saya.
Sumber: