Bagaimana dengan keduanya:
08
Anda kemudian dapat menggabungkan dan mencirikannya dengan:
17
Untuk menghapus tanda hubung tambahan, tambahkan satu pipa lagi:
25
Seperti yang ditunjukkan @mikeserv dalam jawabannya, nama antarmuka dapat berubah di antara boot. Ini berarti bahwa apa yang eth0 hari ini mungkin menjadi eth1 besok, jadi jika Anda memahami 04
Anda mungkin mendapatkan alamat MAC yang berbeda pada boot yang berbeda. Sistem saya tidak berperilaku seperti ini jadi saya tidak bisa benar-benar menguji tetapi solusi yang mungkin adalah:
-
Grep untuk
14
dalam keluaran29
tetapi pertahankan semuanya, bukan hanya yang sesuai dengan NIC tertentu. Misalnya, di sistem saya, saya punya:39
Dengan mengambil kedua alamat MAC dan meneruskannya melalui
37
, Anda harus bisa mendapatkan nama yang unik dan stabil, terlepas dari apa NIC disebut apa:47
Perhatikan bahwa hash berbeda dari yang di atas karena saya meneruskan kedua alamat MAC yang dikembalikan oleh
47
ke55
. -
Buat hash berdasarkan UUID hard drive Anda sebagai gantinya:
56
Pertama, harap dicatat bahwa CPUID pasti bukan penanda pengenal unik yang dapat diakses secara umum untuk sistem apa pun setelah Intel Pentium III. Meskipun hashing dengan alamat MAC dapat menyebabkan penanda unik, ini hanya karena kualitas unik dari MAC itu sendiri dan CPUID dalam hal ini tidak lebih dari keadaan. Selain itu, hash yang dihasilkan sepertinya tidak akan lebih unik dari UUID motherboard, dan itu jauh lebih mudah untuk diambil kembali dan prosesnya jauh lebih rentan terhadap kesalahan. Dari wikipedia.org/wiki/cpuid:
EAX=3 :Nomor Seri Prosesor
Lihat juga:Pentium III § Kontroversi tentang masalah privasi
Ini mengembalikan nomor seri prosesor. Nomor seri prosesor diperkenalkan pada Intel Pentium III, tetapi karena masalah privasi, fitur ini tidak lagi diterapkan pada model yang lebih baru (bit fitur PSN selalu dihapus). Prosesor Efficeon dan Crusoe Transmeta juga menyediakan fitur ini. Namun CPU AMD, tidak mengimplementasikan fitur ini di model CPU mana pun.
Anda dapat melihat cpuid yang diurai sendiri dengan melakukan 69
atau bahkan hanya 78
.
Ini memberi Anda semua alamat MAC untuk antarmuka jaringan yang dikenali oleh kernel linux, menurut saya:
68
Mungkin perlu memfilter daftar itu jika mungkin menyertakan nic virtual dengan MAC yang dibuat secara acak. Anda dapat melakukannya dengan flag dalam panggilan ke 83
secara langsung. Lihat 97
untuk informasi tentang cara melakukannya.
Perhatikan juga bahwa masalah ini tidak unik untuk 102
dan juga harus ditangani jika Anda menggunakan 113
, tetapi dapat ditangani dengan lebih andal dengan 122
- yang merupakan bagian dari 134
suite jaringan dan dipelihara secara aktif - dibandingkan dengan 145
- yang merupakan anggota dari 158
paket dan terakhir melihat rilis Linux pada tahun 2001. Karena perubahan fitur di kernel sejak rilis terakhirnya, 162
diketahui salah melaporkan beberapa flag fitur jaringan dan penggunaannya harus dihindari jika memungkinkan.
Namun, pahamilah bahwa pemfilteran dengan nama antarmuka kernel seperti 172
bukan cara yang dapat diandalkan untuk melakukannya, karena ini dapat berubah berdasarkan urutan deteksi paralelnya dengan 184
selama proses booting. Silakan lihat Nama Jaringan yang Dapat Diprediksi untuk informasi lebih lanjut tentang itu.
Karena 196
tidak terinstal di sistem saya, awalnya saya berpikir untuk mencirikan daftar serial hard disk yang dibuat seperti:
70
Lakukan 205
untuk beberapa petunjuk tentang menyempurnakan daftar itu - menurut jenis disk, katakanlah. Pertimbangkan juga 210
dan/atau 224
mungkin.
Menggabungkannya mudah:
87
Seperti yang telah Anda beri tahukan kepada saya, Anda memasukkan sumber daya pengguna di pihak Anda ke id unik mereka, dan hard disk tidak dapat diandalkan keberadaannya, saya berpikir untuk mengubah taktik saya.
Mengingat itu, saya melihat ke dalam sistem file lagi dan menemukan 237
map. Saya memeriksa beberapa file:
97
Namun, yang ini tampaknya cukup bagus, tetapi saya tidak akan menerbitkan hasilnya:
104
Saya berharap di situlah 241
mendapatkan banyak informasinya dan sebenarnya memang terlihat seperti itu. Menurut 255
Anda juga dapat sangat menyederhanakan penggunaan alat tersebut dengan menentukan argumen:
112
Lebih sederhana lagi, Anda cukup membaca file. Perhatikan bahwa file khusus ini secara khusus mengidentifikasi motherboard. Berikut kutipan dari tambalan kernel 2007 yang awalnya mengimplementasikan ekspor ini ke 264
sistem file virtual:
127
Anda mungkin dapat menggunakan data itu sendiri untuk mengidentifikasi sistem - jika motherboard cukup. Namun Anda dapat menggabungkan informasi ini dengan MAC sistem dengan cara yang sama seperti yang saya tunjukkan yang mungkin Anda lakukan dengan hard disk:
131
Kernel Linux juga dapat menghasilkan UUID untuk Anda:
144
Atau:
156
Memang, ini dibuat secara acak dan Anda harus memikirkan ulang penetapan ID, tetapi ini semudah mendapatkan paling sedikit. Dan itu akan cukup solid jika Anda dapat menemukan cara untuk memasukkannya.
Terakhir, pada sistem UEFI ini menjadi jauh lebih mudah dilakukan - karena setiap variabel lingkungan firmware EFI menyertakan UUID-nya sendiri. Variabel lingkungan 272
harus ada di setiap sistem UEFI, harus tetap melakukan reboot dan bahkan sebagian besar peningkatan dan modifikasi firmware, dan sistem Linux apa pun dengan 288
modul dimuat dapat mencantumkan salah satu atau kedua nama sesederhana:
163
Bentuk lama - 299
tampaknya sekarang sudah tidak digunakan lagi, dan pada sistem yang lebih baru seharusnya 309
tetapi, menurut spesifikasi, satu atau lainnya harus ada di setiap sistem UEFI. Dengan sedikit usaha, Anda dapat menentukan variabel persisten reboot Anda sendiri, dan mungkin lebih banyak menggunakan generator UUID kernel dengan cara itu. Jika tertarik, lihat efitools.
Banyak distribusi modern mengirimkan file 319
berisi string 32 karakter heksadesimal yang paling mungkin unik. Itu berasal dari systemd, di mana halaman manual memiliki lebih banyak informasi, dan mungkin sesuai untuk tujuan Anda.